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. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils