[Bug rtl-optimization/87065] [7/8/9 Regression] combine causes ICE in trunc_int_for_mode
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Aug 24 07:41:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87065
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
It's combines known_cond:
Breakpoint 6, known_cond (x=0x7ffff6a65198, cond=EQ, reg=0x7ffff6a3fa20,
val=0x7ffff6a47930) at /space/rguenther/src/gcc-sccvn/gcc/combine.c:9468
9468 enum rtx_code code = GET_CODE (x);
(gdb) p debug_rtx (x)
(eq:V4SI (reg:V4SI 127 [ vect__6.22 ])
(reg:V4SI 162))
$13 = void
(gdb) p debug_rtx (reg)
(reg:V4SI 127 [ vect__6.22 ])
$14 = void
(gdb) p debug_rtx (val)
(reg:V4SI 162)
...
9517 if (comparison_dominates_p (cond, code))
(gdb)
9518 return const_true_rtx;
neither uses of const_true_rtx nor const0_rtx are correct here. Simplest
solution is to fend off all non-integer compares (mode of x) or to use
appropriately moded results (vector true is {-1, -1 ... }).
More information about the Gcc-bugs
mailing list