diff options
author | Craig Topper <craig.topper@gmail.com> | 2012-02-09 08:58:07 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2012-02-09 08:58:07 +0000 |
commit | f41ab77847251f1ca88142b4e9cba597f9c094a8 (patch) | |
tree | e501a68ed281dc3cd25092c22248b581e6be8482 /lib/Target/X86/Disassembler/X86DisassemblerDecoder.c | |
parent | ce8f4c58d8804ee2cfda7751cdc6520bc5f43dd7 (diff) |
More tweaks to get the size of the X86 disassembler tables down.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150167 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/Disassembler/X86DisassemblerDecoder.c')
-rw-r--r-- | lib/Target/X86/Disassembler/X86DisassemblerDecoder.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c index 9a628f2163..a7becdb2c7 100644 --- a/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c +++ b/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c @@ -136,6 +136,10 @@ static InstrUID decode(OpcodeType type, if (modFromModRM(modRM) == 0x3) return modRMTable[dec->instructionIDs+1]; return modRMTable[dec->instructionIDs]; + case MODRM_SPLITREG: + if (modFromModRM(modRM) == 0x3) + return modRMTable[dec->instructionIDs+((modRM & 0x38) >> 3)+8]; + return modRMTable[dec->instructionIDs+((modRM & 0x38) >> 3)]; case MODRM_FULL: return modRMTable[dec->instructionIDs+modRM]; } |