diff options
author | Sean Callanan <scallanan@apple.com> | 2010-02-13 01:48:34 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2010-02-13 01:48:34 +0000 |
commit | 44232af55a8360c5477c24679dccd5a34e89cd11 (patch) | |
tree | 853cd2d94645c91c6171de5f987e453157b1e7f5 /llvm/utils/TableGen/X86RecognizableInstr.cpp | |
parent | d0c6d361fec1cf0bf5ac19a4f963e4d0ef662f3d (diff) | |
download | bcm5719-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.cpp | 39 |
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: |