https://sourceware.org/bugzilla/show_bug.cgi?id=32722
Bug ID: 32722 Summary: [objdump] vmovdqu considered to have 24-bit displacement Product: binutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: vries at gcc dot gnu.org Target Milestone: --- Consider the following test-case: ... $ cat test.s .file "test.c" .text .globl main .type main, @function main: .byte 0xc5 .byte 0xfe .byte 0x6f .byte 0x0d .byte 0xff .byte 0xff .byte 0xff .byte 0xff .size main, .-main .ident "GCC: (SUSE Linux) 7.5.0" .section .note.GNU-stack,"",@progbits ... Compiled with: ... $ gcc test.s -c ... Objdump thinks the instruction is 7 bytes long: ... $ objdump -d test.o ... 0000000000000000 <main>: 0: c5 fe 6f 0d ff ff ff vmovdqu -0x1(%rip),%ymm1 7: ff ... However, llvm-objdump thinks it's 8 bytes long: ... $ llvm-objdump -d test.o ... 0000000000000000 <main>: 0: c5 fe 6f 0d ff ff ff ff vmovdqu -0x1(%rip), %ymm1 ... GDB likewise: ... $ gdb -q -batch test.o -ex "disassemble /r main" Dump of assembler code for function main: 0x0000000000000000 <+0>: c5 fe 6f 0d ff ff ff ff vmovdqu -0x1(%rip),%ymm1 End of assembler dump. ... The instruction is in fact 8 bytes long. It consists of: - c5 fe: vex2 prefix - 6f : opcode - 0d : modrm - ff ff ff ff: 32-bit displacement -- You are receiving this mail because: You are on the CC list for the bug.