aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
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
commitf41ab77847251f1ca88142b4e9cba597f9c094a8 (patch)
treee501a68ed281dc3cd25092c22248b581e6be8482 /lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
parentce8f4c58d8804ee2cfda7751cdc6520bc5f43dd7 (diff)
downloadexternal_llvm-f41ab77847251f1ca88142b4e9cba597f9c094a8.zip
external_llvm-f41ab77847251f1ca88142b4e9cba597f9c094a8.tar.gz
external_llvm-f41ab77847251f1ca88142b4e9cba597f9c094a8.tar.bz2
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/X86DisassemblerDecoderCommon.h')
-rw-r--r--lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h b/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
index a7ef0cc..d6b23c0 100644
--- a/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
+++ b/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
@@ -156,6 +156,8 @@ typedef uint16_t InstrUID;
* MODRM_SPLITRM - If the ModR/M byte is between 0x00 and 0xbf, the opcode
* corresponds to one instruction; otherwise, it corresponds to
* a different instruction.
+ * MODRM_SPLITREG - ModR/M byte divided by 8 is used to select instruction. This
+ corresponds to instructions that use reg field as opcode
* MODRM_FULL - Potentially, each value of the ModR/M byte could correspond
* to a different instruction.
*/
@@ -163,6 +165,7 @@ typedef uint16_t InstrUID;
#define MODRMTYPES \
ENUM_ENTRY(MODRM_ONEENTRY) \
ENUM_ENTRY(MODRM_SPLITRM) \
+ ENUM_ENTRY(MODRM_SPLITREG) \
ENUM_ENTRY(MODRM_FULL)
#define ENUM_ENTRY(n) n,