diff options
author | Craig Topper <craig.topper@gmail.com> | 2014-01-31 07:00:55 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2014-01-31 07:00:55 +0000 |
commit | ec68866f5566bc071770d800350de05ddb58e555 (patch) | |
tree | 5e23ec9901743918bc725bcb1251ff5479794048 /llvm/utils/TableGen/X86RecognizableInstr.cpp | |
parent | d0d01c66ba0105090b58d1eec8cc3df4d4aa321e (diff) | |
download | bcm5719-llvm-ec68866f5566bc071770d800350de05ddb58e555.tar.gz bcm5719-llvm-ec68866f5566bc071770d800350de05ddb58e555.zip |
Move REP out of the Prefix field of the X86 format. Give it its own bit. It had special handling anyway and this enables a future patch.
llvm-svn: 200520
Diffstat (limited to 'llvm/utils/TableGen/X86RecognizableInstr.cpp')
-rw-r--r-- | llvm/utils/TableGen/X86RecognizableInstr.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.cpp b/llvm/utils/TableGen/X86RecognizableInstr.cpp index e0b4be2eb39..f84fafdde10 100644 --- a/llvm/utils/TableGen/X86RecognizableInstr.cpp +++ b/llvm/utils/TableGen/X86RecognizableInstr.cpp @@ -77,7 +77,6 @@ namespace X86Local { enum { TB = 1, - REP = 2, D8 = 3, D9 = 4, DA = 5, DB = 6, DC = 7, DD = 8, DE = 9, DF = 10, XD = 11, XS = 12, @@ -250,6 +249,7 @@ RecognizableInstr::RecognizableInstr(DisassemblerTables &tables, HasEVEX_KZ = Rec->getValueAsBit("hasEVEX_Z"); HasEVEX_B = Rec->getValueAsBit("hasEVEX_B"); HasLockPrefix = Rec->getValueAsBit("hasLockPrefix"); + HasREPPrefix = Rec->getValueAsBit("hasREPPrefix"); IsCodeGenOnly = Rec->getValueAsBit("isCodeGenOnly"); ForceDisassemble = Rec->getValueAsBit("ForceDisassemble"); @@ -480,7 +480,7 @@ InstructionContext RecognizableInstr::insnContext() const { Prefix == X86Local::TAXD) insnContext = IC_XD; else if (Prefix == X86Local::XS || Prefix == X86Local::T8XS || - Prefix == X86Local::REP) + HasREPPrefix) insnContext = IC_XS; else insnContext = IC; @@ -1090,7 +1090,6 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const { filter = new ExactFilter(Opcode); opcodeToSet = 0xd8 + (Prefix - X86Local::D8); break; - case X86Local::REP: case 0: opcodeType = ONEBYTE; switch (Opcode) { |