X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FMips%2FMipsMSAInstrFormats.td;h=7d25ea56e3d5e995fcc9fd4afa63e1308bea72bb;hb=16d4cc83c30485f28bb37715930c4302749d23b1;hp=6bd0366b52e7b0c8a5ff654a667e379a7cdbe230;hpb=3f14ca5e3027bae10203ea02e716a1a4c6fddf80;p=oota-llvm.git diff --git a/lib/Target/Mips/MipsMSAInstrFormats.td b/lib/Target/Mips/MipsMSAInstrFormats.td index 6bd0366b52e..7d25ea56e3d 100644 --- a/lib/Target/Mips/MipsMSAInstrFormats.td +++ b/lib/Target/Mips/MipsMSAInstrFormats.td @@ -7,18 +7,12 @@ // //===----------------------------------------------------------------------===// -def HasMSA : Predicate<"Subtarget.hasMSA()">, - AssemblerPredicate<"FeatureMSA">; - -class MSAInst : MipsInst<(outs), (ins), "", [], NoItinerary, FrmOther> { - let Predicates = [HasMSA]; +class MSAInst : MipsInst<(outs), (ins), "", [], NoItinerary, FrmOther>, + PredicateControl, ASE_MSA { + let EncodingPredicates = [HasStdEnc]; let Inst{31-26} = 0b011110; } -class MSA64Inst : MSAInst { - let Predicates = [HasMSA, HasMips64]; -} - class MSACBranch : MSAInst { let Inst{31-26} = 0b010001; } @@ -27,10 +21,6 @@ class MSASpecial : MSAInst { let Inst{31-26} = 0b000000; } -class MSA64Special : MSA64Inst { - let Inst{31-26} = 0b000000; -} - class MSAPseudo pattern, InstrItinClass itin = IIPseudo>: MipsPseudo { @@ -100,7 +90,7 @@ class MSA_2R_FILL_FMT major, bits<2> df, bits<6> minor>: MSAInst { let Inst{5-0} = minor; } -class MSA_2R_FILL_D_FMT major, bits<2> df, bits<6> minor>: MSA64Inst { +class MSA_2R_FILL_D_FMT major, bits<2> df, bits<6> minor>: MSAInst { bits<5> rs; bits<5> wd; @@ -293,7 +283,7 @@ class MSA_ELM_COPY_W_FMT major, bits<6> minor>: MSAInst { let Inst{5-0} = minor; } -class MSA_ELM_COPY_D_FMT major, bits<6> minor>: MSA64Inst { +class MSA_ELM_COPY_D_FMT major, bits<6> minor>: MSAInst { bits<4> n; bits<5> ws; bits<5> rd; @@ -345,7 +335,7 @@ class MSA_ELM_INSERT_W_FMT major, bits<6> minor>: MSAInst { let Inst{5-0} = minor; } -class MSA_ELM_INSERT_D_FMT major, bits<6> minor>: MSA64Inst { +class MSA_ELM_INSERT_D_FMT major, bits<6> minor>: MSAInst { bits<6> n; bits<5> rs; bits<5> wd; @@ -450,7 +440,7 @@ class SPECIAL_LSA_FMT minor>: MSASpecial { let Inst{5-0} = minor; } -class SPECIAL_DLSA_FMT minor>: MSA64Special { +class SPECIAL_DLSA_FMT minor>: MSASpecial { bits<5> rs; bits<5> rt; bits<5> rd;