bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/18737] New: Wrong memory operand size for x86 GATHER/SCATTER in


From: m at rolle dot name
Subject: [Bug gas/18737] New: Wrong memory operand size for x86 GATHER/SCATTER instructions
Date: Wed, 29 Jul 2015 20:13:01 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=18737

            Bug ID: 18737
           Summary: Wrong memory operand size for x86 GATHER/SCATTER
                    instructions
           Product: binutils
           Version: 2.24
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: m at rolle dot name
  Target Milestone: ---

gather/scatter instructions require a memory size to match the vector register
size.  However, the memory size is actually the element size, according to
Intel doc.  as will accept memory operand without a size specifier.

vgatherqps ymm30{k1},DWORD PTR [rcx+zmm31*4+0x400]  # Error: operand size
mismatch for `vgatherqps'
vgatherqps ymm30{k1},YMMWORD PTR [rcx+zmm31*4+0x400]
vgatherqps ymm30{k1},[rcx+zmm31*4+0x400]
vscatterqps DWORD PTR [rcx+zmm31*4+0x400]{k1},ymm30   # Error: operand size
mismatch for `vscatterqps'
vscatterqps YMMWORD PTR [rcx+zmm31*4+0x400]{k1},ymm30
vscatterqps [rcx+zmm31*4+0x400]{k1},ymm30

If possible, why don't you accept both the vector size and the element size. 
Otherwise, please change the vector size to the element size.

Does not produce incorrect code, but it is serious because it will not assemble
a valid instruction according to the Intel doc.

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]