#ifdef GET_GLOBALISEL_PREDICATE_BITSET
const unsigned MAX_SUBTARGET_PREDICATES = …;
PredicateBitset;
#endif
#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
mutable MatcherState State;
typedef ComplexRendererFns(ARMInstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
typedef void(ARMInstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
static ARMInstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
static ARMInstructionSelector::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_v2s1,
GILLT_v2s32,
GILLT_v2s64,
GILLT_v4s1,
GILLT_v4s16,
GILLT_v4s32,
GILLT_v4s64,
GILLT_v8s1,
GILLT_v8s8,
GILLT_v8s16,
GILLT_v8s64,
GILLT_v16s1,
GILLT_v16s8,
};
const static size_t NumTypeObjects = 16;
const static LLT TypeObjects[] = {
LLT::scalar(16),
LLT::scalar(32),
LLT::scalar(64),
LLT::vector(ElementCount::getFixed(2), 1),
LLT::vector(ElementCount::getFixed(2), 32),
LLT::vector(ElementCount::getFixed(2), 64),
LLT::vector(ElementCount::getFixed(4), 1),
LLT::vector(ElementCount::getFixed(4), 16),
LLT::vector(ElementCount::getFixed(4), 32),
LLT::vector(ElementCount::getFixed(4), 64),
LLT::vector(ElementCount::getFixed(8), 1),
LLT::vector(ElementCount::getFixed(8), 8),
LLT::vector(ElementCount::getFixed(8), 16),
LLT::vector(ElementCount::getFixed(8), 64),
LLT::vector(ElementCount::getFixed(16), 1),
LLT::vector(ElementCount::getFixed(16), 8),
};
enum SubtargetFeatureBits : uint8_t {
Feature_NoHonorSignDependentRoundingBit = 78,
Feature_HasV4TBit = 6,
Feature_NoV4TBit = 7,
Feature_HasV5TBit = 13,
Feature_NoV5TBit = 67,
Feature_HasV5TEBit = 11,
Feature_HasV6Bit = 0,
Feature_NoV6Bit = 9,
Feature_HasV6MBit = 28,
Feature_HasV8MBaselineBit = 35,
Feature_HasV8_1MMainlineBit = 41,
Feature_HasMVEIntBit = 65,
Feature_HasMVEFloatBit = 66,
Feature_HasCDEBit = 86,
Feature_HasFPRegsBit = 42,
Feature_HasFPRegs16Bit = 43,
Feature_HasNoFPRegs16Bit = 77,
Feature_HasFPRegs64Bit = 52,
Feature_HasV6T2Bit = 8,
Feature_HasV6KBit = 18,
Feature_HasV7Bit = 3,
Feature_HasV8Bit = 56,
Feature_PreV8Bit = 19,
Feature_HasV8_1aBit = 80,
Feature_HasV8_3aBit = 81,
Feature_NoVFPBit = 22,
Feature_HasVFP2Bit = 21,
Feature_HasVFP3Bit = 53,
Feature_HasVFP4Bit = 50,
Feature_HasDPVFPBit = 44,
Feature_HasFPARMv8Bit = 47,
Feature_HasNEONBit = 54,
Feature_HasSHA2Bit = 63,
Feature_HasAESBit = 55,
Feature_HasDotProdBit = 57,
Feature_HasCRCBit = 14,
Feature_HasLOBBit = 40,
Feature_HasFP16Bit = 62,
Feature_HasFullFP16Bit = 46,
Feature_HasBF16Bit = 64,
Feature_HasMatMulInt8Bit = 58,
Feature_HasDivideInThumbBit = 37,
Feature_HasDivideInARMBit = 12,
Feature_HasDSPBit = 36,
Feature_HasDBBit = 15,
Feature_HasV7ClrexBit = 17,
Feature_HasAcquireReleaseBit = 16,
Feature_HasMPBit = 2,
Feature_Has8MSecExtBit = 29,
Feature_HasZCZBit = 59,
Feature_UseNEONForFPBit = 84,
Feature_DontUseNEONForFPBit = 45,
Feature_IsThumbBit = 26,
Feature_IsThumb1OnlyBit = 27,
Feature_IsThumb2Bit = 34,
Feature_IsNotMClassBit = 38,
Feature_IsARMBit = 1,
Feature_IsWindowsBit = 30,
Feature_IsNotWindowsBit = 31,
Feature_IsReadTPTPIDRURWBit = 70,
Feature_IsReadTPTPIDRUROBit = 71,
Feature_IsReadTPTPIDRPRWBit = 72,
Feature_IsReadTPSoftBit = 20,
Feature_UseNaClTrapBit = 4,
Feature_DontUseNaClTrapBit = 5,
Feature_UseMovtBit = 39,
Feature_DontUseMovtBit = 23,
Feature_UseMovtInPicBit = 24,
Feature_DontUseMovtInPicBit = 25,
Feature_UseFPVMLxBit = 49,
Feature_SLSBLRMitigationBit = 69,
Feature_NoSLSBLRMitigationBit = 68,
Feature_UseMulOpsBit = 10,
Feature_UseFusedMACBit = 51,
Feature_HasFastVGETLNi32Bit = 60,
Feature_HasSlowVGETLNi32Bit = 82,
Feature_HasFastVDUP32Bit = 61,
Feature_HasSlowVDUP32Bit = 83,
Feature_UseVMOVSRBit = 48,
Feature_DontUseVMOVSRBit = 85,
Feature_IsLEBit = 76,
Feature_IsBEBit = 79,
Feature_GenExecuteOnlyBit = 33,
Feature_DontGenExecuteOnlyBit = 32,
Feature_GenT1ExecuteOnlyBit = 75,
Feature_SignRetAddrBit = 74,
Feature_NoSignRetAddrBit = 73,
};
PredicateBitset ARMInstructionSelector::
computeAvailableModuleFeatures(const ARMSubtarget *Subtarget) const {
PredicateBitset Features{};
if (!TM.Options.HonorSignDependentRoundingFPMath())
Features.set(Feature_NoHonorSignDependentRoundingBit);
if (Subtarget->hasV4TOps())
Features.set(Feature_HasV4TBit);
if (!Subtarget->hasV4TOps())
Features.set(Feature_NoV4TBit);
if (Subtarget->hasV5TOps())
Features.set(Feature_HasV5TBit);
if (!Subtarget->hasV5TOps())
Features.set(Feature_NoV5TBit);
if (Subtarget->hasV5TEOps())
Features.set(Feature_HasV5TEBit);
if (Subtarget->hasV6Ops())
Features.set(Feature_HasV6Bit);
if (!Subtarget->hasV6Ops())
Features.set(Feature_NoV6Bit);
if (Subtarget->hasV6MOps())
Features.set(Feature_HasV6MBit);
if (Subtarget->hasV8MBaselineOps())
Features.set(Feature_HasV8MBaselineBit);
if (Subtarget->hasV8_1MMainlineOps())
Features.set(Feature_HasV8_1MMainlineBit);
if (Subtarget->hasMVEIntegerOps())
Features.set(Feature_HasMVEIntBit);
if (Subtarget->hasMVEFloatOps())
Features.set(Feature_HasMVEFloatBit);
if (Subtarget->hasCDEOps())
Features.set(Feature_HasCDEBit);
if (Subtarget->hasFPRegs())
Features.set(Feature_HasFPRegsBit);
if (Subtarget->hasFPRegs16())
Features.set(Feature_HasFPRegs16Bit);
if (!Subtarget->hasFPRegs16())
Features.set(Feature_HasNoFPRegs16Bit);
if (Subtarget->hasFPRegs64())
Features.set(Feature_HasFPRegs64Bit);
if (Subtarget->hasV6T2Ops())
Features.set(Feature_HasV6T2Bit);
if (Subtarget->hasV6KOps())
Features.set(Feature_HasV6KBit);
if (Subtarget->hasV7Ops())
Features.set(Feature_HasV7Bit);
if (Subtarget->hasV8Ops())
Features.set(Feature_HasV8Bit);
if (!Subtarget->hasV8Ops())
Features.set(Feature_PreV8Bit);
if (Subtarget->hasV8_1aOps())
Features.set(Feature_HasV8_1aBit);
if (Subtarget->hasV8_3aOps())
Features.set(Feature_HasV8_3aBit);
if (!Subtarget->hasVFP2Base())
Features.set(Feature_NoVFPBit);
if (Subtarget->hasVFP2Base())
Features.set(Feature_HasVFP2Bit);
if (Subtarget->hasVFP3Base())
Features.set(Feature_HasVFP3Bit);
if (Subtarget->hasVFP4Base())
Features.set(Feature_HasVFP4Bit);
if (Subtarget->hasFP64())
Features.set(Feature_HasDPVFPBit);
if (Subtarget->hasFPARMv8Base())
Features.set(Feature_HasFPARMv8Bit);
if (Subtarget->hasNEON())
Features.set(Feature_HasNEONBit);
if (Subtarget->hasSHA2())
Features.set(Feature_HasSHA2Bit);
if (Subtarget->hasAES())
Features.set(Feature_HasAESBit);
if (Subtarget->hasDotProd())
Features.set(Feature_HasDotProdBit);
if (Subtarget->hasCRC())
Features.set(Feature_HasCRCBit);
if (Subtarget->hasLOB())
Features.set(Feature_HasLOBBit);
if (Subtarget->hasFP16())
Features.set(Feature_HasFP16Bit);
if (Subtarget->hasFullFP16())
Features.set(Feature_HasFullFP16Bit);
if (Subtarget->hasBF16())
Features.set(Feature_HasBF16Bit);
if (Subtarget->hasMatMulInt8())
Features.set(Feature_HasMatMulInt8Bit);
if (Subtarget->hasDivideInThumbMode())
Features.set(Feature_HasDivideInThumbBit);
if (Subtarget->hasDivideInARMMode())
Features.set(Feature_HasDivideInARMBit);
if (Subtarget->hasDSP())
Features.set(Feature_HasDSPBit);
if (Subtarget->hasDataBarrier())
Features.set(Feature_HasDBBit);
if (Subtarget->hasV7Clrex())
Features.set(Feature_HasV7ClrexBit);
if (Subtarget->hasAcquireRelease())
Features.set(Feature_HasAcquireReleaseBit);
if (Subtarget->hasMPExtension())
Features.set(Feature_HasMPBit);
if (Subtarget->has8MSecExt())
Features.set(Feature_Has8MSecExtBit);
if (Subtarget->hasZeroCycleZeroing())
Features.set(Feature_HasZCZBit);
if (Subtarget->useNEONForSinglePrecisionFP())
Features.set(Feature_UseNEONForFPBit);
if (!Subtarget->useNEONForSinglePrecisionFP())
Features.set(Feature_DontUseNEONForFPBit);
if (Subtarget->isThumb())
Features.set(Feature_IsThumbBit);
if (Subtarget->isThumb1Only())
Features.set(Feature_IsThumb1OnlyBit);
if (Subtarget->isThumb2())
Features.set(Feature_IsThumb2Bit);
if (!Subtarget->isMClass())
Features.set(Feature_IsNotMClassBit);
if (!Subtarget->isThumb())
Features.set(Feature_IsARMBit);
if (Subtarget->isTargetWindows())
Features.set(Feature_IsWindowsBit);
if (!Subtarget->isTargetWindows())
Features.set(Feature_IsNotWindowsBit);
if (Subtarget->isReadTPTPIDRURW())
Features.set(Feature_IsReadTPTPIDRURWBit);
if (Subtarget->isReadTPTPIDRURO())
Features.set(Feature_IsReadTPTPIDRUROBit);
if (Subtarget->isReadTPTPIDRPRW())
Features.set(Feature_IsReadTPTPIDRPRWBit);
if (Subtarget->isReadTPSoft())
Features.set(Feature_IsReadTPSoftBit);
if (Subtarget->useNaClTrap())
Features.set(Feature_UseNaClTrapBit);
if (!Subtarget->useNaClTrap())
Features.set(Feature_DontUseNaClTrapBit);
if (Subtarget->useMulOps())
Features.set(Feature_UseMulOpsBit);
if (TM.Options.AllowFPOpFusion == FPOpFusion::Fast && Subtarget->useFPVFMx())
Features.set(Feature_UseFusedMACBit);
if (!Subtarget->hasSlowVGETLNi32())
Features.set(Feature_HasFastVGETLNi32Bit);
if (Subtarget->hasSlowVGETLNi32())
Features.set(Feature_HasSlowVGETLNi32Bit);
if (!Subtarget->hasSlowVDUP32())
Features.set(Feature_HasFastVDUP32Bit);
if (Subtarget->hasSlowVDUP32())
Features.set(Feature_HasSlowVDUP32Bit);
if (Subtarget->preferVMOVSR() ||!Subtarget->useNEONForSinglePrecisionFP())
Features.set(Feature_UseVMOVSRBit);
if (!Subtarget->preferVMOVSR() &&Subtarget->useNEONForSinglePrecisionFP())
Features.set(Feature_DontUseVMOVSRBit);
if (Subtarget->genExecuteOnly())
Features.set(Feature_GenExecuteOnlyBit);
if (!Subtarget->genExecuteOnly())
Features.set(Feature_DontGenExecuteOnlyBit);
if (Subtarget->genExecuteOnly() && Subtarget->isThumb1Only() && !Subtarget->hasV8MBaselineOps())
Features.set(Feature_GenT1ExecuteOnlyBit);
return Features;
}
void ARMInstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
AvailableFunctionFeatures = computeAvailableFunctionFeatures((const ARMSubtarget *)&MF.getSubtarget(), &MF);
}
PredicateBitset ARMInstructionSelector::
computeAvailableFunctionFeatures(const ARMSubtarget *Subtarget, const MachineFunction *MF) const {
PredicateBitset Features{};
if (Subtarget->useMovt())
Features.set(Feature_UseMovtBit);
if (!Subtarget->useMovt())
Features.set(Feature_DontUseMovtBit);
if (Subtarget->useMovt() && Subtarget->allowPositionIndependentMovt())
Features.set(Feature_UseMovtInPicBit);
if (!Subtarget->useMovt() || !Subtarget->allowPositionIndependentMovt())
Features.set(Feature_DontUseMovtInPicBit);
if (((Subtarget->useFPVMLx() && TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()))
Features.set(Feature_UseFPVMLxBit);
if ( MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() )
Features.set(Feature_SLSBLRMitigationBit);
if ( !MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() )
Features.set(Feature_NoSLSBLRMitigationBit);
if (MF->getDataLayout().isLittleEndian())
Features.set(Feature_IsLEBit);
if (MF->getDataLayout().isBigEndian())
Features.set(Feature_IsBEBit);
if ( MF->getInfo<ARMFunctionInfo>()->shouldSignReturnAddress(true) )
Features.set(Feature_SignRetAddrBit);
if ( !MF->getInfo<ARMFunctionInfo>()->shouldSignReturnAddress(true) )
Features.set(Feature_NoSignRetAddrBit);
return Features;
}
enum {
GIFBS_Invalid,
GIFBS_HasDotProd,
GIFBS_HasFP16,
GIFBS_HasFPARMv8,
GIFBS_HasFPRegs,
GIFBS_HasFullFP16,
GIFBS_HasMVEFloat,
GIFBS_HasMVEInt,
GIFBS_HasMatMulInt8,
GIFBS_HasNEON,
GIFBS_HasVFP2,
GIFBS_HasVFP3,
GIFBS_HasVFP4,
GIFBS_IsARM,
GIFBS_IsThumb,
GIFBS_IsThumb2,
GIFBS_NoHonorSignDependentRounding,
GIFBS_DontUseNEONForFP_HasVFP2,
GIFBS_DontUseNaClTrap_IsARM,
GIFBS_DontUseVMOVSR_HasNEON,
GIFBS_Has8MSecExt_IsThumb,
GIFBS_HasAES_HasV8,
GIFBS_HasBF16_HasNEON,
GIFBS_HasCRC_IsARM,
GIFBS_HasCRC_IsThumb2,
GIFBS_HasDB_IsARM,
GIFBS_HasDB_IsThumb,
GIFBS_HasDPVFP_HasFPARMv8,
GIFBS_HasDPVFP_HasVFP2,
GIFBS_HasDPVFP_HasVFP3,
GIFBS_HasDPVFP_HasVFP4,
GIFBS_HasDPVFP_NoHonorSignDependentRounding,
GIFBS_HasDSP_IsThumb2,
GIFBS_HasDivideInARM_IsARM,
GIFBS_HasFP16_HasNEON,
GIFBS_HasFPARMv8_HasNEON,
GIFBS_HasFPRegs_HasFastVGETLNi32,
GIFBS_HasFPRegs_UseVMOVSR,
GIFBS_HasFullFP16_HasNEON,
GIFBS_HasMVEInt_HasV8_1MMainline,
GIFBS_HasMVEInt_IsBE,
GIFBS_HasMVEInt_IsLE,
GIFBS_HasNEON_HasV8,
GIFBS_HasNEON_HasV8_1a,
GIFBS_HasNEON_HasV8_3a,
GIFBS_HasNEON_HasVFP4,
GIFBS_HasNEON_IsBE,
GIFBS_HasNEON_IsLE,
GIFBS_HasNEON_UseNEONForFP,
GIFBS_HasSHA2_HasV8,
GIFBS_HasV5T_IsARM,
GIFBS_HasV5T_IsThumb,
GIFBS_HasV5TE_IsARM,
GIFBS_HasV6_IsARM,
GIFBS_HasV6K_IsARM,
GIFBS_HasV6M_IsThumb,
GIFBS_HasV6T2_IsARM,
GIFBS_HasV7_IsARM,
GIFBS_HasV7Clrex_IsThumb,
GIFBS_HasV8MBaseline_IsThumb,
GIFBS_IsARM_NoV5T,
GIFBS_IsARM_NoV6,
GIFBS_IsARM_PreV8,
GIFBS_IsARM_UseNaClTrap,
GIFBS_IsThumb_IsThumb1Only,
GIFBS_IsThumb_IsWindows,
GIFBS_IsThumb_NoV5T,
GIFBS_IsThumb_UseMovt,
GIFBS_IsThumb2_PreV8,
GIFBS_IsThumb2_UseMulOps,
GIFBS_DontUseMovt_GenExecuteOnly_IsThumb1Only,
GIFBS_HasDSP_IsThumb2_UseMulOps,
GIFBS_HasDivideInThumb_HasV8MBaseline_IsThumb,
GIFBS_HasFPARMv8_HasFullFP16_HasNEON,
GIFBS_HasFullFP16_HasNEON_HasV8,
GIFBS_HasFullFP16_HasNEON_HasV8_3a,
GIFBS_HasFullFP16_HasNEON_UseFPVMLx,
GIFBS_HasFullFP16_HasNEON_UseFusedMAC,
GIFBS_HasLOB_HasV8_1MMainline_IsThumb2,
GIFBS_HasNEON_UseFPVMLx_UseNEONForFP,
GIFBS_HasV5TE_IsARM_UseMulOps,
GIFBS_HasV6_IsARM_UseMulOps,
GIFBS_HasV6_IsThumb_IsThumb1Only,
GIFBS_HasV6T2_IsARM_UseMulOps,
GIFBS_HasVFP4_UseFusedMAC_UseNEONForFP,
GIFBS_IsARM_NoV6_UseMulOps,
};
constexpr static PredicateBitset FeatureBitsets[] {
{},
{Feature_HasDotProdBit, },
{Feature_HasFP16Bit, },
{Feature_HasFPARMv8Bit, },
{Feature_HasFPRegsBit, },
{Feature_HasFullFP16Bit, },
{Feature_HasMVEFloatBit, },
{Feature_HasMVEIntBit, },
{Feature_HasMatMulInt8Bit, },
{Feature_HasNEONBit, },
{Feature_HasVFP2Bit, },
{Feature_HasVFP3Bit, },
{Feature_HasVFP4Bit, },
{Feature_IsARMBit, },
{Feature_IsThumbBit, },
{Feature_IsThumb2Bit, },
{Feature_NoHonorSignDependentRoundingBit, },
{Feature_DontUseNEONForFPBit, Feature_HasVFP2Bit, },
{Feature_DontUseNaClTrapBit, Feature_IsARMBit, },
{Feature_DontUseVMOVSRBit, Feature_HasNEONBit, },
{Feature_Has8MSecExtBit, Feature_IsThumbBit, },
{Feature_HasAESBit, Feature_HasV8Bit, },
{Feature_HasBF16Bit, Feature_HasNEONBit, },
{Feature_HasCRCBit, Feature_IsARMBit, },
{Feature_HasCRCBit, Feature_IsThumb2Bit, },
{Feature_HasDBBit, Feature_IsARMBit, },
{Feature_HasDBBit, Feature_IsThumbBit, },
{Feature_HasDPVFPBit, Feature_HasFPARMv8Bit, },
{Feature_HasDPVFPBit, Feature_HasVFP2Bit, },
{Feature_HasDPVFPBit, Feature_HasVFP3Bit, },
{Feature_HasDPVFPBit, Feature_HasVFP4Bit, },
{Feature_HasDPVFPBit, Feature_NoHonorSignDependentRoundingBit, },
{Feature_HasDSPBit, Feature_IsThumb2Bit, },
{Feature_HasDivideInARMBit, Feature_IsARMBit, },
{Feature_HasFP16Bit, Feature_HasNEONBit, },
{Feature_HasFPARMv8Bit, Feature_HasNEONBit, },
{Feature_HasFPRegsBit, Feature_HasFastVGETLNi32Bit, },
{Feature_HasFPRegsBit, Feature_UseVMOVSRBit, },
{Feature_HasFullFP16Bit, Feature_HasNEONBit, },
{Feature_HasMVEIntBit, Feature_HasV8_1MMainlineBit, },
{Feature_HasMVEIntBit, Feature_IsBEBit, },
{Feature_HasMVEIntBit, Feature_IsLEBit, },
{Feature_HasNEONBit, Feature_HasV8Bit, },
{Feature_HasNEONBit, Feature_HasV8_1aBit, },
{Feature_HasNEONBit, Feature_HasV8_3aBit, },
{Feature_HasNEONBit, Feature_HasVFP4Bit, },
{Feature_HasNEONBit, Feature_IsBEBit, },
{Feature_HasNEONBit, Feature_IsLEBit, },
{Feature_HasNEONBit, Feature_UseNEONForFPBit, },
{Feature_HasSHA2Bit, Feature_HasV8Bit, },
{Feature_HasV5TBit, Feature_IsARMBit, },
{Feature_HasV5TBit, Feature_IsThumbBit, },
{Feature_HasV5TEBit, Feature_IsARMBit, },
{Feature_HasV6Bit, Feature_IsARMBit, },
{Feature_HasV6KBit, Feature_IsARMBit, },
{Feature_HasV6MBit, Feature_IsThumbBit, },
{Feature_HasV6T2Bit, Feature_IsARMBit, },
{Feature_HasV7Bit, Feature_IsARMBit, },
{Feature_HasV7ClrexBit, Feature_IsThumbBit, },
{Feature_HasV8MBaselineBit, Feature_IsThumbBit, },
{Feature_IsARMBit, Feature_NoV5TBit, },
{Feature_IsARMBit, Feature_NoV6Bit, },
{Feature_IsARMBit, Feature_PreV8Bit, },
{Feature_IsARMBit, Feature_UseNaClTrapBit, },
{Feature_IsThumbBit, Feature_IsThumb1OnlyBit, },
{Feature_IsThumbBit, Feature_IsWindowsBit, },
{Feature_IsThumbBit, Feature_NoV5TBit, },
{Feature_IsThumbBit, Feature_UseMovtBit, },
{Feature_IsThumb2Bit, Feature_PreV8Bit, },
{Feature_IsThumb2Bit, Feature_UseMulOpsBit, },
{Feature_DontUseMovtBit, Feature_GenExecuteOnlyBit, Feature_IsThumb1OnlyBit, },
{Feature_HasDSPBit, Feature_IsThumb2Bit, Feature_UseMulOpsBit, },
{Feature_HasDivideInThumbBit, Feature_HasV8MBaselineBit, Feature_IsThumbBit, },
{Feature_HasFPARMv8Bit, Feature_HasFullFP16Bit, Feature_HasNEONBit, },
{Feature_HasFullFP16Bit, Feature_HasNEONBit, Feature_HasV8Bit, },
{Feature_HasFullFP16Bit, Feature_HasNEONBit, Feature_HasV8_3aBit, },
{Feature_HasFullFP16Bit, Feature_HasNEONBit, Feature_UseFPVMLxBit, },
{Feature_HasFullFP16Bit, Feature_HasNEONBit, Feature_UseFusedMACBit, },
{Feature_HasLOBBit, Feature_HasV8_1MMainlineBit, Feature_IsThumb2Bit, },
{Feature_HasNEONBit, Feature_UseFPVMLxBit, Feature_UseNEONForFPBit, },
{Feature_HasV5TEBit, Feature_IsARMBit, Feature_UseMulOpsBit, },
{Feature_HasV6Bit, Feature_IsARMBit, Feature_UseMulOpsBit, },
{Feature_HasV6Bit, Feature_IsThumbBit, Feature_IsThumb1OnlyBit, },
{Feature_HasV6T2Bit, Feature_IsARMBit, Feature_UseMulOpsBit, },
{Feature_HasVFP4Bit, Feature_UseFusedMACBit, Feature_UseNEONForFPBit, },
{Feature_IsARMBit, Feature_NoV6Bit, Feature_UseMulOpsBit, },
};
enum {
GICP_Invalid,
};
ARMInstructionSelector::ComplexMatcherMemFn
ARMInstructionSelector::ComplexPredicateFns[] = {
nullptr,
};
enum {
GICXXPred_MI_Predicate_bf_inv_mask_imm = GICXXPred_Invalid + 1,
GICXXPred_MI_Predicate_vfp_f32imm,
GICXXPred_MI_Predicate_vfp_f64imm,
};
bool ARMInstructionSelector::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;
switch (PredicateID) {
case GICXXPred_MI_Predicate_bf_inv_mask_imm: {
const auto &MO = MI.getOperand(1);
if (!MO.isCImm())
return false;
return ARM::isBitFieldInvertedMask(MO.getCImm()->getZExtValue());
llvm_unreachable("bf_inv_mask_imm should have returned");
}
case GICXXPred_MI_Predicate_vfp_f32imm: {
const auto &MO = MI.getOperand(1);
if (!MO.isFPImm())
return false;
return ARM_AM::getFP32Imm(MO.getFPImm()->getValueAPF()) != -1;
llvm_unreachable("vfp_f32imm should have returned");
}
case GICXXPred_MI_Predicate_vfp_f64imm: {
const auto &MO = MI.getOperand(1);
if (!MO.isFPImm())
return false;
return ARM_AM::getFP64Imm(MO.getFPImm()->getValueAPF()) != -1;
llvm_unreachable("vfp_f64imm should have returned");
}
}
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_I64_Predicate_VectorIndex8 = GICXXPred_Invalid + 1,
GICXXPred_I64_Predicate_VectorIndex16,
GICXXPred_I64_Predicate_VectorIndex32,
GICXXPred_I64_Predicate_VectorIndex64,
GICXXPred_I64_Predicate_asr_imm,
GICXXPred_I64_Predicate_imm0_7,
GICXXPred_I64_Predicate_imm0_15,
GICXXPred_I64_Predicate_imm0_31,
GICXXPred_I64_Predicate_imm0_32,
GICXXPred_I64_Predicate_imm0_63,
GICXXPred_I64_Predicate_imm0_239,
GICXXPred_I64_Predicate_imm0_255,
GICXXPred_I64_Predicate_imm0_255_expr,
GICXXPred_I64_Predicate_imm0_4095,
GICXXPred_I64_Predicate_imm0_65535,
GICXXPred_I64_Predicate_imm0_65535_expr,
GICXXPred_I64_Predicate_imm0_65535_neg,
GICXXPred_I64_Predicate_imm1_7,
GICXXPred_I64_Predicate_imm1_15,
GICXXPred_I64_Predicate_imm1_16,
GICXXPred_I64_Predicate_imm1_31,
GICXXPred_I64_Predicate_imm8,
GICXXPred_I64_Predicate_imm8_255,
GICXXPred_I64_Predicate_imm8_or_16,
GICXXPred_I64_Predicate_imm16,
GICXXPred_I64_Predicate_imm16_31,
GICXXPred_I64_Predicate_imm24b,
GICXXPred_I64_Predicate_imm32,
GICXXPred_I64_Predicate_imm256_510,
GICXXPred_I64_Predicate_imm_3b,
GICXXPred_I64_Predicate_imm_4b,
GICXXPred_I64_Predicate_imm_6b,
GICXXPred_I64_Predicate_imm_7b,
GICXXPred_I64_Predicate_imm_9b,
GICXXPred_I64_Predicate_imm_11b,
GICXXPred_I64_Predicate_imm_12b,
GICXXPred_I64_Predicate_imm_13b,
GICXXPred_I64_Predicate_imm_even,
GICXXPred_I64_Predicate_imm_odd,
GICXXPred_I64_Predicate_long_shift,
GICXXPred_I64_Predicate_mod_imm,
GICXXPred_I64_Predicate_mod_imm_not,
GICXXPred_I64_Predicate_pkh_asr_amt,
GICXXPred_I64_Predicate_pkh_lsl_amt,
GICXXPred_I64_Predicate_shr_imm8,
GICXXPred_I64_Predicate_shr_imm16,
GICXXPred_I64_Predicate_shr_imm32,
GICXXPred_I64_Predicate_shr_imm64,
GICXXPred_I64_Predicate_t2_so_imm,
GICXXPred_I64_Predicate_t2_so_imm_neg,
};
bool ARMInstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
switch (PredicateID) {
case GICXXPred_I64_Predicate_VectorIndex8: {
return ((uint64_t)Imm) < 8;
}
case GICXXPred_I64_Predicate_VectorIndex16: {
return ((uint64_t)Imm) < 4;
}
case GICXXPred_I64_Predicate_VectorIndex32: {
return ((uint64_t)Imm) < 2;
}
case GICXXPred_I64_Predicate_VectorIndex64: {
return ((uint64_t)Imm) < 1;
}
case GICXXPred_I64_Predicate_asr_imm: {
return Imm > 0 && Imm <= 32;
}
case GICXXPred_I64_Predicate_imm0_7: {
return Imm >= 0 && Imm < 8;
}
case GICXXPred_I64_Predicate_imm0_15: {
return Imm >= 0 && Imm < 16;
}
case GICXXPred_I64_Predicate_imm0_31: {
return Imm >= 0 && Imm < 32;
}
case GICXXPred_I64_Predicate_imm0_32: {
return Imm >= 0 && Imm < 33;
}
case GICXXPred_I64_Predicate_imm0_63: {
return Imm >= 0 && Imm < 64;
}
case GICXXPred_I64_Predicate_imm0_239: {
return Imm >= 0 && Imm < 240;
}
case GICXXPred_I64_Predicate_imm0_255: {
return Imm >= 0 && Imm < 256;
}
case GICXXPred_I64_Predicate_imm0_255_expr: {
return Imm >= 0 && Imm < 256;
}
case GICXXPred_I64_Predicate_imm0_4095: {
return Imm >= 0 && Imm < 4096;
}
case GICXXPred_I64_Predicate_imm0_65535: {
return Imm >= 0 && Imm < 65536;
}
case GICXXPred_I64_Predicate_imm0_65535_expr: {
return Imm >= 0 && Imm < 65536;
}
case GICXXPred_I64_Predicate_imm0_65535_neg: {
return -Imm >= 0 && -Imm < 65536;
}
case GICXXPred_I64_Predicate_imm1_7: {
return Imm > 0 && Imm < 8;
}
case GICXXPred_I64_Predicate_imm1_15: {
return Imm > 0 && Imm < 16;
}
case GICXXPred_I64_Predicate_imm1_16: {
return Imm > 0 && Imm <= 16;
}
case GICXXPred_I64_Predicate_imm1_31: {
return Imm > 0 && Imm < 32;
}
case GICXXPred_I64_Predicate_imm8: {
return Imm == 8;
}
case GICXXPred_I64_Predicate_imm8_255: {
return Imm >= 8 && Imm < 256;
}
case GICXXPred_I64_Predicate_imm8_or_16: {
return Imm == 8 || Imm == 16;
}
case GICXXPred_I64_Predicate_imm16: {
return Imm == 16;
}
case GICXXPred_I64_Predicate_imm16_31: {
return (int32_t)Imm >= 16 && (int32_t)Imm < 32;
}
case GICXXPred_I64_Predicate_imm24b: {
return Imm >= 0 && Imm <= 0xffffff;
}
case GICXXPred_I64_Predicate_imm32: {
return Imm == 32;
}
case GICXXPred_I64_Predicate_imm256_510: {
return Imm >= 256 && Imm < 511;
}
case GICXXPred_I64_Predicate_imm_3b: {
{ return Imm >= 0 && Imm < (1 << 3); }
llvm_unreachable("imm_3b should have returned");
}
case GICXXPred_I64_Predicate_imm_4b: {
{ return Imm >= 0 && Imm < (1 << 4); }
llvm_unreachable("imm_4b should have returned");
}
case GICXXPred_I64_Predicate_imm_6b: {
{ return Imm >= 0 && Imm < (1 << 6); }
llvm_unreachable("imm_6b should have returned");
}
case GICXXPred_I64_Predicate_imm_7b: {
{ return Imm >= 0 && Imm < (1 << 7); }
llvm_unreachable("imm_7b should have returned");
}
case GICXXPred_I64_Predicate_imm_9b: {
{ return Imm >= 0 && Imm < (1 << 9); }
llvm_unreachable("imm_9b should have returned");
}
case GICXXPred_I64_Predicate_imm_11b: {
{ return Imm >= 0 && Imm < (1 << 11); }
llvm_unreachable("imm_11b should have returned");
}
case GICXXPred_I64_Predicate_imm_12b: {
{ return Imm >= 0 && Imm < (1 << 12); }
llvm_unreachable("imm_12b should have returned");
}
case GICXXPred_I64_Predicate_imm_13b: {
{ return Imm >= 0 && Imm < (1 << 13); }
llvm_unreachable("imm_13b should have returned");
}
case GICXXPred_I64_Predicate_imm_even: {
return (Imm & 1) == 0;
}
case GICXXPred_I64_Predicate_imm_odd: {
return (Imm & 1) == 1;
}
case GICXXPred_I64_Predicate_long_shift: {
return Imm > 0 && Imm <= 32;
}
case GICXXPred_I64_Predicate_mod_imm: {
return ARM_AM::getSOImmVal(Imm) != -1;
}
case GICXXPred_I64_Predicate_mod_imm_not: {
return ARM_AM::getSOImmVal(~(uint32_t)Imm) != -1;
}
case GICXXPred_I64_Predicate_pkh_asr_amt: {
return Imm > 0 && Imm <= 32;
}
case GICXXPred_I64_Predicate_pkh_lsl_amt: {
return Imm >= 0 && Imm < 32;
}
case GICXXPred_I64_Predicate_shr_imm8: {
return Imm > 0 && Imm <= 8;
}
case GICXXPred_I64_Predicate_shr_imm16: {
return Imm > 0 && Imm <= 16;
}
case GICXXPred_I64_Predicate_shr_imm32: {
return Imm > 0 && Imm <= 32;
}
case GICXXPred_I64_Predicate_shr_imm64: {
return Imm > 0 && Imm <= 64;
}
case GICXXPred_I64_Predicate_t2_so_imm: {
return ARM_AM::getT2SOImmVal(Imm) != -1;
}
case GICXXPred_I64_Predicate_t2_so_imm_neg: {
return Imm && ARM_AM::getT2SOImmVal(-(uint32_t)Imm) != -1;
}
}
llvm_unreachable("Unknown predicate");
return false;
}
bool ARMInstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_APInt_Predicate_arm_i32imm = GICXXPred_Invalid + 1,
};
bool ARMInstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
switch (PredicateID) {
case GICXXPred_APInt_Predicate_arm_i32imm: {
if (Subtarget->useMovt())
return true;
if (ARM_AM::isSOImmTwoPartVal(Imm.getZExtValue()))
return true;
return ARM_AM::isSOImmTwoPartValNeg(Imm.getZExtValue());
llvm_unreachable("arm_i32imm should have returned");
}
}
llvm_unreachable("Unknown predicate");
return false;
}
bool ARMInstructionSelector::testSimplePredicate(unsigned) const {
llvm_unreachable("ARMInstructionSelector does not support simple predicates!");
return false;
}
enum {
GICR_Invalid,
GICR_renderInvertedImm,
GICR_renderVFPF32Imm,
GICR_renderVFPF64Imm,
};
ARMInstructionSelector::CustomRendererFn
ARMInstructionSelector::CustomRenderers[] = {
nullptr,
&ARMInstructionSelector::renderInvertedImm,
&ARMInstructionSelector::renderVFPF32Imm,
&ARMInstructionSelector::renderVFPF64Imm,
};
bool ARMInstructionSelector::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 ARMInstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
llvm_unreachable("ARMInstructionSelector 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 *ARMInstructionSelector::getMatchTable() const {
constexpr static uint8_t MatchTable0[] = {
GIM_SwitchOpcode, 0, GIMT_Encode2(53), GIMT_Encode2(299), GIMT_Encode4(126085),
GIMT_Encode4(994),
GIMT_Encode4(6619),
GIMT_Encode4(9767),
GIMT_Encode4(10637),
GIMT_Encode4(10733), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(10829),
GIMT_Encode4(13789),
GIMT_Encode4(19520), 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(21093), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(21519), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(31967),
GIMT_Encode4(32259), 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(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(32518), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(32539),
GIMT_Encode4(88261), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(95923),
GIMT_Encode4(96081),
GIMT_Encode4(96239),
GIMT_Encode4(96519), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(96615), GIMT_Encode4(0),
GIMT_Encode4(96773),
GIMT_Encode4(96931),
GIMT_Encode4(97042),
GIMT_Encode4(97098), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(97327), 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(97609),
GIMT_Encode4(97851),
GIMT_Encode4(98214),
GIMT_Encode4(98853),
GIMT_Encode4(100147),
GIMT_Encode4(100786), 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(101800),
GIMT_Encode4(104112),
GIMT_Encode4(105776),
GIMT_Encode4(106756), GIMT_Encode4(0),
GIMT_Encode4(108571), 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(108736),
GIMT_Encode4(110277),
GIMT_Encode4(110507),
GIMT_Encode4(110779),
GIMT_Encode4(112109),
GIMT_Encode4(113439),
GIMT_Encode4(114083), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(114727), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(115497),
GIMT_Encode4(116085), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(116673),
GIMT_Encode4(117389),
GIMT_Encode4(118105),
GIMT_Encode4(118138),
GIMT_Encode4(118174),
GIMT_Encode4(118239), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(118272),
GIMT_Encode4(118809),
GIMT_Encode4(119346),
GIMT_Encode4(120261),
GIMT_Encode4(121176), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(121641), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(121714),
GIMT_Encode4(122014), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(122169), GIMT_Encode4(0),
GIMT_Encode4(122724),
GIMT_Encode4(122832),
GIMT_Encode4(123118),
GIMT_Encode4(123544), 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(123803),
GIMT_Encode4(123941),
GIMT_Encode4(124200),
GIMT_Encode4(124492), 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(124630),
GIMT_Encode4(124676), 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(124763), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(124939),
GIMT_Encode4(125219),
GIMT_Encode4(125508),
GIMT_Encode4(125789),
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(16), GIMT_Encode4(6618),
GIMT_Encode4(1065),
GIMT_Encode4(3145), GIMT_Encode4(0),
GIMT_Encode4(3192),
GIMT_Encode4(3377), GIMT_Encode4(0),
GIMT_Encode4(4088),
GIMT_Encode4(4273), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(5227),
GIMT_Encode4(5412), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6366),
GIM_Try, GIMT_Encode4(3144),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(1151),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(255),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTAB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1226),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTAH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1301),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(255),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTAB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1376),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTAH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1451),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(255),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTAB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1526),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTAH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1601),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(255),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTAB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1676),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTAH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1786),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV5TE_IsARM_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt8, 2, 2, 16,
GIM_RecordInsn, 3, 1, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt8, 3, 2, 16,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::SMLATT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 3, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1896),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 16,
GIM_RecordInsn, 3, 1, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 3, 2, 16,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SMLATT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 3, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2006),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV5TE_IsARM_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt8, 2, 2, 16,
GIM_RecordInsn, 3, 1, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt8, 3, 2, 16,
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::SMLATT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 3, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2116),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 16,
GIM_RecordInsn, 3, 1, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 3, 2, 16,
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SMLATT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 3, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2173),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::ADDri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2230),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ADDri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2281),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm0_4095),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ADDri12),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2357),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::MLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2433),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM_NoV6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::MLAv5),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2503),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2573),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SMULH),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::SMMLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2643),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SMULH),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SMMLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2719),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::MLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2795),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM_NoV6),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::MLAv5),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2865),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2935),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SMULH),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::SMMLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3005),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SMULH),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SMMLA),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3051),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::ADDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3097),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ADDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3143),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ADDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3191),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv1i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3376),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(3273),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckType, 1, 2, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3339),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckType, 1, 2, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3375),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4087),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_Try, GIMT_Encode4(3460),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3528),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3596),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLsv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3664),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3732),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3838),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWsv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3891),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3944),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3997),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWsv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4050),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4086),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4272),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(4169),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckType, 1, 2, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4235),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckType, 1, 2, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4271),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5226),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(4356),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4428),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4500),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLsv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4572),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4644),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4714),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4771),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4828),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWsv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4885),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4955),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5012),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5069),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWsv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5126),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5166),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5225),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VADDi32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5411),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(5308),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckType, 1, 2, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5374),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckType, 1, 2, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5410),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6365),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(5495),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5567),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5639),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLsv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5711),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5783),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5853),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5910),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5967),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWsv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6024),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6094),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6151),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6208),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWsv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDWuv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6305),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6364),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VADDi16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6617),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(6447),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6517),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLAv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6557),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VADDv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6616),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VADDi8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(16), GIMT_Encode4(9766),
GIMT_Encode4(6690),
GIMT_Encode4(7214), GIMT_Encode4(0),
GIMT_Encode4(7261),
GIMT_Encode4(7376), GIMT_Encode4(0),
GIMT_Encode4(7928),
GIMT_Encode4(8043), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(8756),
GIMT_Encode4(8871), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(9584),
GIM_Try, GIMT_Encode4(7213),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(6758),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::RSBri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6815),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2RSBri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6872),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::SUBri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6929),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SUBri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6980),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm0_4095),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SUBri12),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7050),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6T2_IsARM_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::MLS),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7120),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MLS),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7166),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::SUBrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7212),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SUBrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(7260),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv1i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(7375),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(7342),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckType, 1, 2, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLSv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7374),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(7927),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_Try, GIMT_Encode4(7459),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7527),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7595),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLsv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7663),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7731),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv2i64),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7784),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWuv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7837),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWsv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7890),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v2s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWuv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7926),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv2i64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(8042),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(8009),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckType, 1, 2, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLSv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8041),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(8755),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(8126),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8198),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8270),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLsv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8342),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8414),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv4i32),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8484),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLSv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8541),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWuv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8598),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWsv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8655),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v4s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWuv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8695),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8754),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VSUBi32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(8870),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(8837),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckType, 1, 2, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLSv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8869),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9583),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(8954),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9026),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9098),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLsv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9170),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9242),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 2, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBLuv8i16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9312),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLSv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9369),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWuv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9426),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWsv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9483),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckType, 1, 1, GILLT_v8s8,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBWuv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9523),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9582),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VSUBi16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9765),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(9665),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
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(ARM::QPRRegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::VMLSv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9705),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VSUBv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9764),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VSUBi8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(16), GIMT_Encode4(10636),
GIMT_Encode4(9838), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(10159), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(10206),
GIMT_Encode4(10253), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(10365),
GIMT_Encode4(10412), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(10524),
GIM_Try, GIMT_Encode4(10158),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(9937),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV5TE_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 1, 2, 16,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 16,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::SMULTT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10025),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 1, 2, 16,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 16,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SMULTT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10071),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::MUL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10117),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM_NoV6_UseMulOps),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::MULv5),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10157),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MUL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10205),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMULv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(10252),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMULv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(10364),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(10304),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMULv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10363),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VMULi32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10411),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMULv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(10523),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(10463),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMULv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10522),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VMULi16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10635),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(10575),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMULv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10634),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VMULi8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10732),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(10691),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDivideInARM_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::SDIV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10731),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDivideInThumb_HasV8MBaseline_IsThumb),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2SDIV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10828),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(10787),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDivideInARM_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::UDIV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10827),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDivideInThumb_HasV8MBaseline_IsThumb),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UDIV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(16), GIMT_Encode4(13788),
GIMT_Encode4(10900),
GIMT_Encode4(12704),
GIMT_Encode4(12751),
GIMT_Encode4(12863),
GIMT_Encode4(12910),
GIMT_Encode4(13022),
GIMT_Encode4(13134),
GIMT_Encode4(13181), GIMT_Encode4(0),
GIMT_Encode4(13293),
GIMT_Encode4(13405),
GIMT_Encode4(13452), GIMT_Encode4(0),
GIMT_Encode4(13564),
GIMT_Encode4(13676),
GIM_Try, GIMT_Encode4(12703),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(10984),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 1, 2, 8,
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(16711935),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTB16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11057),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 1, 2, 8,
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(16711935),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTB16),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11105),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(255),
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11153),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(65535),
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11201),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(16711935),
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTB16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11249),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(255),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11297),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(65535),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11345),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(16711935),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTB16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11422),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-1),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11499),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-1),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11653),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11730),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-1),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11807),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-1),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11884),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11961),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12032),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::BICrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12103),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2BICrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12174),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::BICrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12245),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2BICrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12290),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsThumb_IsThumb1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::tGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::tGPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(255),
GIR_BuildRootMI, GIMT_Encode2(ARM::tUXTB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12335),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsThumb_IsThumb1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::tGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::tGPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(65535),
GIR_BuildRootMI, GIMT_Encode2(ARM::tUXTH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12394),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm_not),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::BICri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CustomRenderer, 0, 1, GIMT_Encode2(GICR_renderInvertedImm),
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12451),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::ANDri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12508),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ANDri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12559),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6T2_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckCxxInsnPredicate, 1, GIMT_Encode2(GICXXPred_MI_Predicate_bf_inv_mask_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::BFC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12610),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckCxxInsnPredicate, 1, GIMT_Encode2(GICXXPred_MI_Predicate_bf_inv_mask_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2BFC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12656),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::ANDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12702),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ANDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(12750),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(12862),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ANDrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(12909),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(13021),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(12961),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13020),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VAND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(13133),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ANDrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(13180),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(13292),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(13232),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13291),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VAND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(13404),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ANDrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(13451),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(13563),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(13503),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13562),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VAND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(13675),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ANDrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(13787),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(13727),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VANDq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13786),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VAND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(16), GIMT_Encode4(19519),
GIMT_Encode4(13860),
GIMT_Encode4(18435),
GIMT_Encode4(18482),
GIMT_Encode4(18594),
GIMT_Encode4(18641),
GIMT_Encode4(18753),
GIMT_Encode4(18865),
GIMT_Encode4(18912), GIMT_Encode4(0),
GIMT_Encode4(19024),
GIMT_Encode4(19136),
GIMT_Encode4(19183), GIMT_Encode4(0),
GIMT_Encode4(19295),
GIMT_Encode4(19407),
GIM_Try, GIMT_Encode4(18434),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(13998),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 8,
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(255),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_RecordInsn, 4, 3, 1,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckIsSameOperand, 4, 1, 2, 1,
GIM_CheckConstantInt8, 4, 2, 24,
GIM_CheckConstantInt8, 3, 2, 16,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::REVSH),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14125),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 8,
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(255),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_RecordInsn, 4, 3, 1,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckIsSameOperand, 4, 1, 2, 1,
GIM_CheckConstantInt8, 4, 2, 24,
GIM_CheckConstantInt8, 3, 2, 16,
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2REVSH),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14252),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 24,
GIM_CheckConstantInt8, 1, 2, 16,
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_RecordInsn, 4, 3, 1,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckIsSameOperand, 4, 1, 2, 1,
GIM_CheckConstantInt8, 4, 2, 8,
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(255),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::REVSH),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14379),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 2, 2, 24,
GIM_CheckConstantInt8, 1, 2, 16,
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_RecordInsn, 4, 3, 1,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckIsSameOperand, 4, 1, 2, 1,
GIM_CheckConstantInt8, 4, 2, 8,
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(255),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2REVSH),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14512),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_asr_amt),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 4, 0, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 4, 1, GILLT_s32,
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckRegBankForClass, 4, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 4, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 4, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14645),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_asr_amt),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 4, 0, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 4, 1, GILLT_s32,
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckRegBankForClass, 4, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 4, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 4, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14778),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm1_15),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 4, 0, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 4, 1, GILLT_s32,
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckRegBankForClass, 4, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 4, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 4, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14911),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm1_15),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 4, 0, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 4, 1, GILLT_s32,
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckRegBankForClass, 4, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 4, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 4, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15044),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_lsl_amt),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 4, 0, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 4, 1, GILLT_s32,
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckRegBankForClass, 4, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 4, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 4, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15177),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_lsl_amt),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 4, 0, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 4, 1, GILLT_s32,
GIM_CheckType, 4, 2, GILLT_s32,
GIM_CheckRegBankForClass, 4, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 4, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 4, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15310),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_asr_amt),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 3, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15443),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_asr_amt),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 3, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_imm1_15),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 3, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15709),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_imm1_15),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 3, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15842),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_lsl_amt),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 3, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15975),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_RecordInsn, 3, 2, 1,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 4, 3, 2,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 4, GIMT_Encode2(GICXXPred_I64_Predicate_pkh_lsl_amt),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 4,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 3, 1,
GIR_CopyConstantAsSImm, 0, 4,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16185),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16290),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16395),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 2, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16501),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16607),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16713),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm16),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16819),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(4294901760),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm16),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16925),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17031),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 1, 2, GIMT_Encode8(65535),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_CopyConstantAsSImm, 0, 3,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17137),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 3, 1,
GIR_Copy, 0, 1, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17243),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ASHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 3, 1,
GIR_Copy, 0, 1, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17349),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_imm16),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 3, 1,
GIR_Copy, 0, 1, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17455),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_imm16),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(4294901760),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHTB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 3, 1,
GIR_Copy, 0, 1, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17561),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
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(ARM::GPRnopcRegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 3, 1,
GIR_Copy, 0, 1, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17667),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
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(ARM::rGPRRegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_imm16_31),
GIM_RecordInsn, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 3, 1, GILLT_s32,
GIM_CheckType, 3, 2, GILLT_s32,
GIM_CheckRegBankForClass, 3, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 3, 2, GIMT_Encode8(65535),
GIM_CheckIsSafeToFold, 3,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2PKHBT),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 3, 1,
GIR_Copy, 0, 1, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17744),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-1),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORNri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17821),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORNri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17898),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-1),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORNri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17975),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORNri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18046),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORNrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18117),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORNrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18172),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6T2_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(4294901760),
GIR_BuildRootMI, GIMT_Encode2(ARM::MOVTi16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm, 0, GIMT_Encode8(65535),
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18227),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(4294901760),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MOVTi16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm, 0, GIMT_Encode8(65535),
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18284),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::ORRri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18341),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORRri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18387),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::ORRrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18433),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2ORRrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(18481),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18593),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ORRrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18640),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18752),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(18692),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18751),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VORR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(18864),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ORRrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18911),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19023),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(18963),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VORR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(19135),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ORRrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19182),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19294),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(19234),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19293),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VORR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(19406),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2ORRrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19518),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(19458),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VORRq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19517),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VORR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(16), GIMT_Encode4(21092),
GIMT_Encode4(19591),
GIMT_Encode4(20008),
GIMT_Encode4(20055),
GIMT_Encode4(20167),
GIMT_Encode4(20214),
GIMT_Encode4(20326),
GIMT_Encode4(20438),
GIMT_Encode4(20485), GIMT_Encode4(0),
GIMT_Encode4(20597),
GIMT_Encode4(20709),
GIMT_Encode4(20756), GIMT_Encode4(0),
GIMT_Encode4(20868),
GIMT_Encode4(20980),
GIM_Try, GIMT_Encode4(20007),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_Try, GIMT_Encode4(19657),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 0, 1, uint8_t(-1),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MVNi),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19712),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MVNi),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19756),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2MVNr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19800),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(ARM::MVNr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19857),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_mod_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::EORri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19914),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_t2_so_imm),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(ARM::t2EORri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19960),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsARM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::EORrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20006),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsThumb2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2EORrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(20054),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20166),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2EORrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20213),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20325),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(20265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20324),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VEOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(20437),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2EORrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20484),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20596),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(20536),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20595),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VEOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(20708),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2EORrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20755),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20867),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(20807),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20866),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VEOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(20979),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::VCCRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
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(ARM::t2EORrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::VCCRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(21091),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(21031),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VEORq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21090),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VEOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(21518),
GIM_CheckNumOperands, 0, 3,
GIM_SwitchType, 0, 0, GIMT_Encode2(5), GIMT_Encode2(16), GIMT_Encode4(21517),
GIMT_Encode4(21156), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(21214), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(21317), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(21459),
GIM_Try, GIMT_Encode4(21213),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::REG_SEQUENCE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 2,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_ConstrainOperandRC, 0, 3, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(21316),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(21276),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::REG_SEQUENCE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 2,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_ConstrainOperandRC, 0, 3, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21315),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::REG_SEQUENCE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 2,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_ConstrainOperandRC, 0, 3, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(21458),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIM_Try, GIMT_Encode4(21379),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::REG_SEQUENCE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 2,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_ConstrainOperandRC, 0, 3, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21418),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::REG_SEQUENCE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 2,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_ConstrainOperandRC, 0, 3, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21457),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::REG_SEQUENCE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 2,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_ConstrainOperandRC, 0, 3, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(21516),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::REG_SEQUENCE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 2,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_ConstrainOperandRC, 0, 3, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(16), GIMT_Encode4(31966),
GIMT_Encode4(21590),
GIMT_Encode4(21738), GIMT_Encode4(0),
GIMT_Encode4(22631),
GIMT_Encode4(23524), GIMT_Encode4(0),
GIMT_Encode4(25361),
GIMT_Encode4(26525), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(28362),
GIMT_Encode4(28846), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(30954),
GIM_Try, GIMT_Encode4(21737),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(21632),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPRegs),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::SPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMOVRS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21666),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPRegs_UseVMOVSR),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VMOVSR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21736),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_DontUseVMOVSR_HasNEON),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::GPRRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(ARM::VMOVDRR),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_Copy, 1, 0, 1,
GIR_AddImm8, 1, 14,
GIR_AddRegister, 1, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(ARM::ssub_0),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(ARM::DPR_VFP2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(21770),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21802),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21834),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21866),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21898),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21930),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21962),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21994),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22026),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22058),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22090),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22122),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22154),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22186),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22223),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22260),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22297),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22334),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22371),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22408),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22445),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22482),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22519),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22556),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22593),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22630),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(22663),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22695),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22727),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22759),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22791),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22823),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22855),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22887),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22919),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22951),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22983),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23015),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23047),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23079),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23116),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23153),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23227),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23264),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23301),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23338),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23375),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23412),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23449),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23486),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23523),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(23556),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23588),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23620),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23652),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23684),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23716),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23748),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23780),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23812),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23844),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23876),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23908),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23940),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23972),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24009),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24046),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24083),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24120),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24157),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24194),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24231),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24268),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24305),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24342),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24379),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24416),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24448),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24480),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24512),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24544),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24608),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24640),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24672),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24704),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24736),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24768),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24800),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24856),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24912),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24968),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25024),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25136),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25192),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25248),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25304),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25360),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(25393),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25425),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25457),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25489),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25521),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25553),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25585),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25617),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25649),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25681),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25713),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25745),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25777),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25809),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25841),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25873),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25905),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25937),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25969),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26006),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26043),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26117),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26154),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26191),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26228),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26302),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26339),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26376),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26413),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26450),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26487),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26524),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(26557),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26589),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26621),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26653),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26685),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26717),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26749),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26781),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26813),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26845),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26877),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26909),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26941),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26973),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27010),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27047),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27084),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27121),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27158),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27195),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27232),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27269),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27306),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27343),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27380),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27417),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27449),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27481),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27513),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27545),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27577),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27609),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27641),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27673),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27705),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27737),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27769),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27801),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27857),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27913),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27969),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28025),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28081),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28137),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28193),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28249),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28305),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28361),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(28394),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28426),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28458),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28490),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28522),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28554),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28586),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28623),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28660),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28697),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28734),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28771),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28808),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28845),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16d8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(28878),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28910),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28942),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28974),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29006),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29038),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29070),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29102),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29134),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29166),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29198),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29230),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29262),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29294),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29326),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29358),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29390),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29422),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29454),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29491),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29528),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29565),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29602),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29639),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29676),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29713),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29750),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29787),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29824),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29861),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29898),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29935),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29972),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30009),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30041),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30073),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30105),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30137),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30169),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30201),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30233),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30297),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30329),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30361),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30393),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30449),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30505),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30561),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30617),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30673),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV16_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30729),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30841),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30897),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30953),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV16_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(30986),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31018),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31050),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31082),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31114),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31146),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31178),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31215),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31252),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV64q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31289),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31326),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV32q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31363),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31400),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31437),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VREV16q8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31469),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31501),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31533),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31565),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31597),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31629),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsLE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31685),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31741),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV64_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31797),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31853),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV32_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31909),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV16_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31965),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEInt_IsBE),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VREV16_8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(13), GIMT_Encode4(32258),
GIMT_Encode4(32030),
GIMT_Encode4(32068),
GIMT_Encode4(32106), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(32144), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(32201),
GIM_Try, GIMT_Encode4(32067),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFullFP16),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::HPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::HPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRINTZH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32105),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPARMv8),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::SPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRINTZS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32143),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDPVFP_HasFPARMv8),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRINTZD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32200),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEFloat),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VRINTf32Z),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32257),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEFloat),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VRINTf16Z),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(13), GIMT_Encode4(32517),
GIMT_Encode4(32322),
GIMT_Encode4(32349),
GIMT_Encode4(32376), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(32403), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(32460),
GIM_Try, GIMT_Encode4(32348),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFullFP16),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::HPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::HPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(ARM::VRINTAH),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32375),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPARMv8),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::SPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(ARM::VRINTAS),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32402),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDPVFP_HasFPARMv8),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::DPRRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(ARM::VRINTAD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32459),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEFloat),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VRINTf32A),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(32516),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMVEFloat),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::MQPRRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(ARM::MQPRRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddSimpleTempRegister, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(ARM::MVE_VRINTf16A),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(32538),
GIM_RootCheckType, 1, GILLT_s32,
GIM_CheckIsImm, 0, 0,
GIM_CheckConstantInt8, 0, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::MEMBARRIER),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(38341),
GIM_CheckNumOperands, 0, 3,
GIM_Try, GIMT_Encode4(32595),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasV6_IsARM),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_uxtb16),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::GPRnopcRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::GPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::UXTB16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32643),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDSP_IsThumb2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_uxtb16),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::rGPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::rGPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::t2UXTB16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 0,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32679),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFullFP16),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrintn),
GIM_RootCheckType, 0, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::HPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::HPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRINTNH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32715),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPARMv8),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrintn),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::SPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRINTNS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32751),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDPVFP_HasFPARMv8),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrintn),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRINTND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32796),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDPVFP_HasVFP2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_vcvtr),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VTOSIRD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32841),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_DontUseNEONForFP_HasVFP2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_vcvtr),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::SPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VTOSIRS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32886),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDPVFP_HasVFP2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_vcvtru),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VTOUIRD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32931),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_DontUseNEONForFP_HasVFP2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_vcvtru),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::SPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::SPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VTOUIRS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32976),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddls),
GIM_RootCheckType, 0, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLsv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33021),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddls),
GIM_RootCheckType, 0, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLsv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33066),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddls),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLsv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33111),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddls),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLsv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33156),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddls),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLsv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33201),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddls),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLsv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33246),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddlu),
GIM_RootCheckType, 0, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLuv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33291),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddlu),
GIM_RootCheckType, 0, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLuv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33336),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddlu),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLuv2i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33381),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddlu),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLuv16i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33426),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddlu),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLuv8i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33471),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vpaddlu),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VPADDLuv4i32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33516),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrecpe),
GIM_RootCheckType, 0, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRECPEd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33561),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrecpe),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRECPEq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33606),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrecpe),
GIM_RootCheckType, 0, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRECPEfd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33651),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrecpe),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRECPEfq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33696),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFullFP16_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrecpe),
GIM_RootCheckType, 0, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRECPEhd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33741),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFullFP16_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrecpe),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRECPEhq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33786),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrsqrte),
GIM_RootCheckType, 0, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRSQRTEd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33831),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrsqrte),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRSQRTEq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33876),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrsqrte),
GIM_RootCheckType, 0, GILLT_v2s32,
GIM_RootCheckType, 2, GILLT_v2s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRSQRTEfd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33921),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrsqrte),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRSQRTEfq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33966),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFullFP16_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrsqrte),
GIM_RootCheckType, 0, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRSQRTEhd),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34011),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFullFP16_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vrsqrte),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::QPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::QPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VRSQRTEhq),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34056),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vqabs),
GIM_RootCheckType, 0, GILLT_v8s8,
GIM_RootCheckType, 2, GILLT_v8s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VQABSv8i8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddImm8, 0, 14,
GIR_AddRegister, 0, GIMT_Encode2(ARM::NoRegister), GIMT_Encode2(0),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34101),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNEON),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::arm_neon_vqabs),
GIM_RootCheckType, 0, GILLT_v4s16,
GIM_RootCheckType, 2, GILLT_v4s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(ARM::DPRRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(ARM::DPRRegClassID),
GIR_BuildRootMI, GIMT_Encode2(ARM::VQABSv4i16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,#undef GIMT_Encode2#undef GIMT_Encode4#undef GIMT_Encode8#endif #ifdef GET_GLOBALISEL_PREDICATES_DECL#endif #ifdef GET_GLOBALISEL_PREDICATES_INIT#endif