summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/X86RecognizableInstr.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-02-13 01:48:34 +0000
committerSean Callanan <scallanan@apple.com>2010-02-13 01:48:34 +0000
commit44232af55a8360c5477c24679dccd5a34e89cd11 (patch)
tree853cd2d94645c91c6171de5f987e453157b1e7f5 /llvm/utils/TableGen/X86RecognizableInstr.cpp
parentd0c6d361fec1cf0bf5ac19a4f963e4d0ef662f3d (diff)
downloadbcm5719-llvm-44232af55a8360c5477c24679dccd5a34e89cd11.tar.gz
bcm5719-llvm-44232af55a8360c5477c24679dccd5a34e89cd11.zip
Fixed encodings for invlpg, invept, and invvpid.
llvm-svn: 96065
Diffstat (limited to 'llvm/utils/TableGen/X86RecognizableInstr.cpp')
-rw-r--r--llvm/utils/TableGen/X86RecognizableInstr.cpp39
1 files changed, 7 insertions, 32 deletions
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.cpp b/llvm/utils/TableGen/X86RecognizableInstr.cpp
index 5c2bf772b70..0a85eb8380e 100644
--- a/llvm/utils/TableGen/X86RecognizableInstr.cpp
+++ b/llvm/utils/TableGen/X86RecognizableInstr.cpp
@@ -583,30 +583,6 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const {
case X86Local::MRM_##from: \
filter = new ExactFilter(0x##from); \
break;
-
-#define EXACTCASE(class, name, lastbyte) \
- if (Name == name) { \
- tables.setTableFields(class, \
- insnContext(), \
- Opcode, \
- ExactFilter(lastbyte), \
- UID); \
- Spec->modifierBase = Opcode; \
- return; \
- }
-
- EXACTCASE(TWOBYTE, "INVEPT", 0x80)
- EXACTCASE(TWOBYTE, "INVVPID", 0x81)
-
- if (Name == "INVLPG") {
- tables.setTableFields(TWOBYTE,
- insnContext(),
- Opcode,
- ExtendedFilter(false, 7),
- UID);
- Spec->modifierBase = Opcode;
- return;
- }
OpcodeType opcodeType = (OpcodeType)-1;
@@ -621,6 +597,12 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const {
opcodeType = TWOBYTE;
switch (Opcode) {
+ default:
+ if (needsModRMForDecode(Form))
+ filter = new ModFilter(isRegFormat(Form));
+ else
+ filter = new DumbFilter();
+ break;
#define EXTENSION_TABLE(n) case 0x##n:
TWO_BYTE_EXTENSION_TABLES
#undef EXTENSION_TABLE
@@ -650,14 +632,7 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const {
MRM_MAPPING
} // switch (Form)
break;
- default:
- if (needsModRMForDecode(Form))
- filter = new ModFilter(isRegFormat(Form));
- else
- filter = new DumbFilter();
-
- break;
- } // switch (opcode)
+ } // switch (Opcode)
opcodeToSet = Opcode;
break;
case X86Local::T8:
OpenPOWER on IntegriCloud