#ifdef GET_GLOBALISEL_PREDICATE_BITSET
const unsigned MAX_SUBTARGET_PREDICATES = …;
PredicateBitset;
#endif
#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
mutable MatcherState State;
typedef ComplexRendererFns(MipsInstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
typedef void(MipsInstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
static MipsInstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
static MipsInstructionSelector::CustomRendererFn CustomRenderers[];
bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override;
bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override;
bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override;
const uint8_t *getMatchTable() const override;
bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override;
bool testSimplePredicate(unsigned PredicateID) const override;
bool runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override;
#endif
#ifdef GET_GLOBALISEL_TEMPORARIES_INIT
, State(0),
ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
#endif
#ifdef GET_GLOBALISEL_IMPL
enum {
GILLT_s16,
GILLT_s32,
GILLT_s64,
GILLT_v2s16,
GILLT_v2s64,
GILLT_v4s8,
GILLT_v4s32,
GILLT_v8s16,
GILLT_v16s8,
};
const static size_t NumTypeObjects = 9;
const static LLT TypeObjects[] = {
LLT::scalar(16),
LLT::scalar(32),
LLT::scalar(64),
LLT::vector(ElementCount::getFixed(2), 16),
LLT::vector(ElementCount::getFixed(2), 64),
LLT::vector(ElementCount::getFixed(4), 8),
LLT::vector(ElementCount::getFixed(4), 32),
LLT::vector(ElementCount::getFixed(8), 16),
LLT::vector(ElementCount::getFixed(16), 8),
};
enum SubtargetFeatureBits : uint8_t {
Feature_HasMips2Bit = 7,
Feature_HasMips3Bit = 17,
Feature_HasMips4_32Bit = 27,
Feature_NotMips4_32Bit = 28,
Feature_HasMips4_32r2Bit = 18,
Feature_HasMips32Bit = 3,
Feature_HasMips32r2Bit = 6,
Feature_HasMips32r6Bit = 29,
Feature_NotMips32r6Bit = 4,
Feature_IsGP64bitBit = 22,
Feature_IsPTR64bitBit = 24,
Feature_HasMips64Bit = 25,
Feature_HasMips64r2Bit = 23,
Feature_HasMips64r6Bit = 30,
Feature_NotMips64r6Bit = 5,
Feature_InMips16ModeBit = 31,
Feature_NotInMips16ModeBit = 0,
Feature_HasCnMipsBit = 26,
Feature_NotCnMipsBit = 8,
Feature_IsSym32Bit = 38,
Feature_IsSym64Bit = 39,
Feature_IsN64Bit = 40,
Feature_RelocNotPICBit = 9,
Feature_RelocPICBit = 37,
Feature_NoNaNsFPMathBit = 21,
Feature_UseAbsBit = 14,
Feature_HasStdEncBit = 1,
Feature_NotDSPBit = 11,
Feature_InMicroMipsBit = 35,
Feature_NotInMicroMipsBit = 2,
Feature_IsLEBit = 42,
Feature_IsBEBit = 43,
Feature_IsNotNaClBit = 19,
Feature_HasEVABit = 36,
Feature_HasMSABit = 34,
Feature_HasMadd4Bit = 20,
Feature_UseIndirectJumpsHazardBit = 12,
Feature_NoIndirectJumpGuardsBit = 10,
Feature_AllowFPOpFusionBit = 41,
Feature_IsFP64bitBit = 16,
Feature_NotFP64bitBit = 15,
Feature_IsNotSoftFloatBit = 13,
Feature_HasDSPBit = 32,
Feature_HasDSPR2Bit = 33,
};
PredicateBitset MipsInstructionSelector::
computeAvailableModuleFeatures(const MipsSubtarget *Subtarget) const {
PredicateBitset Features{};
if (Subtarget->hasMips2())
Features.set(Feature_HasMips2Bit);
if (Subtarget->hasMips3())
Features.set(Feature_HasMips3Bit);
if (Subtarget->hasMips4_32())
Features.set(Feature_HasMips4_32Bit);
if (!Subtarget->hasMips4_32())
Features.set(Feature_NotMips4_32Bit);
if (Subtarget->hasMips4_32r2())
Features.set(Feature_HasMips4_32r2Bit);
if (Subtarget->hasMips32())
Features.set(Feature_HasMips32Bit);
if (Subtarget->hasMips32r2())
Features.set(Feature_HasMips32r2Bit);
if (Subtarget->hasMips32r6())
Features.set(Feature_HasMips32r6Bit);
if (!Subtarget->hasMips32r6())
Features.set(Feature_NotMips32r6Bit);
if (Subtarget->isGP64bit())
Features.set(Feature_IsGP64bitBit);
if (Subtarget->isABI_N64())
Features.set(Feature_IsPTR64bitBit);
if (Subtarget->hasMips64())
Features.set(Feature_HasMips64Bit);
if (Subtarget->hasMips64r2())
Features.set(Feature_HasMips64r2Bit);
if (Subtarget->hasMips64r6())
Features.set(Feature_HasMips64r6Bit);
if (!Subtarget->hasMips64r6())
Features.set(Feature_NotMips64r6Bit);
if (Subtarget->inMips16Mode())
Features.set(Feature_InMips16ModeBit);
if (!Subtarget->inMips16Mode())
Features.set(Feature_NotInMips16ModeBit);
if (Subtarget->hasCnMips())
Features.set(Feature_HasCnMipsBit);
if (!Subtarget->hasCnMips())
Features.set(Feature_NotCnMipsBit);
if (Subtarget->hasSym32())
Features.set(Feature_IsSym32Bit);
if (!Subtarget->hasSym32())
Features.set(Feature_IsSym64Bit);
if (Subtarget->isABI_N64())
Features.set(Feature_IsN64Bit);
if (!TM.isPositionIndependent())
Features.set(Feature_RelocNotPICBit);
if (TM.isPositionIndependent())
Features.set(Feature_RelocPICBit);
if (TM.Options.NoNaNsFPMath)
Features.set(Feature_NoNaNsFPMathBit);
if (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath)
Features.set(Feature_UseAbsBit);
if (Subtarget->hasStandardEncoding())
Features.set(Feature_HasStdEncBit);
if (!Subtarget->hasDSP())
Features.set(Feature_NotDSPBit);
if (Subtarget->inMicroMipsMode())
Features.set(Feature_InMicroMipsBit);
if (!Subtarget->inMicroMipsMode())
Features.set(Feature_NotInMicroMipsBit);
if (Subtarget->isLittle())
Features.set(Feature_IsLEBit);
if (!Subtarget->isLittle())
Features.set(Feature_IsBEBit);
if (!Subtarget->isTargetNaCl())
Features.set(Feature_IsNotNaClBit);
if (Subtarget->hasEVA())
Features.set(Feature_HasEVABit);
if (Subtarget->hasMSA())
Features.set(Feature_HasMSABit);
if (!Subtarget->disableMadd4())
Features.set(Feature_HasMadd4Bit);
if (Subtarget->useIndirectJumpsHazard())
Features.set(Feature_UseIndirectJumpsHazardBit);
if (!Subtarget->useIndirectJumpsHazard())
Features.set(Feature_NoIndirectJumpGuardsBit);
if (TM.Options.AllowFPOpFusion == FPOpFusion::Fast)
Features.set(Feature_AllowFPOpFusionBit);
if (Subtarget->isFP64bit())
Features.set(Feature_IsFP64bitBit);
if (!Subtarget->isFP64bit())
Features.set(Feature_NotFP64bitBit);
if (!Subtarget->useSoftFloat())
Features.set(Feature_IsNotSoftFloatBit);
if (Subtarget->hasDSP())
Features.set(Feature_HasDSPBit);
if (Subtarget->hasDSPR2())
Features.set(Feature_HasDSPR2Bit);
return Features;
}
void MipsInstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
AvailableFunctionFeatures = computeAvailableFunctionFeatures((const MipsSubtarget *)&MF.getSubtarget(), &MF);
}
PredicateBitset MipsInstructionSelector::
computeAvailableFunctionFeatures(const MipsSubtarget *Subtarget, const MachineFunction *MF) const {
PredicateBitset Features{};
return Features;
}
enum {
GIFBS_Invalid,
GIFBS_HasCnMips,
GIFBS_HasDSP,
GIFBS_HasDSPR2,
GIFBS_HasMSA,
GIFBS_InMicroMips,
GIFBS_InMips16Mode,
GIFBS_IsFP64bit,
GIFBS_NotFP64bit,
GIFBS_HasDSP_InMicroMips,
GIFBS_HasDSP_NotInMicroMips,
GIFBS_HasDSPR2_InMicroMips,
GIFBS_HasMSA_HasStdEnc,
GIFBS_HasMSA_IsBE,
GIFBS_HasMSA_IsLE,
GIFBS_HasMips32r6_HasStdEnc,
GIFBS_HasMips32r6_InMicroMips,
GIFBS_HasMips64r2_HasStdEnc,
GIFBS_HasMips64r6_HasStdEnc,
GIFBS_HasStdEnc_IsNotSoftFloat,
GIFBS_HasStdEnc_NotInMicroMips,
GIFBS_HasStdEnc_NotMips4_32,
GIFBS_InMicroMips_IsFP64bit,
GIFBS_InMicroMips_IsNotSoftFloat,
GIFBS_InMicroMips_NotFP64bit,
GIFBS_InMicroMips_NotMips32r6,
GIFBS_IsGP64bit_NotInMips16Mode,
GIFBS_AllowFPOpFusion_HasMSA_HasStdEnc,
GIFBS_HasMSA_HasMips64_HasStdEnc,
GIFBS_HasMips3_HasStdEnc_IsGP64bit,
GIFBS_HasMips3_HasStdEnc_NotInMicroMips,
GIFBS_HasMips32r2_HasStdEnc_NotInMicroMips,
GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips,
GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat,
GIFBS_HasMips64r2_HasStdEnc_NotInMicroMips,
GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips,
GIFBS_HasStdEnc_IsFP64bit_NotInMicroMips,
GIFBS_HasStdEnc_IsFP64bit_NotMips4_32,
GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
GIFBS_HasStdEnc_NotFP64bit_NotInMicroMips,
GIFBS_HasStdEnc_NotFP64bit_NotMips4_32,
GIFBS_HasStdEnc_NotInMicroMips_RelocNotPIC,
GIFBS_InMicroMips_IsFP64bit_IsNotSoftFloat,
GIFBS_InMicroMips_IsNotSoftFloat_NotFP64bit,
GIFBS_InMicroMips_IsNotSoftFloat_UseAbs,
GIFBS_InMicroMips_NotFP64bit_NotMips32r6,
GIFBS_InMicroMips_NotMips32r6_RelocNotPIC,
GIFBS_InMicroMips_NotMips32r6_RelocPIC,
GIFBS_IsFP64bit_IsNotSoftFloat_NotInMips16Mode,
GIFBS_IsNotSoftFloat_NotFP64bit_NotInMips16Mode,
GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotMips32r6,
GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
GIFBS_HasMips3_HasStdEnc_IsGP64bit_NotInMicroMips,
GIFBS_HasMips3_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
GIFBS_HasMips32_HasStdEnc_NotMips32r6_NotMips64r6,
GIFBS_HasMips32r6_HasStdEnc_IsNotSoftFloat_NotInMicroMips,
GIFBS_HasMips4_32_HasStdEnc_NotMips32r6_NotMips64r6,
GIFBS_HasMips64r2_HasStdEnc_IsGP64bit_NotInMicroMips,
GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips,
GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips,
GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips_UseAbs,
GIFBS_HasMadd4_InMicroMips_NoNaNsFPMath_NotFP64bit_NotMips32r6,
GIFBS_HasMips2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips,
GIFBS_HasMips2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips,
GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMips4_32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMips64_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips64r6,
GIFBS_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_UseAbs,
GIFBS_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_UseAbs,
GIFBS_HasMips4_32_HasStdEnc_IsFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMips4_32_HasStdEnc_IsGP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMips4_32_HasStdEnc_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_IsNotSoftFloat_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsFP64bit_NoNaNsFPMath_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_IsNotSoftFloat_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
GIFBS_HasMadd4_HasMips4_32r2_HasStdEnc_NoNaNsFPMath_NotFP64bit_NotInMicroMips_NotMips32r6_NotMips64r6,
};
constexpr static PredicateBitset FeatureBitsets[] {
{},
{Feature_HasCnMipsBit, },
{Feature_HasDSPBit, },
{Feature_HasDSPR2Bit, },
{Feature_HasMSABit, },
{Feature_InMicroMipsBit, },
{Feature_InMips16ModeBit, },
{Feature_IsFP64bitBit, },
{Feature_NotFP64bitBit, },
{Feature_HasDSPBit, Feature_InMicroMipsBit, },
{Feature_HasDSPBit, Feature_NotInMicroMipsBit, },
{Feature_HasDSPR2Bit, Feature_InMicroMipsBit, },
{Feature_HasMSABit, Feature_HasStdEncBit, },
{Feature_HasMSABit, Feature_IsBEBit, },
{Feature_HasMSABit, Feature_IsLEBit, },
{Feature_HasMips32r6Bit, Feature_HasStdEncBit, },
{Feature_HasMips32r6Bit, Feature_InMicroMipsBit, },
{Feature_HasMips64r2Bit, Feature_HasStdEncBit, },
{Feature_HasMips64r6Bit, Feature_HasStdEncBit, },
{Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, },
{Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_NotMips4_32Bit, },
{Feature_InMicroMipsBit, Feature_IsFP64bitBit, },
{Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, },
{Feature_InMicroMipsBit, Feature_NotFP64bitBit, },
{Feature_InMicroMipsBit, Feature_NotMips32r6Bit, },
{Feature_IsGP64bitBit, Feature_NotInMips16ModeBit, },
{Feature_AllowFPOpFusionBit, Feature_HasMSABit, Feature_HasStdEncBit, },
{Feature_HasMSABit, Feature_HasMips64Bit, Feature_HasStdEncBit, },
{Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, },
{Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips32r2Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips32r6Bit, Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, },
{Feature_HasMips64r2Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips64r6Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NotMips4_32Bit, },
{Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_NotFP64bitBit, Feature_NotMips4_32Bit, },
{Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_RelocNotPICBit, },
{Feature_InMicroMipsBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, },
{Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, },
{Feature_InMicroMipsBit, Feature_IsNotSoftFloatBit, Feature_UseAbsBit, },
{Feature_InMicroMipsBit, Feature_NotFP64bitBit, Feature_NotMips32r6Bit, },
{Feature_InMicroMipsBit, Feature_NotMips32r6Bit, Feature_RelocNotPICBit, },
{Feature_InMicroMipsBit, Feature_NotMips32r6Bit, Feature_RelocPICBit, },
{Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMips16ModeBit, },
{Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMips16ModeBit, },
{Feature_HasMadd4Bit, Feature_InMicroMipsBit, Feature_NoNaNsFPMathBit, Feature_NotMips32r6Bit, },
{Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips3Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips32Bit, Feature_HasStdEncBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMips32r6Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMips64r2Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
{Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_UseAbsBit, },
{Feature_HasMadd4Bit, Feature_InMicroMipsBit, Feature_NoNaNsFPMathBit, Feature_NotFP64bitBit, Feature_NotMips32r6Bit, },
{Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, },
{Feature_HasMips32Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMips64Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips64r6Bit, },
{Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_UseAbsBit, },
{Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_UseAbsBit, },
{Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_IsGP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMips4_32Bit, Feature_HasStdEncBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_NoNaNsFPMathBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_IsNotSoftFloatBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsFP64bitBit, Feature_NoNaNsFPMathBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_IsNotSoftFloatBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
{Feature_HasMadd4Bit, Feature_HasMips4_32r2Bit, Feature_HasStdEncBit, Feature_NoNaNsFPMathBit, Feature_NotFP64bitBit, Feature_NotInMicroMipsBit, Feature_NotMips32r6Bit, Feature_NotMips64r6Bit, },
};
enum {
GICP_Invalid,
};
MipsInstructionSelector::ComplexMatcherMemFn
MipsInstructionSelector::ComplexPredicateFns[] = {
nullptr,
};
bool MipsInstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
const MachineFunction &MF = *MI.getParent()->getParent();
const MachineRegisterInfo &MRI = MF.getRegInfo();
const auto &Operands = State.RecordedOperands;
(void)Operands;
(void)MRI;
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_I64_Predicate_immLi16 = GICXXPred_Invalid + 1,
GICXXPred_I64_Predicate_immSExt6,
GICXXPred_I64_Predicate_immSExt10,
GICXXPred_I64_Predicate_immSExtAddiur2,
GICXXPred_I64_Predicate_immSExtAddius5,
GICXXPred_I64_Predicate_immZExt1,
GICXXPred_I64_Predicate_immZExt1Ptr,
GICXXPred_I64_Predicate_immZExt2,
GICXXPred_I64_Predicate_immZExt2Lsa,
GICXXPred_I64_Predicate_immZExt2Ptr,
GICXXPred_I64_Predicate_immZExt2Shift,
GICXXPred_I64_Predicate_immZExt3,
GICXXPred_I64_Predicate_immZExt3Ptr,
GICXXPred_I64_Predicate_immZExt4,
GICXXPred_I64_Predicate_immZExt4Ptr,
GICXXPred_I64_Predicate_immZExt5,
GICXXPred_I64_Predicate_immZExt5_64,
GICXXPred_I64_Predicate_immZExt6,
GICXXPred_I64_Predicate_immZExt8,
GICXXPred_I64_Predicate_immZExt10,
GICXXPred_I64_Predicate_immZExtAndi16,
GICXXPred_I64_Predicate_immi32Cst7,
GICXXPred_I64_Predicate_immi32Cst15,
GICXXPred_I64_Predicate_immi32Cst31,
GICXXPred_I64_Predicate_timmSExt6,
GICXXPred_I64_Predicate_timmZExt1,
GICXXPred_I64_Predicate_timmZExt1Ptr,
GICXXPred_I64_Predicate_timmZExt2,
GICXXPred_I64_Predicate_timmZExt2Ptr,
GICXXPred_I64_Predicate_timmZExt3,
GICXXPred_I64_Predicate_timmZExt3Ptr,
GICXXPred_I64_Predicate_timmZExt4,
GICXXPred_I64_Predicate_timmZExt4Ptr,
GICXXPred_I64_Predicate_timmZExt5,
GICXXPred_I64_Predicate_timmZExt6,
GICXXPred_I64_Predicate_timmZExt8,
GICXXPred_I64_Predicate_timmZExt10,
};
bool MipsInstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
switch (PredicateID) {
case GICXXPred_I64_Predicate_immLi16: {
return Imm >= -1 && Imm <= 126;
}
case GICXXPred_I64_Predicate_immSExt6: {
return isInt<6>(Imm);
}
case GICXXPred_I64_Predicate_immSExt10: {
return isInt<10>(Imm);
}
case GICXXPred_I64_Predicate_immSExtAddiur2: {
return Imm == 1 || Imm == -1 ||
((Imm % 4 == 0) &&
Imm < 28 && Imm > 0);
}
case GICXXPred_I64_Predicate_immSExtAddius5: {
return Imm >= -8 && Imm <= 7;
}
case GICXXPred_I64_Predicate_immZExt1: {
return isUInt<1>(Imm);
}
case GICXXPred_I64_Predicate_immZExt1Ptr: {
return isUInt<1>(Imm);
}
case GICXXPred_I64_Predicate_immZExt2: {
return isUInt<2>(Imm);
}
case GICXXPred_I64_Predicate_immZExt2Lsa: {
return isUInt<2>(Imm - 1);
}
case GICXXPred_I64_Predicate_immZExt2Ptr: {
return isUInt<2>(Imm);
}
case GICXXPred_I64_Predicate_immZExt2Shift: {
return Imm >= 1 && Imm <= 8;
}
case GICXXPred_I64_Predicate_immZExt3: {
return isUInt<3>(Imm);
}
case GICXXPred_I64_Predicate_immZExt3Ptr: {
return isUInt<3>(Imm);
}
case GICXXPred_I64_Predicate_immZExt4: {
return isUInt<4>(Imm);
}
case GICXXPred_I64_Predicate_immZExt4Ptr: {
return isUInt<4>(Imm);
}
case GICXXPred_I64_Predicate_immZExt5: {
return Imm == (Imm & 0x1f);
}
case GICXXPred_I64_Predicate_immZExt5_64: {
return Imm == (Imm & 0x1f);
}
case GICXXPred_I64_Predicate_immZExt6: {
return Imm == (Imm & 0x3f);
}
case GICXXPred_I64_Predicate_immZExt8: {
return isUInt<8>(Imm);
}
case GICXXPred_I64_Predicate_immZExt10: {
return isUInt<10>(Imm);
}
case GICXXPred_I64_Predicate_immZExtAndi16: {
return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
}
case GICXXPred_I64_Predicate_immi32Cst7: {
return isUInt<32>(Imm) && Imm == 7;
}
case GICXXPred_I64_Predicate_immi32Cst15: {
return isUInt<32>(Imm) && Imm == 15;
}
case GICXXPred_I64_Predicate_immi32Cst31: {
return isUInt<32>(Imm) && Imm == 31;
}
case GICXXPred_I64_Predicate_timmSExt6: {
return isInt<6>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt1: {
return isUInt<1>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt1Ptr: {
return isUInt<1>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt2: {
return isUInt<2>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt2Ptr: {
return isUInt<2>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt3: {
return isUInt<3>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt3Ptr: {
return isUInt<3>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt4: {
return isUInt<4>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt4Ptr: {
return isUInt<4>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt5: {
return Imm == (Imm & 0x1f);
}
case GICXXPred_I64_Predicate_timmZExt6: {
return Imm == (Imm & 0x3f);
}
case GICXXPred_I64_Predicate_timmZExt8: {
return isUInt<8>(Imm);
}
case GICXXPred_I64_Predicate_timmZExt10: {
return isUInt<10>(Imm);
}
}
llvm_unreachable("Unknown predicate");
return false;
}
bool MipsInstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_APInt_Predicate_imm32SExt16 = GICXXPred_Invalid + 1,
GICXXPred_APInt_Predicate_imm32ZExt16,
};
bool MipsInstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
switch (PredicateID) {
case GICXXPred_APInt_Predicate_imm32SExt16: {
return isInt<16>(Imm.getSExtValue());
}
case GICXXPred_APInt_Predicate_imm32ZExt16: {
return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
}
}
llvm_unreachable("Unknown predicate");
return false;
}
bool MipsInstructionSelector::testSimplePredicate(unsigned) const {
llvm_unreachable("MipsInstructionSelector does not support simple predicates!");
return false;
}
enum {
GICR_Invalid,
};
MipsInstructionSelector::CustomRendererFn
MipsInstructionSelector::CustomRenderers[] = {
nullptr,
};
bool MipsInstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
const PredicateBitset AvailableFeatures = getAvailableFeatures();
MachineIRBuilder B(I);
State.MIs.clear();
State.MIs.push_back(&I);
if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
return true;
}
return false;
}
bool MipsInstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
llvm_unreachable("MipsInstructionSelector does not support custom C++ actions!");
}
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define GIMT_Encode2 …
#define GIMT_Encode4 …
#define GIMT_Encode8 …
#else
#define GIMT_Encode2 …
#define GIMT_Encode4 …
#define GIMT_Encode8 …
#endif
const uint8_t *MipsInstructionSelector::getMatchTable() const {
constexpr static uint8_t MatchTable0[] = {
GIM_SwitchOpcode, 0, GIMT_Encode2(53), GIMT_Encode2(280), GIMT_Encode4(66631),
GIMT_Encode4(918),
GIMT_Encode4(2216),
GIMT_Encode4(2907),
GIMT_Encode4(3388),
GIMT_Encode4(3657),
GIMT_Encode4(3926),
GIMT_Encode4(4195), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(4464),
GIMT_Encode4(5020),
GIMT_Encode4(5424), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6316),
GIMT_Encode4(6389), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6730), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(10921),
GIMT_Encode4(10986),
GIMT_Encode4(11054), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(11122), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(15843),
GIMT_Encode4(30108), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(34766),
GIMT_Encode4(34832),
GIMT_Encode4(34896), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(34957), GIMT_Encode4(0),
GIMT_Encode4(36421),
GIMT_Encode4(36622),
GIMT_Encode4(38419),
GIMT_Encode4(40216), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(41971), GIMT_Encode4(0),
GIMT_Encode4(42259),
GIMT_Encode4(44790), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(46496), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(58534),
GIMT_Encode4(58643), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(58752),
GIMT_Encode4(59665),
GIMT_Encode4(60277),
GIMT_Encode4(60764), GIMT_Encode4(0),
GIMT_Encode4(60870), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(61169), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(61247), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(61325),
GIMT_Encode4(62694),
GIMT_Encode4(62872),
GIMT_Encode4(63035),
GIMT_Encode4(63113),
GIMT_Encode4(63191),
GIMT_Encode4(63444), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(63522), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(63762), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(63836),
GIMT_Encode4(63908), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(63980),
GIMT_Encode4(64148),
GIMT_Encode4(64316),
GIMT_Encode4(64484), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(64652), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(64776),
GIMT_Encode4(65340), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(65392), GIMT_Encode4(0),
GIMT_Encode4(65897),
GIMT_Encode4(66103), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(66267), GIMT_Encode4(0),
GIMT_Encode4(66507), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(66585),
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(2215),
GIMT_Encode4(961),
GIMT_Encode4(1369),
GIMT_Encode4(1535),
GIMT_Encode4(1567),
GIMT_Encode4(1721),
GIMT_Encode4(1753),
GIMT_Encode4(1907),
GIMT_Encode4(2061),
GIM_Try, GIMT_Encode4(1368),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(1039),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(Mips::LSA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1106),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(Mips::LSA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1148),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckAPIntImmPredicate, 1, GIMT_Encode2(GICXXPred_APInt_Predicate_imm32SExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDiu),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immSExtAddiur2),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDIUR2_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1232),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immSExtAddius5),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDIUS5_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1259),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDU16_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(1286),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDu),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(1313),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDU16_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(1340),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDu_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(1367),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AdduRxRyRz16),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1534),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_Try, GIMT_Encode4(1447),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(Mips::DLSA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1510),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2Lsa),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(Mips::DLSA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1533),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DADDu),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1566),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDQ_PH),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1720),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_Try, GIMT_Encode4(1639),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v2s64,
GIM_CheckType, 1, 2, GILLT_v2s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1696),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v2s64,
GIM_CheckType, 1, 2, GILLT_v2s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1719),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDV_D),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1752),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDU_QB),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1906),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_Try, GIMT_Encode4(1825),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1882),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1905),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDV_W),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2060),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_Try, GIMT_Encode4(1979),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s16,
GIM_CheckType, 1, 2, GILLT_v8s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2036),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s16,
GIM_CheckType, 1, 2, GILLT_v8s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2059),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDV_H),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2214),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_Try, GIMT_Encode4(2133),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v16s8,
GIM_CheckType, 1, 2, GILLT_v16s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v16s8,
GIM_CheckType, 1, 2, GILLT_v16s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDV_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2213),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::ADDV_B),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(2906),
GIMT_Encode4(2259),
GIMT_Encode4(2436),
GIMT_Encode4(2470),
GIMT_Encode4(2502),
GIMT_Encode4(2595),
GIMT_Encode4(2627),
GIMT_Encode4(2720),
GIMT_Encode4(2813),
GIM_Try, GIMT_Encode4(2435),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(2299),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckConstantInt8, 0, 1, 0,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::NegRxRy16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2326),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBU16_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2353),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBu),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2380),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBU16_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2407),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBu_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2434),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SubuRxRyRz16),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2469),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_NotInMicroMips),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DSUBu),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2501),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBQ_PH),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2594),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_Try, GIMT_Encode4(2574),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v2s64,
GIM_CheckType, 1, 2, GILLT_v2s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUBV_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2593),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBV_D),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2626),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBU_QB),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::DSPOutFlag20), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2719),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_Try, GIMT_Encode4(2699),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUBV_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2718),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBV_W),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2812),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_Try, GIMT_Encode4(2792),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s16,
GIM_CheckType, 1, 2, GILLT_v8s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUBV_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2811),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBV_H),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2905),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_Try, GIMT_Encode4(2885),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v16s8,
GIM_CheckType, 1, 2, GILLT_v16s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUBV_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2904),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::SUBV_B),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(3387),
GIMT_Encode4(2950),
GIMT_Encode4(3134),
GIMT_Encode4(3219),
GIMT_Encode4(3251), GIMT_Encode4(0),
GIMT_Encode4(3285),
GIMT_Encode4(3319),
GIMT_Encode4(3353),
GIM_Try, GIMT_Encode4(3133),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(3000),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32_HasStdEnc_NotInMicroMips_NotMips32r6_NotMips64r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MUL),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(RegState::Dead),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3027),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MUL_R6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3066),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MUL_MM),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(RegState::Dead),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3093),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MUL_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3132),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MultRxRyRz16),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(RegState::Dead),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3218),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_Try, GIMT_Encode4(3202),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DMUL),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::HI0), GIMT_Encode2(RegState::Dead),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::LO0), GIMT_Encode2(RegState::Dead),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::P0), GIMT_Encode2(RegState::Dead),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::P1), GIMT_Encode2(RegState::Dead),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::P2), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3217),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DMUL_R6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3250),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MUL_PH),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::DSPOutFlag21), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3284),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MULV_D),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3318),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MULV_W),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3352),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MULV_H),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3386),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MULV_B),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(3656),
GIMT_Encode4(3431),
GIMT_Encode4(3486), GIMT_Encode4(0),
GIMT_Encode4(3520), GIMT_Encode4(0),
GIMT_Encode4(3554),
GIMT_Encode4(3588),
GIMT_Encode4(3622),
GIM_Try, GIMT_Encode4(3485),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_Try, GIMT_Encode4(3469),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3484),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3519),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DDIV),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3553),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_S_D),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3587),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_S_W),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3621),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_S_H),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3655),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_S_B),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(3925),
GIMT_Encode4(3700),
GIMT_Encode4(3755), GIMT_Encode4(0),
GIMT_Encode4(3789), GIMT_Encode4(0),
GIMT_Encode4(3823),
GIMT_Encode4(3857),
GIMT_Encode4(3891),
GIM_Try, GIMT_Encode4(3754),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_Try, GIMT_Encode4(3738),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIVU),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3753),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIVU_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3788),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DDIVU),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3822),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_U_D),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3856),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_U_W),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3890),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_U_H),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3924),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DIV_U_B),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(4194),
GIMT_Encode4(3969),
GIMT_Encode4(4024), GIMT_Encode4(0),
GIMT_Encode4(4058), GIMT_Encode4(0),
GIMT_Encode4(4092),
GIMT_Encode4(4126),
GIMT_Encode4(4160),
GIM_Try, GIMT_Encode4(4023),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_Try, GIMT_Encode4(4007),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4057),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DMOD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4091),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_S_D),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4125),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_S_W),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4159),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_S_H),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4193),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_S_B),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(4463),
GIMT_Encode4(4238),
GIMT_Encode4(4293), GIMT_Encode4(0),
GIMT_Encode4(4327), GIMT_Encode4(0),
GIMT_Encode4(4361),
GIMT_Encode4(4395),
GIMT_Encode4(4429),
GIM_Try, GIMT_Encode4(4292),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_Try, GIMT_Encode4(4276),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_HasStdEnc_NotInMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MODU),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4291),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MODU_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4326),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips64r6_HasStdEnc_NotInMicroMips),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DMODU),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4360),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_U_D),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4394),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_U_W),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4428),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_U_H),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4462),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MOD_U_B),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(5019),
GIMT_Encode4(4507),
GIMT_Encode4(4781), GIMT_Encode4(0),
GIMT_Encode4(4883), GIMT_Encode4(0),
GIMT_Encode4(4917),
GIMT_Encode4(4951),
GIMT_Encode4(4985),
GIM_Try, GIMT_Encode4(4780),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(4560),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckAPIntImmPredicate, 1, GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::ANDi),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4602),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExtAndi16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::ANDI16_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4644),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExtAndi16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::ANDI16_MMR6),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4671),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4698),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND16_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4725),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4752),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4779),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AndRxRxRy16),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4882),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_Try, GIMT_Encode4(4858),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(255),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BADDu),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4881),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND64),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4916),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND_V_D_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4950),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND_V_W_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4984),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND_V_H_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(5018),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::AND_V),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(5423),
GIMT_Encode4(5063),
GIMT_Encode4(5253), GIMT_Encode4(0),
GIMT_Encode4(5287), GIMT_Encode4(0),
GIMT_Encode4(5321),
GIMT_Encode4(5355),
GIMT_Encode4(5389),
GIM_Try, GIMT_Encode4(5252),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(5116),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckAPIntImmPredicate, 1, GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::ORi),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5143),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5170),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR16_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5197),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5224),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5251),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OrRxRxRy16),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5286),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR64),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(5320),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR_V_D_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(5354),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR_V_W_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(5388),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR_V_H_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(5422),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::OR_V),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(6315),
GIMT_Encode4(5467),
GIMT_Encode4(6084), GIMT_Encode4(0),
GIMT_Encode4(6179), GIMT_Encode4(0),
GIMT_Encode4(6213),
GIMT_Encode4(6247),
GIMT_Encode4(6281),
GIM_Try, GIMT_Encode4(6083),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(5537),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::NOR),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5596),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::NOR_MM),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5655),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::NOR_MMR6),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5684),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NOT16_MMR6),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5713),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NOT16_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5748),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5777),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NotRxRy16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5806),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NOT16_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5841),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NOR_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5870),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NOT16_MMR6),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5905),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(Mips::NOR_MMR6),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5947),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckAPIntImmPredicate, 1, GIMT_Encode2(GICXXPred_APInt_Predicate_imm32ZExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::XORi),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5974),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6001),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPRMM16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR16_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6028),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6055),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6082),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XorRxRxRy16),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6178),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_Try, GIMT_Encode4(6154),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::NOR64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6177),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR64),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6212),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR_V_D_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6246),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR_V_W_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6280),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR_V_H_PSEUDO),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6314),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::XOR_V),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6388),
GIM_CheckNumOperands, 0, 3,
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(6360),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotSoftFloat_NotFP64bit_NotInMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::AFGR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::BuildPairF64),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6387),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsFP64bit_IsNotSoftFloat_NotInMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::FGR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::BuildPairF64_64),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6460),
GIM_CheckNumOperands, 0, 3,
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_Try, GIMT_Encode4(6433),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasMips64_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::FILL_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6459),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR64RegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::FILL_FD_PSEUDO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6551),
GIM_CheckNumOperands, 0, 5,
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_Try, GIMT_Encode4(6514),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::FILL_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6550),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR32RegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::FILL_FW_PSEUDO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6620),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckNumOperands, 0, 9,
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIM_CheckIsSameOperand, 0, 5, 0, 1,
GIM_CheckIsSameOperand, 0, 6, 0, 1,
GIM_CheckIsSameOperand, 0, 7, 0, 1,
GIM_CheckIsSameOperand, 0, 8, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::FILL_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6729),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckNumOperands, 0, 17,
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIM_CheckIsSameOperand, 0, 5, 0, 1,
GIM_CheckIsSameOperand, 0, 6, 0, 1,
GIM_CheckIsSameOperand, 0, 7, 0, 1,
GIM_CheckIsSameOperand, 0, 8, 0, 1,
GIM_CheckIsSameOperand, 0, 9, 0, 1,
GIM_CheckIsSameOperand, 0, 10, 0, 1,
GIM_CheckIsSameOperand, 0, 11, 0, 1,
GIM_CheckIsSameOperand, 0, 12, 0, 1,
GIM_CheckIsSameOperand, 0, 13, 0, 1,
GIM_CheckIsSameOperand, 0, 14, 0, 1,
GIM_CheckIsSameOperand, 0, 15, 0, 1,
GIM_CheckIsSameOperand, 0, 16, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::FILL_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(9), GIMT_Encode4(10920),
GIMT_Encode4(6773),
GIMT_Encode4(7050),
GIMT_Encode4(7106),
GIMT_Encode4(7166),
GIMT_Encode4(8265),
GIMT_Encode4(8325),
GIMT_Encode4(9364),
GIMT_Encode4(10259),
GIM_Try, GIMT_Encode4(6799),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MFC1),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6825),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::FGR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MTC1),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6851),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MFC1_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6877),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_IsNotSoftFloat),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::FGR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MTC1_MM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6903),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::FGR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MTC1_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6929),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips_IsNotSoftFloat),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::MFC1_MMR6),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6959),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(6989),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7019),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::FGR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::FGR32RegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7049),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::FGR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::FGR32RegClassID),
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(7105),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(7081),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::FGR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DMTC1),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(7104),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsNotSoftFloat_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::DMFC1),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(7165),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_Try, GIMT_Encode4(7141),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7164),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(7192),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7218),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7244),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7270),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7296),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7322),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7348),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7374),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7400),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7426),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7452),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7478),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7589),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v16s8,
GIR_MakeTempReg, 3, GILLT_v16s8,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 1,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 3, 3,
GIR_AddImm8, 3, 27,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7700),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v16s8,
GIR_MakeTempReg, 3, GILLT_v16s8,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 1,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 3, 3,
GIR_AddImm8, 3, 27,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7767),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7834),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7901),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7968),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8042),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8116),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8264),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(8324),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_Try, GIMT_Encode4(8300),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8323),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::FGR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(8351),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8377),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8403),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8429),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8455),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8481),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8507),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8533),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8559),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8585),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8611),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8637),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8704),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8771),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8845),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8919),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8993),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9067),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9141),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9215),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9289),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9363),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(9390),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(9416),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(9442),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(9468),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(9494),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(9520),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(9546),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(9620),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9694),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9768),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9842),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9916),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9990),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10057),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10124),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10191),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10258),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(10285),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(10311),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(10337),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(10363),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(10389),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(10415),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(10489),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10563),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10630),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10697),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MakeTempReg, 0, GILLT_v16s8,
GIR_MakeTempReg, 1, GILLT_v16s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 27,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10808),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v16s8,
GIR_MakeTempReg, 3, GILLT_v16s8,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 1,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 3, 3,
GIR_AddImm8, 3, 27,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10919),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v16s8,
GIR_MakeTempReg, 3, GILLT_v16s8,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 1,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(Mips::SHF_B),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 3, 3,
GIR_AddImm8, 3, 27,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SHF_W),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm, 1, GIMT_Encode8(177),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10985),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 0, GILLT_s32,
GIM_CheckMemorySizeEqualToLLT, 0, 0, 0,
GIM_CheckAtomicOrdering, 0, (uint8_t)AtomicOrdering::NotAtomic,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckPointerToAny, 0, 1, 32,
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::LWX),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_MergeMemOperands, 0, 2, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(11053),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 0, GILLT_s32,
GIM_CheckMemorySizeEqualTo, 0, 0, GIMT_Encode4(2),
GIM_CheckAtomicOrdering, 0, (uint8_t)AtomicOrdering::NotAtomic,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckPointerToAny, 0, 1, 32,
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::LHX),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_MergeMemOperands, 0, 2, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(11121),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_RootCheckType, 0, GILLT_s32,
GIM_CheckMemorySizeEqualTo, 0, 0, GIMT_Encode4(1),
GIM_CheckAtomicOrdering, 0, (uint8_t)AtomicOrdering::NotAtomic,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckPointerToAny, 0, 1, 32,
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::LBUX),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_MergeMemOperands, 0, 2, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(3), GIMT_Encode4(15842),
GIMT_Encode4(11141),
GIMT_Encode4(15808),
GIM_Try, GIMT_Encode4(11249),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt8, 3, 1, 1,
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckRegBankForClass, 2, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT0),
GIR_Copy, 0, 2, 2,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11364),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt, 3, 1, GIMT_Encode8(4294967296),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckRegBankForClass, 2, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT032),
GIR_Copy, 0, 2, 2,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11472),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt8, 3, 1, 1,
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckRegBankForClass, 2, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT1),
GIR_Copy, 0, 2, 2,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11587),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt, 3, 1, GIMT_Encode8(4294967296),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckRegBankForClass, 2, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT132),
GIR_Copy, 0, 2, 2,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11695),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt8, 3, 1, 1,
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT0),
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11810),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt, 3, 1, GIMT_Encode8(4294967296),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT032),
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11918),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt8, 3, 1, 1,
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT1),
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12033),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCnMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s64,
GIM_CheckType, 3, 2, GILLT_s64,
GIM_CheckConstantInt, 3, 1, GIMT_Encode8(4294967296),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5_64),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(Mips::BBIT132),
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12090),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGEZ),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12147),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGTZ),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12204),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLEZ),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12261),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLTZ),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12318),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGEZ64),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12375),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGTZ64),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12432),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLEZ64),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12489),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLTZ64),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12546),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGEZ_MM),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12603),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGTZ_MM),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12660),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLEZ_MM),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12717),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLTZ_MM),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12780),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE),
GIR_Copy, 0, 1, 2,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12843),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_Copy, 0, 1, 2,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12906),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE64),
GIR_Copy, 0, 1, 2,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO_64), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12969),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ64),
GIR_Copy, 0, 1, 2,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO_64), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13023),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BeqzRxImm16),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13077),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BnezRxImm16),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13140),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE_MM),
GIR_Copy, 0, 1, 2,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13203),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ_MM),
GIR_Copy, 0, 1, 2,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13260),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNEZC_MMR6),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13317),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQZC_MMR6),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13369),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLT),
GIM_CheckConstantInt8, 1, 3, 1,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLEZ),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13421),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGT),
GIM_CheckConstantInt8, 1, 3, uint8_t(-1),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGEZ),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13473),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLT),
GIM_CheckConstantInt8, 1, 3, 1,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLEZ64),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13525),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGT),
GIM_CheckConstantInt8, 1, 3, uint8_t(-1),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGEZ64),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13577),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLT),
GIM_CheckConstantInt8, 1, 3, 1,
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BLEZ_MM),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13629),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGT),
GIM_CheckConstantInt8, 1, 3, uint8_t(-1),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BGEZ_MM),
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13691),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13753),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13815),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ64),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13877),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsGP64bit_NotInMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE64),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13939),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ_MM),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14001),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE_MM),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14086),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14171),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_UGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14256),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14341),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_ULE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14426),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT64),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14511),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_UGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu64),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14596),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT64),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14681),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckType, 1, 3, GILLT_s64,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_ULE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu64),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14740),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_EQ),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BteqzT8CmpX16),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14799),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BtnezT8SltX16),
GIR_Copy, 0, 1, 3,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14858),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BteqzT8SltX16),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14917),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLT),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BtnezT8SltX16),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14976),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BteqzT8SltX16),
GIR_Copy, 0, 1, 3,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15035),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_NE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BtnezT8CmpX16),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 3,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15120),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ_MM),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15205),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_UGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ_MM),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15290),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ_MM),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15375),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_ULE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQ_MM),
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15454),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQZC_MMR6),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15533),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_UGE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 2,
GIR_Copy, 1, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQZC_MMR6),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15612),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_SLE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLT_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQZC_MMR6),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15691),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckType, 1, 3, GILLT_s32,
GIM_CheckCmpPredicate, 1, 1, GIMT_Encode2(CmpInst::ICMP_ULE),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckRegBankForClass, 1, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(Mips::SLTu_MM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 1, 3,
GIR_Copy, 1, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BEQZC_MMR6),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15724),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasStdEnc_NotInMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE),
GIR_RootToRootCopy, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15746),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMips16Mode),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::CPU16RegsRegClassID),
GIM_CheckIsMBB, 0, 1,
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::BnezRxImm16),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15779),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_InMicroMips_NotMips32r6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE_MM),
GIR_RootToRootCopy, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15807),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips32r6_InMicroMips),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsMBB, 0, 1,
GIR_MutateOpcode, 0, 0, GIMT_Encode2(Mips::BNEZC_MMR6),
GIR_AddImplicitDef, 0, GIMT_Encode2(Mips::AT), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(15841),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMips3_HasStdEnc_IsGP64bit),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR64RegClassID),
GIM_CheckIsMBB, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BNE64),
GIR_RootToRootCopy, 0,
GIR_AddRegister, 0, GIMT_Encode2(Mips::ZERO_64), GIMT_Encode2(0),
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(17840),
GIM_CheckNumOperands, 0, 3,
GIM_Try, GIMT_Encode4(15898),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt8),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::REPL_QB),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15945),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immSExt10),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::REPL_PH),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15992),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immSExt10),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::REPL_PH_MM),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16039),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt8),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::REPL_QB_MM),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16075),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_raddu_w_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::RADDU_W_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16111),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceq_w_phl),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQ_W_PHL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16147),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceq_w_phr),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQ_W_PHR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16183),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbl),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16219),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbr),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16255),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbla),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBLA),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16291),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbra),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBRA),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16327),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbl),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16363),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbr),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16399),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbla),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBLA),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16435),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbra),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBRA),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16471),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_bitrev),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BITREV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16507),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::REPLV_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16543),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::REPLV_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16579),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fclass_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FCLASS_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16615),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fclass_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FCLASS_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16651),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fexupl_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FEXUPL_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16687),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fexupl_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FEXUPL_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16723),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fexupr_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FEXUPR_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16759),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fexupr_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FEXUPR_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16795),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ffql_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FFQL_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16831),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ffql_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FFQL_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16867),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ffqr_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FFQR_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16903),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ffqr_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FFQR_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16939),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_frcp_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FRCP_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16975),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_frcp_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FRCP_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17011),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_frsqrt_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FRSQRT_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17047),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_frsqrt_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FRSQRT_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17083),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ftint_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FTINT_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17119),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ftint_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FTINT_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17155),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ftint_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FTINT_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17191),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ftint_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FTINT_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17227),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_nloc_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::NLOC_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17263),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_nloc_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::NLOC_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17299),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_nloc_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::NLOC_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17335),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_nloc_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::NLOC_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17371),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceq_w_phl),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQ_W_PHL_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17407),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceq_w_phr),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQ_W_PHR_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17443),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbl),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBL_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17479),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbla),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBLA_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17515),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbr),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBR_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17551),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precequ_ph_qbra),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEQU_PH_QBRA_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17587),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbl),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBL_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17623),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbla),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBLA_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17659),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbr),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBR_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17695),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_preceu_ph_qbra),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECEU_PH_QBRA_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17731),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_raddu_w_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::RADDU_W_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17767),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::REPLV_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17803),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_repl_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::REPLV_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17839),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_bitrev),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BITREV_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27593),
GIM_CheckNumOperands, 0, 4,
GIM_Try, GIMT_Encode4(17894),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_s_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_S_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17940),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17986),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18032),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18078),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_u_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_U_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18124),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18170),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18216),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sat_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
GIR_BuildRootMI, GIMT_Encode2(Mips::SAT_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18262),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srari_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRARI_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18308),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srari_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRARI_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18354),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srari_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRARI_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18400),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srari_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRARI_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18446),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlri_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLRI_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18492),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlri_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLRI_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18538),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlri_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLRI_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18584),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlri_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckImmOperandPredicate, 0, 3, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt6),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLRI_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18640),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_R_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18696),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_R_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18752),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_R_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18808),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_R_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18864),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_R_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18920),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_R_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18972),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19024),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRL_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19076),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRA_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19128),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRL_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19176),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addu_s_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDU_S_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19224),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subu_s_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBU_S_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19272),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addq_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQ_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19320),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subq_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQ_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19365),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_modsub),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MODSUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19410),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrq_qb_ph),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQ_QB_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19455),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrq_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQ_PH_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19500),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRLV_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19545),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19590),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_R_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19635),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_R_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19680),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_packrl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PACKRL_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19725),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adduh_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDUH_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19770),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adduh_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDUH_R_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19815),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subuh_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBUH_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19860),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subuh_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBUH_R_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19905),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19950),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_R_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19995),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20040),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_R_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20085),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20130),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_R_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20175),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20220),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_R_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20310),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_R_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20355),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRLV_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20400),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_add_a_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADD_A_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20445),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_add_a_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADD_A_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20490),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_add_a_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADD_A_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20535),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_add_a_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADD_A_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20580),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_a_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_A_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20625),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_a_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_A_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20670),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_a_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_A_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20715),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_a_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_A_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20760),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_s_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_S_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20805),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20850),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20895),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20940),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_u_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_U_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20985),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21030),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21075),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adds_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDS_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21120),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_s_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_S_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21165),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21210),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21255),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21300),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_u_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_U_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21345),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21390),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21435),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_asub_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ASUB_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21480),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_s_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_S_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21525),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21570),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21615),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21660),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_u_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_U_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21705),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21750),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21795),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ave_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVE_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21840),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_s_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_S_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21885),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21930),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21975),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22020),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_u_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_U_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22065),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22110),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22155),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_aver_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::AVER_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22200),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dotp_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DOTP_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22245),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dotp_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DOTP_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22290),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dotp_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DOTP_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22335),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dotp_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DOTP_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22380),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dotp_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DOTP_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22425),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dotp_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DOTP_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22470),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fcaf_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FCAF_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22515),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fcaf_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FCAF_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22560),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fexdo_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FEXDO_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22605),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fexdo_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FEXDO_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22650),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmax_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMAX_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22695),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmax_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMAX_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22740),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmax_a_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMAX_A_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmax_a_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMAX_A_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22830),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmin_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMIN_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22875),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmin_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMIN_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22920),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmin_a_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMIN_A_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22965),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fmin_a_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FMIN_A_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23010),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsaf_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSAF_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23055),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsaf_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSAF_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23100),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fseq_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSEQ_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23145),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fseq_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSEQ_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsle_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSLE_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23235),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsle_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSLE_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23280),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fslt_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSLT_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23325),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fslt_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSLT_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23370),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsne_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSNE_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23415),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsne_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSNE_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23460),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsor_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSOR_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23505),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsor_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSOR_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23550),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsueq_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSUEQ_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23595),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsueq_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSUEQ_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23640),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsule_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSULE_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23685),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsule_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSULE_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23730),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsult_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSULT_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23775),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsult_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSULT_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23820),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsun_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSUN_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23865),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsun_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSUN_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23910),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsune_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSUNE_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23955),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_fsune_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FSUNE_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24000),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ftq_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FTQ_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24045),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_ftq_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::FTQ_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24090),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hadd_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HADD_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24135),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hadd_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HADD_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24180),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hadd_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HADD_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24225),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hadd_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HADD_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24270),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hadd_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HADD_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24315),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hadd_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HADD_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24360),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hsub_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HSUB_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24405),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hsub_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HSUB_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24450),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hsub_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HSUB_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24495),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hsub_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HSUB_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24540),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hsub_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HSUB_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24585),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_hsub_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::HSUB_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24630),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_max_a_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MAX_A_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24675),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_max_a_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MAX_A_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24720),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_max_a_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MAX_A_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24765),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_max_a_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MAX_A_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24810),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_min_a_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MIN_A_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24855),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_min_a_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MIN_A_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24900),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_min_a_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MIN_A_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24945),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_min_a_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MIN_A_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24990),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mul_q_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MUL_Q_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25035),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mul_q_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MUL_Q_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mulr_q_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULR_Q_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25125),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mulr_q_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULR_Q_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25170),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srar_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRAR_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25215),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srar_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRAR_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25260),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srar_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRAR_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25305),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srar_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRAR_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25350),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlr_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLR_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25395),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlr_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLR_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25440),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlr_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLR_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25485),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_srlr_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SRLR_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25530),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_s_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_S_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25575),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25620),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25665),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25710),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_u_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_U_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25755),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25800),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25845),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subs_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBS_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25890),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsus_u_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUS_U_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25935),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsus_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUS_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25980),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsus_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUS_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26025),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsus_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUS_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26070),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsuu_s_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUU_S_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26115),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsuu_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUU_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26160),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsuu_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUU_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26205),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subsuu_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBSUU_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26253),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addq_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQ_S_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26301),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addu_s_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDU_S_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26346),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26391),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_R_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26436),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_R_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26481),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shrl_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRLV_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26529),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subq_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQ_S_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26577),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subu_s_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBU_S_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26622),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrq_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQ_PH_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26667),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrq_qb_ph),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQ_QB_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26712),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_packrl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PACKRL_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26757),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_modsub),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MODSUB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26802),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_PH_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26847),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_R_PH_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26892),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_W_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26937),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addqh_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQH_R_W_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26982),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adduh_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDUH_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27027),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_adduh_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDUH_R_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27072),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27117),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shra_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRAV_R_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27162),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shrl_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHRLV_PH_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27207),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_PH_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27252),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_r_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_R_PH_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27297),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_W_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27342),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subqh_r_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQH_R_W_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27387),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subuh_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBUH_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27432),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subuh_r_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBUH_R_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27472),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addq_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQ_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27512),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subq_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQ_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27552),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addu_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDU_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27592),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subu_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBU_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(30107),
GIM_CheckNumOperands, 0, 5,
GIM_Try, GIMT_Encode4(27656),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precr_sra_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECR_SRA_PH_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27711),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precr_sra_r_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECR_SRA_R_PH_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27766),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_append),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::APPEND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27821),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_balign),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt2),
GIR_BuildRootMI, GIMT_Encode2(Mips::BALIGN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27876),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_prepend),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::PREPEND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27931),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sldi_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt4),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLDI_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27986),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sldi_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt3),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLDI_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28041),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sldi_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt2),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLDI_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28096),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sldi_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt1),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLDI_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28151),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precr_sra_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECR_SRA_PH_W_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28206),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precr_sra_r_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECR_SRA_R_PH_W_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28261),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_prepend),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::PREPEND_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28316),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_append),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 4,
GIM_CheckImmOperandPredicate, 0, 4, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt5),
GIR_BuildRootMI, GIMT_Encode2(Mips::APPEND_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28378),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_balign),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt2),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::BALIGN_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28432),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsl_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSL_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28486),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsl_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSL_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28540),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsl_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSL_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28594),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsl_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSL_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28648),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsr_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSR_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28702),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsr_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSR_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28756),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsr_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSR_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28810),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_binsr_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128DRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BINSR_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28864),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpadd_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPADD_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28918),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpadd_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPADD_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28972),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpadd_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPADD_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29026),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpadd_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPADD_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpadd_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPADD_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29134),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpadd_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPADD_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29188),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpsub_s_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPSUB_S_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29242),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpsub_s_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPSUB_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29296),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpsub_s_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPSUB_S_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29350),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpsub_u_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128BRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPSUB_U_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29404),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpsub_u_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPSUB_U_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29458),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_dpsub_u_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::DPSUB_U_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29512),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_madd_q_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MADD_Q_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29566),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_madd_q_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MADD_Q_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29620),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_maddr_q_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDR_Q_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29674),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_maddr_q_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MADDR_Q_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29728),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_msub_q_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUB_Q_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29782),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_msub_q_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUB_Q_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29836),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_msubr_q_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128HRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUBR_Q_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29890),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_msubr_q_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::MSA128WRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MSUBR_Q_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29944),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sld_b),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128BRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLD_B),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29998),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sld_h),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128HRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLD_H),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30052),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sld_w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128WRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLD_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30106),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMSA_HasStdEnc),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_sld_d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::MSA128DRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SLD_D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(30139),
GIM_CheckNumOperands, 0, 2,
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_bposge32),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::BPOSGE32_PSEUDO),
GIR_RootToRootCopy, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31076),
GIM_CheckNumOperands, 0, 3,
GIM_Try, GIMT_Encode4(30188),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_rddsp),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 2,
GIM_CheckImmOperandPredicate, 0, 2, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt10),
GIR_BuildRootMI, GIMT_Encode2(Mips::RDDSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30224),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_rddsp),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 2,
GIR_BuildRootMI, GIMT_Encode2(Mips::RDDSP_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_NotInMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_wrdsp),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 2,
GIM_CheckImmOperandPredicate, 0, 2, GIMT_Encode2(GICXXPred_I64_Predicate_timmZExt10),
GIR_BuildRootMI, GIMT_Encode2(Mips::WRDSP),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30301),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_wrdsp),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_CheckIsImm, 0, 2,
GIR_BuildRootMI, GIMT_Encode2(Mips::WRDSP_MM),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30344),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_absq_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ABSQ_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30387),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_absq_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ABSQ_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30430),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_absq_s_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ABSQ_S_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30473),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_absq_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ABSQ_S_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30516),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_absq_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ABSQ_S_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30559),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_absq_s_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ABSQ_S_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30602),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmpu_eq_qb),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPU_EQ_QB),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30645),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmpu_lt_qb),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPU_LT_QB),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30688),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmpu_le_qb),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPU_LE_QB),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30731),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmp_eq_ph),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMP_EQ_PH),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30774),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmp_lt_ph),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMP_LT_PH),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30817),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmp_le_ph),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMP_LE_PH),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30860),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmp_eq_ph),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMP_EQ_PH_MM),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30903),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmp_lt_ph),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMP_LT_PH_MM),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30946),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmp_le_ph),
GIM_RootCheckType, 1, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMP_LE_PH_MM),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30989),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmpu_eq_qb),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPU_EQ_QB_MM),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31032),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmpu_lt_qb),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPU_LT_QB_MM),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31075),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::mips_cmpu_le_qb),
GIM_RootCheckType, 1, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPU_LE_QB_MM),
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(34765),
GIM_CheckNumOperands, 0, 4,
GIM_Try, GIMT_Encode4(31148),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLL_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 2, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31212),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLL_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 2, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31276),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLL_S_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 2, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31340),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt5),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLL_S_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 2, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31395),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt4),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLL_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31450),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immZExt3),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLL_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31502),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addq_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQ_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31554),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subq_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQ_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31606),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrq_rs_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQ_RS_PH_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31658),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrqu_s_qb_ph),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQU_S_QB_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31710),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31762),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31814),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31866),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31918),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbl),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEU_S_PH_QBL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31970),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbr),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEU_S_PH_QBR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phl),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEQ_S_W_PHL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32074),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phr),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEQ_S_W_PHR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32126),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mulq_rs_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULQ_RS_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32175),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgu_eq_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGU_EQ_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32224),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgu_lt_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGU_LT_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32273),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgu_le_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGU_LE_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32322),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_pick_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PICK_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32371),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_pick_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PICK_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32420),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_insv),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::INSV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32472),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addu_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDU_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32524),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addu_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDU_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subu_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBU_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32628),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subu_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBU_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32680),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgdu_eq_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGDU_EQ_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32732),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgdu_lt_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGDU_LT_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32784),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgdu_le_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGDU_LE_QB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32836),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mul_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MUL_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32888),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mulq_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULQ_S_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32940),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mulq_rs_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULQ_RS_W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32992),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mulq_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULQ_S_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33041),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precr_qb_ph),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECR_QB_PH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33093),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addq_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDQ_S_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33142),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_insv),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::INSV_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33194),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33246),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_S_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33298),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33350),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_shll_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SHLLV_S_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33402),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_subq_s_w),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::SUBQ_S_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33454),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phl),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEQ_S_W_PHL_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33506),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleq_s_w_phr),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEQ_S_W_PHR_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33558),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbl),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEU_S_PH_QBL_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33610),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_muleu_s_ph_qbr),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULEU_S_PH_QBR_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33662),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_mulq_rs_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::MULQ_RS_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33714),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrqu_s_qb_ph),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQU_S_QB_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33766),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_precrq_rs_ph_w),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::GPR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PRECRQ_RS_PH_W_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33815),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_pick_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PICK_PH_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33864),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_pick_qb),
GIM_RootCheckType, 0, GILLT_v4s8,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::PICK_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33913),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgu_eq_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGU_EQ_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33962),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgu_lt_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGU_LT_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34011),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgu_le_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGU_LE_QB_MM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34063),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addu_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDU_PH_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34115),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_addu_s_ph),
GIM_RootCheckType, 0, GILLT_v2s16,
GIM_RootCheckType, 2, GILLT_v2s16,
GIM_RootCheckType, 3, GILLT_v2s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::ADDU_S_PH_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34167),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgdu_eq_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGDU_EQ_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34219),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgdu_lt_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGDU_LT_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34271),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSPR2_InMicroMips),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::mips_cmpgdu_le_qb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s8,
GIM_RootCheckType, 3, GILLT_v4s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(Mips::GPR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(Mips::DSPRRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(Mips::DSPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(Mips::CMPGDU_LE_QB_MMR2),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_SetImplicitDefDead, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34323),
GIM_CheckFeatures, GIMT_Encode2#undef GIMT_Encode2#undef GIMT_Encode4#undef GIMT_Encode8#endif #ifdef GET_GLOBALISEL_PREDICATES_DECL#endif #ifdef GET_GLOBALISEL_PREDICATES_INIT#endif