X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FX86RecognizableInstr.cpp;h=ab97a5f5433c767768679d875eb9842c00b713b8;hb=aab59870a4f57f3d3246c858cb775766e38f0795;hp=75bf41307746ac3cb98107a46c2cb82b1887d5c4;hpb=adb7d3b49b4250a3b072ee82ca15bf8592ab8f4c;p=oota-llvm.git diff --git a/utils/TableGen/X86RecognizableInstr.cpp b/utils/TableGen/X86RecognizableInstr.cpp index 75bf4130774..ab97a5f5433 100644 --- a/utils/TableGen/X86RecognizableInstr.cpp +++ b/utils/TableGen/X86RecognizableInstr.cpp @@ -230,7 +230,6 @@ RecognizableInstr::RecognizableInstr(DisassemblerTables &tables, Prefix = byteFromRec(Rec, "Prefix"); Opcode = byteFromRec(Rec, "Opcode"); Form = byteFromRec(Rec, "FormBits"); - SegOvr = byteFromRec(Rec, "SegOvrBits"); HasOpSizePrefix = Rec->getValueAsBit("hasOpSizePrefix"); HasAdSizePrefix = Rec->getValueAsBit("hasAdSizePrefix"); @@ -457,6 +456,8 @@ InstructionContext RecognizableInstr::insnContext() const { else if (HasOpSizePrefix && (Prefix == X86Local::XS || Prefix == X86Local::T8XS)) insnContext = IC_XS_OPSIZE; + else if (HasOpSizePrefix && HasAdSizePrefix) + insnContext = IC_OPSIZE_ADSIZE; else if (HasOpSizePrefix) insnContext = IC_OPSIZE; else if (HasAdSizePrefix) @@ -490,12 +491,6 @@ RecognizableInstr::filter_ret RecognizableInstr::filter() const { // Filter out artificial instructions but leave in the LOCK_PREFIX so it is // printed as a separate "instruction". - // Filter out instructions with segment override prefixes. - // They're too messy to handle now and we'll special case them if needed. - - if (SegOvr) - return FILTER_STRONG; - ///////////////// // FILTER_WEAK