https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101737
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
CC| |marxin at gcc dot gnu.org
Last reconfirmed| |2021-08-03
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, reduced test-case:
$ cat pr101737.c
int fast_composite_scaled_nearest_8888_8888_cover_SRC_info_1,
fast_composite_scaled_nearest_8888_8888_cover_SRC_info_0,
fast_composite_scaled_nearest_8888_8888_cover_SRC_dst;
void
fast_composite_scaled_nearest_8888_8888_cover_SRC() {
int width =
fast_composite_scaled_nearest_8888_8888_cover_SRC_info_0;
while (fast_composite_scaled_nearest_8888_8888_cover_SRC_info_1) {
int w = fast_composite_scaled_nearest_8888_8888_cover_SRC_info_0;
while ((w -= 2) >= 0)
fast_composite_scaled_nearest_8888_8888_cover_SRC_dst++;
if (w & 1)
fast_composite_scaled_nearest_8888_8888_cover_SRC_dst = 0;
}
}
crash happens for the following RTX instruction:
(code_label 40 31 87 4 5 (nil) [1 uses])
bool
sh_is_nott_insn (const rtx_insn* i)
{
return i != NULL && GET_CODE (PATTERN (i)) == SET
&& t_reg_operand (XEXP (PATTERN (i), 0), VOIDmode)
&& negt_reg_operand (XEXP (PATTERN (i), 1), VOIDmode);
}