[Bug target/90028] On Intel Skylake (-march=native) generated avx512 instruction can be wrong
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 10 09:12:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
--- Comment #15 from Martin Liška <marxin at gcc dot gnu.org> ---
Fixed in bintuils with:
commit 629cfaf1b0fbb32a985607c774bd8e7870b9fa94 (HEAD, refs/bisect/bad)
Author: Jan Beulich <jbeulich@novell.com>
Date: Mon Jul 30 17:25:05 2018 +0200
x86: don't mistakenly scale non-8-bit displacements
In commit b5014f7af2 I've removed (instead of replaced) a conditional,
resulting in addressing forms not allowing 8-bit displacements to now
get their displacements scaled under certain circumstances. Re-add the
missing conditional.
Minimal reproducer:
$ cat min.s
.text
foo:
vpgatherqq 8(,%ymm1,1), %ymm0{%k2}
$ ./gas/as-new --64 min.s -o avx512.o && ./binutils/objdump -S avx512.o
avx512.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <foo>:
0: 62 f2 fd 2a 91 04 0d vpgatherqq 0x1(,%ymm1,1),%ymm0{%k2}
7: 01 00 00 00
More information about the Gcc-bugs
mailing list