This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/70354] [6 Regression] Wrong code with -O3 -march=broadwell and -march=skylake-avx512.
- From: "ienkovich at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 22 Mar 2016 13:30:59 +0000
- Subject: [Bug target/70354] [6 Regression] Wrong code with -O3 -march=broadwell and -march=skylake-avx512.
- Auto-submitted: auto-generated
- References: <bug-70354-4 at http dot gcc dot gnu dot org/bugzilla/>
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?