https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70354
Ilya Enkovich <ienkovich at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ienkovich at gcc dot gnu.org --- Comment #7 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- Running with -fsanitize=undefined I get: pr70354.c:25:30: runtime error: left shift of negative value -1725558902283030715 pr70354.c:25:19: runtime error: shift exponent 1729382256910270464 is too large for 64-bit type 'long int' pr70354.c:27:25: runtime error: left shift of negative value -1725558902283030715 pr70354.c:28:26: runtime error: left shift of negative value -1725558902283030715 In scalar code we use the lowest byte as a shift operand producing some non-zero value. In vector code it behaves differently and produces 0. Invalid then?