[PATCH] [llvm-mc] fix 64-bit mode call disassembly to ignore opcode size prefix
Matthew Barney
m4b.github.io at gmail.com
Fri May 8 19:11:28 PDT 2015
Slightly more robust version, switching on all the relevant opcodes I could find for call/jmp/jcc.
Should probably do an audit of some sort to determine the extent of bad f64 subscript opcode table disassembly.
I'm still uncomfortable reassigning insn->immediateSize and insn->displacementSize in the getID() method, but not sure where else to do this. Removing the ATTR_OPSIZE does not affect jmp and jcc instructions unfortunately, as it does for call.
May need to fix this in the releavnt .td files or perhaps in the readImmediate() method at some point.
Added more unit tests, specifically for jzz cases with 0x66 prefix.
- current revision switches on relevant call/jmp/jcc instructions, and avoids breaking lea, et. al.
- added unit tests for jzz 0x66 cases and removed whitespace;
http://reviews.llvm.org/D9573
Files:
lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp
test/MC/Disassembler/X86/x86-64.txt
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9573.25397.patch
Type: text/x-patch
Size: 3806 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150509/8105b5ec/attachment.bin>
More information about the llvm-commits
mailing list