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

--- Comment #9 from Robin Dapp <rdapp at gcc dot gnu.org> ---
I suspect the problem lies somewhere here:

  _11 = .VEC_EXTRACT (mask__83.22_110, 0);
  _23 = MEM[(short int *)&t + 20B];
  _24 = _23 & _132;
  _25 = _24 != 0;
  _121 = (<signed-boolean:1>) _25;
  _157 = _11 ^ _121;

For
  _121 = (<signed-boolean:1>) _25;
we seem to be negating a 1 to a -1.  Once the -1 is xor'ed with 1 the result is
-2 instead of the expected 0.  It's not the negation itself but rather the
whole sequence leading to it.

Reply via email to