[llvm-dev] [BUG] Mismatch between assembler & disassembler of X86 RIP-relative instruction

Jun Koi via llvm-dev llvm-dev at lists.llvm.org
Sun May 22 23:44:53 PDT 2016


I found a mismatch between assembler & disassembler of X86: I assembled an
instruction, then disassembled the output, but the result is not the same
as the first original code: "add qword ptr [205163983024656], 1" vs " add
qword ptr [1985229328], 1"

Anybody knows what is wrong?


$ echo "ADD QWORD PTR [0xba9876543210], 0x1"|llvm-mc -assemble
-triple=x86_64 -x86-asm-syntax=intel -output-asm-variant=1
    add    qword ptr [205163983024656], 1 #

$ echo "0x48,0x83,0x04,0x25,0x10,0x32,0x54,0x76,0x01"|llvm-mc -disassemble
-triple=x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding
    add    qword ptr [1985229328], 1 # encoding:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160523/95953d0e/attachment.html>

More information about the llvm-dev mailing list