summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2012-02-09 08:58:07 +0000
committerCraig Topper <craig.topper@gmail.com>2012-02-09 08:58:07 +0000
commita0cd970b81ea0a292f0fbbe7f0113746bfe8de5a (patch)
tree4607198da6f42169bf15c5981ed92de796f6c786 /llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
parent410d6af9949ba556985c3b0ba5ea186cdecf2e02 (diff)
downloadbcm5719-llvm-a0cd970b81ea0a292f0fbbe7f0113746bfe8de5a.tar.gz
bcm5719-llvm-a0cd970b81ea0a292f0fbbe7f0113746bfe8de5a.zip
More tweaks to get the size of the X86 disassembler tables down.
llvm-svn: 150167
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c')
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c b/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
index 9a628f2163d..a7becdb2c70 100644
--- a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
+++ b/llvm/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];
}
OpenPOWER on IntegriCloud