bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/24626] New: gas/objdump does not check for reserved vex.vvvv bi


From: hgreving at google dot com
Subject: [Bug gas/24626] New: gas/objdump does not check for reserved vex.vvvv bits.
Date: Wed, 29 May 2019 00:06:17 +0000

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

            Bug ID: 24626
           Summary: gas/objdump does not check for reserved vex.vvvv bits.
           Product: binutils
           Version: 2.32
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: hgreving at google dot com
  Target Milestone: ---

gas and objdump don't seem to check the vex.vvvv and evex.vvvv bits if their
encoding is reserved:

main.s:
.byte 0xc4
.byte 0xe2
.byte 0x1
.byte 0x1c
.byte 0x41
.byte 0x37

as-new --64 main.s
objdump -d a.out
[..]
c4 e2 01 1c 41 37       vpabsb 0x37(%rcx),%xmm0

Intel's manual states that "VEX.vvvv and EVEX.vvvv are reserved and must be
1111b otherwise instructions will #UD." I suppose this means the inverted
version of the vvvv bits.

llvm-mc for example is correct:

echo '0xc4 0xe2 0x1 0x1c 0x41 0x37' | llvm-mc-7 --disassemble -triple=x86_64
        .text
<stdin>:1:1: warning: invalid instruction encoding
0xc4 0xe2 0x1 0x1c 0x41 0x37
^

echo '0xc4 0xe2 0x79 0x1c 0x41 0x37' | llvm-mc-7 --disassemble -triple=x86_64
        .text
        vpabsb  55(%rcx), %xmm0

-- 
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]