[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug gas/24626] New: gas/objdump does not check for reserved vex.vvvv bits.,
hgreving at google dot com <=