summaryrefslogtreecommitdiff
path: root/utils/TableGen
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2013-03-11 21:17:13 +0000
committerKevin Enderby <enderby@apple.com>2013-03-11 21:17:13 +0000
commit12dccaed9c0368f4f5ef4312c32b375c725c9daf (patch)
tree1fb4c73cba047529308c30884ddf8245b2fe175c /utils/TableGen
parentd5bb20805e03cff03bfa3f85f189cbc8fb4a769a (diff)
downloadllvm-12dccaed9c0368f4f5ef4312c32b375c725c9daf.tar.gz
llvm-12dccaed9c0368f4f5ef4312c32b375c725c9daf.tar.bz2
llvm-12dccaed9c0368f4f5ef4312c32b375c725c9daf.tar.xz
Fixes disassembler crashes on 2013 Haswell RTM instructions.
rdar://13318048 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176828 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen')
-rw-r--r--utils/TableGen/X86RecognizableInstr.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/utils/TableGen/X86RecognizableInstr.cpp b/utils/TableGen/X86RecognizableInstr.cpp
index b00f7ea2ba..8471faaaf6 100644
--- a/utils/TableGen/X86RecognizableInstr.cpp
+++ b/utils/TableGen/X86RecognizableInstr.cpp
@@ -764,6 +764,17 @@ void RecognizableInstr::emitInstructionSpecifier(DisassemblerTables &tables) {
HANDLE_OPERAND(immediate)
HANDLE_OPERAND(immediate)
break;
+ case X86Local::MRM_F8:
+ if (Opcode == 0xc6) {
+ assert(numPhysicalOperands == 1 &&
+ "Unexpected number of operands for X86Local::MRM_F8");
+ HANDLE_OPERAND(immediate)
+ } else if (Opcode == 0xc7) {
+ assert(numPhysicalOperands == 1 &&
+ "Unexpected number of operands for X86Local::MRM_F8");
+ HANDLE_OPERAND(relocation)
+ }
+ break;
case X86Local::MRMInitReg:
// Ignored.
break;