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 <jbeul...@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

Reply via email to