https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96512
--- Comment #6 from N Schaeffer <nathanael.schaeffer at gmail dot com> --- Hello, Working further on this, it seems to be a problem in the assembler step, but only on some installations. I have a system where gcc 8.3 to 9 and 10 are good (no bug), while another system where gcc 8.3, 9.1 and 10.1 are NOT good (bug!) On the buggy system, when doing: gcc -O1 -D_GCC_VEC_=1 -march=skylake-avx512 -c bug_gcc_avx512.c and disasembling with gdb, one can see the offending instruction has been generated: vbroadcastsd 0x1(,%r8,8),%zmm but when outputing assembly code like so: gcc -O1 -D_GCC_VEC_=1 -march=skylake-avx512 -S bug_gcc_avx512.c the instruction in the bug_gcc_avx512.s file reads: vbroadcastsd 8(,%r8,8), %zmm0 invoking now the assembler: as bug_gcc_avx512.s, the offending instruction is indeed generated. vbroadcastsd 0x1(,%r8,8),%zmm0 So here are the "as --version" on various systems: GNU assembler version 2.27-41.base.el7_7.3 ==> NO BUG GNU assembler (GNU Binutils for Debian) 2.28 ==> NO BUG GNU assembler version 2.30-58.el8_1.2 ==> BUG! Assembleur GNU (GNU Binutils) 2.34 ==> NO BUG Assembleur GNU (GNU Binutils) 2.35 ==> NO BUG Maybe I should post this bug report somewhere else?