http://sourceware.org/bugzilla/show_bug.cgi?id=15229
Bug #: 15229
Summary: objdump -d allows invalid avx2 vgatherdpd w/o vsib
Product: binutils
Version: 2.24 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: binutils
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
I would expect an AVX2 VSIB-using instruction like VGATHERDPD to be flagged by
objdump as invalid if its ModR/M is of a form that doesn't have a (V)SIB, but
objdump instead disassembles it without complaint:
> cat vsib-test.s
.text
# this should disassemble as "vgatherdpd %xmm2,(%rax,%xmm7,2),%xmm1"
.byte 0xc4,0xe2,0xe9,0x92,0x0c,0x78
# this should be flagged as invalid
.byte 0xc4,0xe2,0xe9,0x92,0x08
> gas/as-new -o vsib-test.o ../vsib-test.s
> binutils/objdump -d vsib-test.o
vsib-test.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <.text>:
0: c4 e2 e9 92 0c 78 vgatherdpd %xmm2,(%rax,%xmm7,2),%xmm1
6: c4 e2 e9 92 08 vgatherdpd %xmm2,(%rax),%xmm1
That last instruction is invalid and will be rejected by gas if you try to
assemble it.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils