https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87065

--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> ---
So this is when trying

Trying 60, 63 -> 67:
   60: r163:V4SI=r127:V4SI==r162:V4SI
      REG_DEAD r127:V4SI
      REG_EQUAL r127:V4SI==const_vector
   63: r164:V4SI=r188:V4SI-r163:V4SI
   67: r166:V4SI={(r163:V4SI)?r164:V4SI:r190:V4SI}
      REG_DEAD r164:V4SI
      REG_DEAD r163:V4SI

That looks fine as far as I see.


but, gdb on it:

(gdb) frame 6
#6  0x0000000000dbf196 in simplify_binary_operation(rtx_code, machine_mode,
rtx_def*, rtx_def*) () at /home/segher/src/gcc/gcc/simplify-rtx.c:2167
2167      tem = simplify_binary_operation_1 (code, mode, op0, op1, trueop0,
trueop1);
(gdb) p op0
$1 = (rtx) 0x7ffff04e6f30
(gdb) pr
(reg:V4SI 188)
(gdb) p op1
$2 = (rtx) 0x7ffff03254a0
(gdb) pr
(const_int 1 [0x1])

It is using the "==" as a const_int, while it should be a const_vector here?

Reply via email to