[Bug tree-optimization/83580] [6/7/8 Regression] Wrong code caused by vectorization
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 2 10:37:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83580
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This goes wrong during pcom:
<bb 9> [local count: 136902083]:
+ _26 = (unsigned char) t_29;
+ _25 = -_26;
+ _34 = (signed char) _25;
+ _33 = (sizetype) _34;
+ _53 = _33 * 4;
+ _54 = &a + _53;
+ a_I_lsm0.9_55 = MEM[(int *)_54 + 520B];
<bb 3> [local count: 912680551]:
# i_52 = PHI <0(9), i_32(10)>
_2 = (unsigned char) t_29;
_3 = 130 - _2;
_4 = (signed char) _3;
_5 = (int) _4;
- t_31 = a[_5];
+ t_31 = a_I_lsm0.9_55;
is of course invalid, because it performs the + 130 addition in sizetype rather
than before the (signed char) cast.
More information about the Gcc-bugs
mailing list