#ifdef GET_GLOBALISEL_PREDICATE_BITSET
const unsigned MAX_SUBTARGET_PREDICATES = …;
PredicateBitset;
#endif
#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
mutable MatcherState State;
typedef ComplexRendererFns(PPCInstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
typedef void(PPCInstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
static PPCInstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
static PPCInstructionSelector::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_s1,
GILLT_s32,
GILLT_s64,
GILLT_s128,
GILLT_v2s64,
GILLT_v4s32,
GILLT_v8s16,
GILLT_v16s8,
GILLT_v256s1,
GILLT_v512s1,
};
const static size_t NumTypeObjects = 10;
const static LLT TypeObjects[] = {
LLT::scalar(1),
LLT::scalar(32),
LLT::scalar(64),
LLT::scalar(128),
LLT::vector(ElementCount::getFixed(2), 64),
LLT::vector(ElementCount::getFixed(4), 32),
LLT::vector(ElementCount::getFixed(8), 16),
LLT::vector(ElementCount::getFixed(16), 8),
LLT::vector(ElementCount::getFixed(256), 1),
LLT::vector(ElementCount::getFixed(512), 1),
};
enum SubtargetFeatureBits : uint8_t {
Feature_In32BitModeBit = 1,
Feature_In64BitModeBit = 9,
Feature_HasOnlyMSYNCBit = 23,
Feature_HasSYNCBit = 22,
Feature_HasSPEBit = 8,
Feature_HasICBTBit = 21,
Feature_HasBPERMDBit = 10,
Feature_HasExtDivBit = 3,
Feature_IsISA2_06Bit = 11,
Feature_IsISA2_07Bit = 40,
Feature_IsISA3_0Bit = 2,
Feature_HasFPUBit = 0,
Feature_PCRelativeMemopsBit = 37,
Feature_IsNotISA3_1Bit = 39,
Feature_IsAIXBit = 24,
Feature_NotAIXBit = 25,
Feature_IsISAFutureBit = 20,
Feature_IsNotISAFutureBit = 18,
Feature_HasAltivecBit = 4,
Feature_HasP8AltivecBit = 5,
Feature_HasP8CryptoBit = 6,
Feature_HasP9AltivecBit = 7,
Feature_HasVSXBit = 12,
Feature_IsLittleEndianBit = 26,
Feature_IsBigEndianBit = 27,
Feature_IsPPC64Bit = 31,
Feature_HasOnlySwappingMemOpsBit = 29,
Feature_NoP8VectorBit = 30,
Feature_HasP8VectorBit = 13,
Feature_HasDirectMoveBit = 14,
Feature_NoP9VectorBit = 28,
Feature_HasP9VectorBit = 15,
Feature_NoP9AltivecBit = 32,
Feature_NoP10VectorBit = 33,
Feature_HasP10VectorBit = 36,
Feature_HasHTMBit = 34,
Feature_IsPPC32Bit = 38,
Feature_PrefixInstrsBit = 16,
Feature_IsISA3_1Bit = 17,
Feature_PairedVectorMemopsBit = 35,
Feature_MMABit = 19,
};
PredicateBitset PPCInstructionSelector::
computeAvailableModuleFeatures(const PPCSubtarget *Subtarget) const {
PredicateBitset Features{};
if (!Subtarget->isPPC64())
Features.set(Feature_In32BitModeBit);
if (Subtarget->isPPC64())
Features.set(Feature_In64BitModeBit);
if (Subtarget->hasOnlyMSYNC())
Features.set(Feature_HasOnlyMSYNCBit);
if (!Subtarget->hasOnlyMSYNC())
Features.set(Feature_HasSYNCBit);
if (Subtarget->hasSPE())
Features.set(Feature_HasSPEBit);
if (Subtarget->hasICBT())
Features.set(Feature_HasICBTBit);
if (Subtarget->hasBPERMD())
Features.set(Feature_HasBPERMDBit);
if (Subtarget->hasExtDiv())
Features.set(Feature_HasExtDivBit);
if (Subtarget->isISA2_06())
Features.set(Feature_IsISA2_06Bit);
if (Subtarget->isISA2_07())
Features.set(Feature_IsISA2_07Bit);
if (Subtarget->isISA3_0())
Features.set(Feature_IsISA3_0Bit);
if (Subtarget->hasFPU())
Features.set(Feature_HasFPUBit);
if (Subtarget->hasPCRelativeMemops())
Features.set(Feature_PCRelativeMemopsBit);
if (!Subtarget->isISA3_1())
Features.set(Feature_IsNotISA3_1Bit);
if (Subtarget->isAIXABI())
Features.set(Feature_IsAIXBit);
if (!Subtarget->isAIXABI())
Features.set(Feature_NotAIXBit);
if (Subtarget->isISAFuture())
Features.set(Feature_IsISAFutureBit);
if (!Subtarget->isISAFuture())
Features.set(Feature_IsNotISAFutureBit);
if (Subtarget->hasAltivec())
Features.set(Feature_HasAltivecBit);
if (Subtarget->hasP8Altivec())
Features.set(Feature_HasP8AltivecBit);
if (Subtarget->hasP8Crypto())
Features.set(Feature_HasP8CryptoBit);
if (Subtarget->hasP9Altivec())
Features.set(Feature_HasP9AltivecBit);
if (Subtarget->hasVSX())
Features.set(Feature_HasVSXBit);
if (Subtarget->isLittleEndian())
Features.set(Feature_IsLittleEndianBit);
if (!Subtarget->isLittleEndian())
Features.set(Feature_IsBigEndianBit);
if (Subtarget->isPPC64())
Features.set(Feature_IsPPC64Bit);
if (!Subtarget->hasP9Vector())
Features.set(Feature_HasOnlySwappingMemOpsBit);
if (!Subtarget->hasP8Vector())
Features.set(Feature_NoP8VectorBit);
if (Subtarget->hasP8Vector())
Features.set(Feature_HasP8VectorBit);
if (Subtarget->hasDirectMove())
Features.set(Feature_HasDirectMoveBit);
if (!Subtarget->hasP9Vector())
Features.set(Feature_NoP9VectorBit);
if (Subtarget->hasP9Vector())
Features.set(Feature_HasP9VectorBit);
if (!Subtarget->hasP9Altivec())
Features.set(Feature_NoP9AltivecBit);
if (!Subtarget->hasP10Vector())
Features.set(Feature_NoP10VectorBit);
if (Subtarget->hasP10Vector())
Features.set(Feature_HasP10VectorBit);
if (Subtarget->hasHTM())
Features.set(Feature_HasHTMBit);
if (!Subtarget->isPPC64())
Features.set(Feature_IsPPC32Bit);
if (Subtarget->hasPrefixInstrs())
Features.set(Feature_PrefixInstrsBit);
if (Subtarget->isISA3_1())
Features.set(Feature_IsISA3_1Bit);
if (Subtarget->pairedVectorMemops())
Features.set(Feature_PairedVectorMemopsBit);
if (Subtarget->hasMMA())
Features.set(Feature_MMABit);
return Features;
}
void PPCInstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
AvailableFunctionFeatures = computeAvailableFunctionFeatures((const PPCSubtarget *)&MF.getSubtarget(), &MF);
}
PredicateBitset PPCInstructionSelector::
computeAvailableFunctionFeatures(const PPCSubtarget *Subtarget, const MachineFunction *MF) const {
PredicateBitset Features{};
return Features;
}
enum {
GIFBS_Invalid,
GIFBS_HasAltivec,
GIFBS_HasBPERMD,
GIFBS_HasExtDiv,
GIFBS_HasFPU,
GIFBS_HasHTM,
GIFBS_HasOnlyMSYNC,
GIFBS_HasP8Altivec,
GIFBS_HasP8Crypto,
GIFBS_HasP9Altivec,
GIFBS_HasSPE,
GIFBS_HasSYNC,
GIFBS_HasVSX,
GIFBS_In32BitMode,
GIFBS_In64BitMode,
GIFBS_IsAIX,
GIFBS_IsISA3_0,
GIFBS_IsISA3_1,
GIFBS_IsNotISA3_1,
GIFBS_NotAIX,
GIFBS_HasDirectMove_HasVSX,
GIFBS_HasFPU_IsISA3_1,
GIFBS_HasP10Vector_PrefixInstrs,
GIFBS_HasP8Altivec_HasVSX,
GIFBS_HasP8Vector_HasVSX,
GIFBS_HasP9Vector_HasVSX,
GIFBS_HasVSX_IsISA3_1,
GIFBS_In64BitMode_IsISA3_0,
GIFBS_IsISAFuture_MMA,
GIFBS_IsNotISAFuture_MMA,
GIFBS_HasP8Altivec_HasVSX_IsBigEndian,
GIFBS_HasP8Altivec_HasVSX_IsLittleEndian,
GIFBS_IsISAFuture_MMA_PrefixInstrs,
GIFBS_IsNotISAFuture_MMA_PrefixInstrs,
GIFBS_HasDirectMove_HasVSX_IsISA3_0_IsLittleEndian,
GIFBS_HasDirectMove_HasVSX_IsLittleEndian_NoP9Vector,
GIFBS_HasVSX_IsBigEndian_IsISA3_1_IsPPC32,
GIFBS_HasDirectMove_HasVSX_IsBigEndian_IsISA3_0_IsPPC64,
GIFBS_HasDirectMove_HasVSX_IsBigEndian_IsPPC64_NoP9Vector,
};
constexpr static PredicateBitset FeatureBitsets[] {
{},
{Feature_HasAltivecBit, },
{Feature_HasBPERMDBit, },
{Feature_HasExtDivBit, },
{Feature_HasFPUBit, },
{Feature_HasHTMBit, },
{Feature_HasOnlyMSYNCBit, },
{Feature_HasP8AltivecBit, },
{Feature_HasP8CryptoBit, },
{Feature_HasP9AltivecBit, },
{Feature_HasSPEBit, },
{Feature_HasSYNCBit, },
{Feature_HasVSXBit, },
{Feature_In32BitModeBit, },
{Feature_In64BitModeBit, },
{Feature_IsAIXBit, },
{Feature_IsISA3_0Bit, },
{Feature_IsISA3_1Bit, },
{Feature_IsNotISA3_1Bit, },
{Feature_NotAIXBit, },
{Feature_HasDirectMoveBit, Feature_HasVSXBit, },
{Feature_HasFPUBit, Feature_IsISA3_1Bit, },
{Feature_HasP10VectorBit, Feature_PrefixInstrsBit, },
{Feature_HasP8AltivecBit, Feature_HasVSXBit, },
{Feature_HasP8VectorBit, Feature_HasVSXBit, },
{Feature_HasP9VectorBit, Feature_HasVSXBit, },
{Feature_HasVSXBit, Feature_IsISA3_1Bit, },
{Feature_In64BitModeBit, Feature_IsISA3_0Bit, },
{Feature_IsISAFutureBit, Feature_MMABit, },
{Feature_IsNotISAFutureBit, Feature_MMABit, },
{Feature_HasP8AltivecBit, Feature_HasVSXBit, Feature_IsBigEndianBit, },
{Feature_HasP8AltivecBit, Feature_HasVSXBit, Feature_IsLittleEndianBit, },
{Feature_IsISAFutureBit, Feature_MMABit, Feature_PrefixInstrsBit, },
{Feature_IsNotISAFutureBit, Feature_MMABit, Feature_PrefixInstrsBit, },
{Feature_HasDirectMoveBit, Feature_HasVSXBit, Feature_IsISA3_0Bit, Feature_IsLittleEndianBit, },
{Feature_HasDirectMoveBit, Feature_HasVSXBit, Feature_IsLittleEndianBit, Feature_NoP9VectorBit, },
{Feature_HasVSXBit, Feature_IsBigEndianBit, Feature_IsISA3_1Bit, Feature_IsPPC32Bit, },
{Feature_HasDirectMoveBit, Feature_HasVSXBit, Feature_IsBigEndianBit, Feature_IsISA3_0Bit, Feature_IsPPC64Bit, },
{Feature_HasDirectMoveBit, Feature_HasVSXBit, Feature_IsBigEndianBit, Feature_IsPPC64Bit, Feature_NoP9VectorBit, },
};
enum {
GICP_Invalid,
};
PPCInstructionSelector::ComplexMatcherMemFn
PPCInstructionSelector::ComplexPredicateFns[] = {
nullptr,
};
bool PPCInstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
const MachineFunction &MF = *MI.getParent()->getParent();
const MachineRegisterInfo &MRI = MF.getRegInfo();
const auto &Operands = State.RecordedOperands;
(void)Operands;
(void)MRI;
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_I64_Predicate_Msk2Imm = GICXXPred_Invalid + 1,
GICXXPred_I64_Predicate_Msk4Imm,
GICXXPred_I64_Predicate_Msk8Imm,
GICXXPred_I64_Predicate_i32immNonAllOneNonZero,
GICXXPred_I64_Predicate_imm32SExt16,
GICXXPred_I64_Predicate_imm64SExt16,
GICXXPred_I64_Predicate_imm64ZExt32,
GICXXPred_I64_Predicate_immNonAllOneAnyExt8,
GICXXPred_I64_Predicate_immSExt5NonZero,
};
bool PPCInstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
switch (PredicateID) {
case GICXXPred_I64_Predicate_Msk2Imm: {
return isUInt<2>(Imm);
}
case GICXXPred_I64_Predicate_Msk4Imm: {
return isUInt<4>(Imm);
}
case GICXXPred_I64_Predicate_Msk8Imm: {
return isUInt<8>(Imm);
}
case GICXXPred_I64_Predicate_i32immNonAllOneNonZero: {
return Imm && (Imm != -1);
}
case GICXXPred_I64_Predicate_imm32SExt16: {
return (int32_t)Imm == (short)Imm;
llvm_unreachable("imm32SExt16 should have returned");
}
case GICXXPred_I64_Predicate_imm64SExt16: {
return (int64_t)Imm == (short)Imm;
llvm_unreachable("imm64SExt16 should have returned");
}
case GICXXPred_I64_Predicate_imm64ZExt32: {
return isUInt<32>(Imm);
llvm_unreachable("imm64ZExt32 should have returned");
}
case GICXXPred_I64_Predicate_immNonAllOneAnyExt8: {
return (isInt<8>(Imm) && (Imm != -1)) || (isUInt<8>(Imm) && (Imm != 0xFF));
}
case GICXXPred_I64_Predicate_immSExt5NonZero: {
return Imm && isInt<5>(Imm);
}
}
llvm_unreachable("Unknown predicate");
return false;
}
bool PPCInstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
bool PPCInstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
bool PPCInstructionSelector::testSimplePredicate(unsigned) const {
llvm_unreachable("PPCInstructionSelector does not support simple predicates!");
return false;
}
enum {
GICR_Invalid,
};
PPCInstructionSelector::CustomRendererFn
PPCInstructionSelector::CustomRenderers[] = {
nullptr,
};
bool PPCInstructionSelector::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 PPCInstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
llvm_unreachable("PPCInstructionSelector 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 *PPCInstructionSelector::getMatchTable() const {
constexpr static uint8_t MatchTable0[] = {
GIM_SwitchOpcode, 0, GIMT_Encode2(53), GIMT_Encode2(280), GIMT_Encode4(97381),
GIMT_Encode4(918),
GIMT_Encode4(1235),
GIMT_Encode4(1676),
GIMT_Encode4(1958),
GIMT_Encode4(2114),
GIMT_Encode4(2270),
GIMT_Encode4(2432), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(2594),
GIMT_Encode4(3228),
GIMT_Encode4(3862), 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(5366), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6333), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(8610),
GIMT_Encode4(8882),
GIMT_Encode4(9129),
GIMT_Encode4(9257), GIMT_Encode4(0),
GIMT_Encode4(9385), 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(9405), GIMT_Encode4(0),
GIMT_Encode4(9530), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(9593),
GIMT_Encode4(35505), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(38195),
GIMT_Encode4(38381),
GIMT_Encode4(38567), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(38719), GIMT_Encode4(0),
GIMT_Encode4(38925),
GIMT_Encode4(39111),
GIMT_Encode4(39461),
GIMT_Encode4(39811), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(40175),
GIMT_Encode4(40483),
GIMT_Encode4(44485), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(48060), 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(49157),
GIMT_Encode4(49287),
GIMT_Encode4(49417),
GIMT_Encode4(49519),
GIMT_Encode4(49621),
GIMT_Encode4(49723), 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(49825),
GIMT_Encode4(50120),
GIMT_Encode4(50415),
GIMT_Encode4(50765), GIMT_Encode4(0),
GIMT_Encode4(51346), 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(51616),
GIMT_Encode4(54006),
GIMT_Encode4(54167),
GIMT_Encode4(54324),
GIMT_Encode4(54584),
GIMT_Encode4(54844),
GIMT_Encode4(55088), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(55332),
GIMT_Encode4(55621), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(55931),
GIMT_Encode4(56011),
GIMT_Encode4(56091),
GIMT_Encode4(56230), 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(56369),
GIMT_Encode4(56543),
GIMT_Encode4(56717),
GIMT_Encode4(56891), GIMT_Encode4(0),
GIMT_Encode4(57065),
GIMT_Encode4(57227),
GIMT_Encode4(57389), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(57405), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(57523), GIMT_Encode4(0),
GIMT_Encode4(57701), GIMT_Encode4(0),
GIMT_Encode4(57873),
GIMT_Encode4(58045),
GIMT_Encode4(58303),
GIMT_Encode4(94309), 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(94581),
GIMT_Encode4(94798),
GIMT_Encode4(95070),
GIMT_Encode4(95279), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(95513),
GIMT_Encode4(95783),
GIMT_Encode4(96053),
GIMT_Encode4(96323), GIMT_Encode4(0),
GIMT_Encode4(96593),
GIMT_Encode4(97151), 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(97368),
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(8), GIMT_Encode4(1234),
GIMT_Encode4(961),
GIMT_Encode4(984),
GIMT_Encode4(1044),
GIMT_Encode4(1104),
GIMT_Encode4(1130),
GIMT_Encode4(1156),
GIMT_Encode4(1182),
GIMT_Encode4(1208),
GIM_Try, GIMT_Encode4(983),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CRXOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1043),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(1030),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm32SExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ADDI),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1042),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::ADD4),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1103),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(1090),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm64SExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ADDI8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1102),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::ADD8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1129),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VADDUQM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1155),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VADDUDM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1181),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VADDUWM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1207),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VADDUHM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1233),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VADDUBM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(8), GIMT_Encode4(1675),
GIMT_Encode4(1278),
GIMT_Encode4(1301),
GIMT_Encode4(1386),
GIMT_Encode4(1471),
GIMT_Encode4(1497),
GIMT_Encode4(1560),
GIMT_Encode4(1623),
GIMT_Encode4(1649),
GIM_Try, GIMT_Encode4(1300),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CRXOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1385),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(1334),
GIM_CheckConstantInt8, 0, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(PPC::NEG),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1368),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm32SExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::SUBFIC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1384),
GIR_BuildRootMI, GIMT_Encode2(PPC::SUBF),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1470),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(1419),
GIM_CheckConstantInt8, 0, 1, 0,
GIR_BuildRootMI, GIMT_Encode2(PPC::NEG8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1453),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm64SExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::SUBFIC8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1469),
GIR_BuildRootMI, GIMT_Encode2(PPC::SUBF8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1496),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VSUBUQM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1559),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_Try, GIMT_Encode4(1543),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllZeros, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::VNEGD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1558),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VSUBUDM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1622),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_Try, GIMT_Encode4(1606),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllZeros, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::VNEGW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1621),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VSUBUWM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1648),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VSUBUHM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1674),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VSUBUBM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(7), GIMT_Encode4(1957),
GIMT_Encode4(1715),
GIMT_Encode4(1738),
GIMT_Encode4(1798), GIMT_Encode4(0),
GIMT_Encode4(1858),
GIMT_Encode4(1884),
GIMT_Encode4(1910),
GIM_Try, GIMT_Encode4(1737),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CRAND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1797),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(1784),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm32SExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MULLI),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1796),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MULLW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1857),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(1844),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_imm64SExt16),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MULLI8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1856),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MULLD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1883),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMULLD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1909),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMULUWM),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(1956),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v8s16,
GIR_BuildMI, 1, GIMT_Encode2(PPC::V_SET0H),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::VMLADDUHM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(6), GIMT_Encode4(2113),
GIMT_Encode4(1989),
GIMT_Encode4(2012),
GIMT_Encode4(2035),
GIMT_Encode4(2061),
GIMT_Encode4(2087),
GIM_Try, GIMT_Encode4(2011),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::DIVW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2034),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::DIVD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2060),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VDIVSQ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2086),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VDIVSD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2112),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VDIVSW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(6), GIMT_Encode4(2269),
GIMT_Encode4(2145),
GIMT_Encode4(2168),
GIMT_Encode4(2191),
GIMT_Encode4(2217),
GIMT_Encode4(2243),
GIM_Try, GIMT_Encode4(2167),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::DIVWU),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2190),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::DIVDU),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2216),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VDIVUQ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2242),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VDIVUD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2268),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VDIVUW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(6), GIMT_Encode4(2431),
GIMT_Encode4(2301),
GIMT_Encode4(2327),
GIMT_Encode4(2353),
GIMT_Encode4(2379),
GIMT_Encode4(2405),
GIM_Try, GIMT_Encode4(2326),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_0),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MODSW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2352),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_0),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MODSD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2378),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMODSQ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2404),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMODSD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2430),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMODSW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(6), GIMT_Encode4(2593),
GIMT_Encode4(2463),
GIMT_Encode4(2489),
GIMT_Encode4(2515),
GIMT_Encode4(2541),
GIMT_Encode4(2567),
GIM_Try, GIMT_Encode4(2488),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_0),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MODUW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2514),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_0),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MODUD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2540),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMODUQ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2566),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMODUD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(2592),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VMODUW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(6), GIMT_Encode4(3227),
GIMT_Encode4(2629),
GIMT_Encode4(2738),
GIMT_Encode4(2847), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(2956),
GIM_Try, GIMT_Encode4(2737),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIM_Try, GIMT_Encode4(2684),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CRANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2724),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CRANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2736),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CRAND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2846),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(2793),
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, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2833),
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, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2845),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::AND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2955),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(2902),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ANDC8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2942),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ANDC8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2954),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::AND8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3226),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(3022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3077),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3096),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XXLAND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3151),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3206),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VANDC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3225),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VAND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(6), GIMT_Encode4(3861),
GIMT_Encode4(3263),
GIMT_Encode4(3372),
GIMT_Encode4(3481), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(3590),
GIM_Try, GIMT_Encode4(3371),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIM_Try, GIMT_Encode4(3318),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CRORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3358),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CRORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3370),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CROR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3480),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(3427),
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, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3467),
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, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3479),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::OR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3589),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(3536),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ORC8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3576),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::ORC8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3588),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::OR8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3860),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(3656),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3711),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3730),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XXLOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3840),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VORC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3859),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(6), GIMT_Encode4(5365),
GIMT_Encode4(3897),
GIMT_Encode4(4168),
GIMT_Encode4(4423), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(4678),
GIM_Try, GIMT_Encode4(4167),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIM_Try, GIMT_Encode4(3954),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CRNAND),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3996),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CRNOR),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4036),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CREQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4078),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CREQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4118),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::CREQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4136),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(PPC::CRNOT),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4154),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(PPC::CRNOT),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4166),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CRXOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4422),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(4225),
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_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::NAND),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4267),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::NOR),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4307),
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, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::EQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4349),
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, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::EQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4389),
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, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::EQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4409),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(PPC::NOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4421),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4677),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(4480),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::NAND8),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4522),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::NOR8),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4562),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::EQV8),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4604),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::EQV8),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4644),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::EQV8),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4664),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(PPC::NOR8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4676),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XOR8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5364),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(4746),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLNAND),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4803),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLNOR),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4858),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLEQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4915),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLEQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4970),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLEQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5007),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLNOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5026),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XXLXOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5083),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VNAND),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5140),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VNOR),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5195),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VEQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5252),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VEQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5307),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(PPC::VEQV),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5344),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::VNOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5363),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VXOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5666),
GIM_CheckNumOperands, 0, 3,
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_Try, GIMT_Encode4(5509),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX_IsBigEndian_IsPPC64_NoP9Vector),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_MakeTempReg, 2, GILLT_v4s32,
GIR_MakeTempReg, 3, GILLT_s64,
GIR_BuildMI, 4, GIMT_Encode2(PPC::MTVSRD),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 2,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddImm8, 3, 1,
GIR_AddSimpleTempRegister, 3, 3,
GIR_AddImm8, 3, 3,
GIR_ConstrainOperandRC, 3, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_ConstrainOperandRC, 3, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildMI, 2, GIMT_Encode2(PPC::MTVSRD),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddImm8, 1, 1,
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 3,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXPERMDI),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 2,
GIR_AddImm8, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5631),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX_IsLittleEndian_NoP9Vector),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_MakeTempReg, 2, GILLT_v4s32,
GIR_MakeTempReg, 3, GILLT_s64,
GIR_BuildMI, 4, GIMT_Encode2(PPC::MTVSRD),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 1,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddImm8, 3, 1,
GIR_AddSimpleTempRegister, 3, 3,
GIR_AddImm8, 3, 3,
GIR_ConstrainOperandRC, 3, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_ConstrainOperandRC, 3, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildMI, 2, GIMT_Encode2(PPC::MTVSRD),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddImm8, 1, 1,
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 3,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXPERMDI),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 2,
GIR_AddImm8, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5646),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX_IsBigEndian_IsISA3_0_IsPPC64),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MTVSRDD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5665),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX_IsISA3_0_IsLittleEndian),
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRDD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6191),
GIM_CheckNumOperands, 0, 5,
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(5731),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immSExt5NonZero),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::VSPLTISW),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5782),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP10Vector_PrefixInstrs),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i32immNonAllOneNonZero),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXSPLTIW),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5918),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FPTRUNC),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_FPTRUNC),
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_RecordInsn, 3, 0, 3,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_FPTRUNC),
GIM_CheckIsSameOperand, 3, 1, 1, 1,
GIM_RecordInsn, 4, 0, 4,
GIM_CheckOpcode, 4, GIMT_Encode2(TargetOpcode::G_FPTRUNC),
GIM_CheckIsSameOperand, 4, 1, 1, 1,
GIM_CheckIsSafeToFold, 4,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(PPC::XSCVDPSP),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddImm8, 1, 1,
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 3,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXSPLTW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddImm8, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5976),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XSCVDPSPN),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXSPLTW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddImm8, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6065),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX_IsBigEndian_IsPPC64_NoP9Vector),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(PPC::MTVSRWZ),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddImm8, 1, 1,
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 3,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXSPLTW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddImm8, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6154),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX_IsLittleEndian_NoP9Vector),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(PPC::MTVSRWZ),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddImm8, 1, 1,
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 3,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXSPLTW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddImm8, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6332),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckNumOperands, 0, 17,
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_immNonAllOneAnyExt8),
GIM_CheckIsSameOperand, 0, 2, 0, 1,
GIM_CheckIsSameOperand, 0, 3, 0, 1,
GIM_CheckIsSameOperand, 0, 4, 0, 1,
GIM_CheckIsSameOperand, 0, 5, 0, 1,
GIM_CheckIsSameOperand, 0, 6, 0, 1,
GIM_CheckIsSameOperand, 0, 7, 0, 1,
GIM_CheckIsSameOperand, 0, 8, 0, 1,
GIM_CheckIsSameOperand, 0, 9, 0, 1,
GIM_CheckIsSameOperand, 0, 10, 0, 1,
GIM_CheckIsSameOperand, 0, 11, 0, 1,
GIM_CheckIsSameOperand, 0, 12, 0, 1,
GIM_CheckIsSameOperand, 0, 13, 0, 1,
GIM_CheckIsSameOperand, 0, 14, 0, 1,
GIM_CheckIsSameOperand, 0, 15, 0, 1,
GIM_CheckIsSameOperand, 0, 16, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXSPLTIB),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_CopyConstantAsSImm, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(8), GIMT_Encode4(8609),
GIMT_Encode4(6372),
GIMT_Encode4(6445),
GIMT_Encode4(6493),
GIMT_Encode4(6897),
GIMT_Encode4(7459),
GIMT_Encode4(8010),
GIMT_Encode4(8338),
GIM_Try, GIMT_Encode4(6444),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(PPC::XSCVDPSPN),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddTempSubRegister, 1, 1, GIMT_Encode2(0), GIMT_Encode2(PPC::sub_64),
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MFVSRWZ),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6492),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(6472),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MFVSRD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6491),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MTVSRD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6550),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXLEQVOnes),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(6608),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6640),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6672),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6704),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6736),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6768),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6800),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6832),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6864),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6896),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6954),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXLEQVOnes),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6980),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7006),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7032),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7058),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7084),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7110),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7136),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7162),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7188),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7214),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7240),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7266),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7298),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7330),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7362),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7394),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7426),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7458),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(7495),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLEQVOnes),
GIR_RootToRootCopy, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7521),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7547),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7573),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7599),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7625),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(7657),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7689),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7721),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7753),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7817),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7849),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7881),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7913),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7945),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7977),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8009),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(8067),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXLEQVOnes),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8093),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8119),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8145),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8177),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8209),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8241),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8273),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8305),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8337),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(8364),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8390),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8416),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(8448),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8480),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8512),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8544),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8608),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(6), GIMT_Encode4(8881),
GIMT_Encode4(8641),
GIMT_Encode4(8731),
GIMT_Encode4(8779),
GIMT_Encode4(8810),
GIMT_Encode4(8833),
GIM_Try, GIMT_Encode4(8730),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(8710),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
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(PPC::XSRDPIZ),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8729),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPU),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F4RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::FRIZS),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(8778),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(8758),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XSRDPIZ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(8777),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPU),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::FRIZD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(8809),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSRQPI),
GIR_RootToRootCopy, 0,
GIR_AddImm8, 0, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(8832),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XVRDPIZ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(8880),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_Try, GIMT_Encode4(8860),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XVRSPIZ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(8879),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::VRFIZ),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(6), GIMT_Encode4(9128),
GIMT_Encode4(8913),
GIMT_Encode4(9003),
GIMT_Encode4(9051),
GIMT_Encode4(9082),
GIMT_Encode4(9105),
GIM_Try, GIMT_Encode4(9002),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(8982),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
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(PPC::XSRDPI),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9001),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPU),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F4RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::FRINS),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9050),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(9030),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XSRDPI),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(9049),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFPU),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::FRIND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9081),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_RootCheckType, 1, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSRQPI),
GIR_RootToRootCopy, 0,
GIR_AddImm8, 0, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(9104),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XVRDPI),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(9127),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XVRSPI),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9256),
GIM_RootCheckType, 0, GILLT_s64,
GIM_SwitchType, 0, 1, GIMT_Encode2(1), GIMT_Encode2(3), GIMT_Encode4(9255),
GIMT_Encode4(9156),
GIMT_Encode4(9214),
GIM_Try, GIMT_Encode4(9213),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
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(PPC::FCTID),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MFVSRD),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(9254),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(PPC::FCTID),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MFVSRD),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9384),
GIM_RootCheckType, 0, GILLT_s64,
GIM_SwitchType, 0, 1, GIMT_Encode2(1), GIMT_Encode2(3), GIMT_Encode4(9383),
GIMT_Encode4(9284),
GIMT_Encode4(9342),
GIM_Try, GIMT_Encode4(9341),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
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(PPC::FCTID),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MFVSRD),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(9382),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDirectMove_HasVSX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(PPC::FCTID),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MFVSRD),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9404),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MFTB8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(3), GIMT_Encode4(9480),
GIMT_Encode4(9424),
GIMT_Encode4(9452),
GIM_Try, GIMT_Encode4(9451),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSYNC),
GIM_CheckConstantInt8, 0, 0, 7,
GIM_CheckIsImm, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::SYNC),
GIR_AddImm8, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(9479),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSYNC),
GIM_CheckConstantInt8, 0, 0, 7,
GIM_CheckIsImm, 0, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::SYNC),
GIR_AddImm8, 0, 0,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(9529),
GIM_CheckIsImm, 0, 0,
GIM_CheckIsImm, 0, 1,
GIM_Try, GIMT_Encode4(9511),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSYNC),
GIR_BuildRootMI, GIMT_Encode2(PPC::SYNC),
GIR_AddImm8, 0, 1,
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9528),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasOnlyMSYNC),
GIR_BuildRootMI, GIMT_Encode2(PPC::MSYNC),
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9592),
GIM_RootCheckType, 0, GILLT_s1,
GIM_CheckIsMBB, 0, 1,
GIM_Try, GIMT_Encode4(9579),
GIM_RecordInsn, 1, 0, 0,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::BCn),
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9591),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::BC),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9714),
GIM_CheckNumOperands, 0, 2,
GIM_Try, GIMT_Encode4(9628),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xxsetaccz),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXSETACCZ),
GIR_RootToRootCopy, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9655),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xxsetaccz),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXSETACCZW),
GIR_RootToRootCopy, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9679),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mfmsr),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MFMSR),
GIR_RootToRootCopy, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9713),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mftbu),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MFTB),
GIR_RootToRootCopy, 0,
GIR_AddImm, 0, GIMT_Encode8(269),
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(13343),
GIM_CheckNumOperands, 0, 3,
GIM_Try, GIMT_Encode4(9758),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_frsqrte),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSRSQRTEDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9794),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_frsqrtes),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSRSQRTESP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9826),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvdpsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVDPSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9858),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvdpsxws),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVDPSXWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9890),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvdpuxws),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVDPUXWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9922),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvspdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVSPDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9954),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvspsxds),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVSPSXDS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9986),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvspuxds),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVSPUXDS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10018),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvsxdsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVSXDSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10050),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvuxdsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVUXDSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10082),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvsxwdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVSXWDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10114),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvuxwdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVUXWDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10146),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_sqrtf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSSQRTQPO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10178),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_truncf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSCVQPDPO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10210),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvsphp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVSPHP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10242),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvxexpdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVXEXPDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10274),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvxexpsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVXEXPSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10306),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvxsigdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVXSIGDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10338),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvxsigsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVXSIGSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10393),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtsqrtdp),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVTSQRTDP),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10448),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtsqrtsp),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVTSQRTSP),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10480),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvresp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVRESP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10512),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvredp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVREDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10544),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvrsqrtesp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVRSQRTESP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvrsqrtedp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVRSQRTEDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10608),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fre),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSREDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10640),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnabs),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSNABSDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10672),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnabss),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSNABSDPs),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10704),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fres),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSRESP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_extract_exp),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XSXEXPDP),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(PPC::sub_32),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10836),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_extract_sig),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XSXSIGDP),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10887),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvhpsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCVHPSP),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10967),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_scalar_extract_expq),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_v2s64,
GIR_BuildMI, 2, GIMT_Encode2(PPC::XSXEXPQP),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddTempSubRegister, 1, 1, GIMT_Encode2(0), GIMT_Encode2(PPC::sub_64),
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(PPC::VFRCRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MFVSRD),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11010),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_mtvsrbm),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRBMI),
GIR_RootToRootCopy, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11043),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_frsqrte),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FRSQRTE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11076),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_frsqrtes),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F4RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::F4RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FRSQRTES),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11105),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_popcntb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::POPCNTB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11134),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cdtbcd),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CDTBCD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11163),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cbcdtd),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CBCDTD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11195),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vexptefp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXPTEFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11227),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vlogefp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VLOGEFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11259),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrefp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VREFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11291),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrfim),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRFIM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11323),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrfin),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRFIN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11355),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrfip),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRFIP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11387),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrfiz),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRFIZ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11419),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrsqrtefp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRSQRTEFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11451),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupkhpx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKHPX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11483),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupkhsb),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKHSB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11515),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupkhsh),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKHSH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11547),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupklpx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKLPX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11579),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupklsb),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKLSB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11611),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupklsh),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKLSH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11643),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupkhsw),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKHSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11675),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vupklsw),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VUPKLSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11707),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vgbbd),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VGBBD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11739),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Crypto),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vsbox),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSBOX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11771),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vclzlsbb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCLZLSBB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11803),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vctzlsbb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCTZLSBB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11835),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextsb2w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTSB2W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11867),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextsh2w),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTSH2W),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11899),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextsb2d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTSB2D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11931),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextsh2d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTSH2D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11963),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextsw2d),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTSW2D),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11995),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vprtybw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPRTYBW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12027),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vprtybd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPRTYBD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12059),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vprtybq),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPRTYBQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12088),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_popcntb),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::POPCNTB8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12117),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cdtbcdd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CDTBCD8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12146),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cbcdtdd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CBCDTD8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12178),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vstribr),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSTRIBR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12210),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vstribl),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSTRIBL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12242),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vstrihr),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSTRIHR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12274),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vstrihl),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSTRIHL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12306),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextractbm),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTRACTBM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12338),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextracthm),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTRACTHM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12370),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextractwm),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTRACTWM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12402),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextractdm),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTRACTDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12434),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextractqm),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTRACTQM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12466),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vexpandbm),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXPANDBM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12498),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vexpandhm),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXPANDHM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12530),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vexpandwm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXPANDWM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12562),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vexpanddm),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXPANDDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12594),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vexpandqm),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXPANDQM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12626),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_mtvsrbm),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRBM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12658),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_mtvsrhm),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRHM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12690),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_mtvsrwm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRWM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12722),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_mtvsrdm),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12754),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_mtvsrqm),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MTVSRQM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12786),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextsd2q),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTSD2Q),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12818),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xxmfacc),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXMFACC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12850),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xxmtacc),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXMTACC),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12879),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fre),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FRE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12908),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fres),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F4RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FRES),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12937),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnabs),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FNABSD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12966),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnabss),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F4RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FNABSS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13038),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvspbf16),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVCVSPBF16),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13110),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcvbf16spn),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVCVBF16SPN),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13139),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fcfid),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSCVSXDDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13168),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fcfud),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSCVUXDDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13197),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fctid),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FCTID),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13226),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fctidz),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSCVDPSXDS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13255),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fctiw),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FCTIW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13284),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fctiwz),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSCVDPSXWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13313),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fctudz),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSCVDPUXDS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13342),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fctuwz),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSCVDPUXWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(21609),
GIM_CheckNumOperands, 0, 4,
GIM_Try, GIMT_Encode4(13422),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxextractuw),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXEXTRACTUW),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_CopyConstantAsSImm, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13459),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtstdcsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVTSTDCSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13496),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtstdcdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVTSTDCDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13541),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xsmaxdp),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSMAXDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13586),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xsmindp),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSFRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSMINDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13631),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvmaxdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVMAXDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13676),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvmindp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVMINDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13721),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvmaxsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVMAXSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13766),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvminsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVMINSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13803),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcmpeqdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCMPEQDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13840),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcmpeqsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCMPEQSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13877),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcmpgedp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCMPGEDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13914),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcmpgesp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCMPGESP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13951),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcmpgtdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCMPGTDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13988),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvcmpgtsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVCMPGTSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14025),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_addf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSADDQPO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14062),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mulf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSMULQPO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14099),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_subf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSSUBQPO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14136),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_divf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSDIVQPO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14173),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xviexpdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVIEXPDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14210),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xviexpsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVIEXPSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14247),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvdivsp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVDIVSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14284),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvdivdp),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XVDIVDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14346),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtdivdp),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVTDIVDP),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14408),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtdivsp),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVTDIVSP),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14445),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxleqv),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXLEQV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14524),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_insert_exp),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XSIEXPDP),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14580),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_scalar_insert_exp_qp),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(PPC::MTVSRD),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XSIEXPQP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14668),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtlsbb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRRCRegClassID),
GIM_CheckConstantInt8, 0, 3, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVTLSBB),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(PPC::sub_lt),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(PPC::CRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14756),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xvtlsbb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRRCRegClassID),
GIM_CheckConstantInt8, 0, 3, 0,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XVTLSBB),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(PPC::sub_eq),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(PPC::CRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14799),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcfsx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckLiteralInt, 0, 3, GIMT_Encode8(0),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCFSX_0),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14842),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vctuxs),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckLiteralInt, 0, 3, GIMT_Encode8(0),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCTUXS_0),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14885),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcfux),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckLiteralInt, 0, 3, GIMT_Encode8(0),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCFUX_0),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14928),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vctsxs),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckLiteralInt, 0, 3, GIMT_Encode8(0),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCTSXS_0),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14999),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxgenpcvbm),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXGENPCVBM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_CopyConstantAsSImm, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15070),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxgenpcvhm),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXGENPCVHM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_CopyConstantAsSImm, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15141),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxgenpcvwm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXGENPCVWM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_CopyConstantAsSImm, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15212),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxgenpcvdm),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXGENPCVDM),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_CopyConstantAsSImm, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15249),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcfsx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCFSX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15286),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcfux),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCFUX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15323),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vctsxs),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCTSXS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15360),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vctuxs),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCTUXS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15397),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcntmbb),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCNTMBB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15434),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcntmbh),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCNTMBH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15471),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcntmbw),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCNTMBW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15508),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcntmbd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VCNTMBD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15545),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vgnb),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(PPC::VGNB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15590),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasExtDiv),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_divwe),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::DIVWE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15635),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasExtDiv),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_divweu),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::DIVWEU),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15680),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBPERMD),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_bpermd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::BPERMD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15725),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasExtDiv),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_divde),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::DIVDE),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15770),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasExtDiv),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_divdeu),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::DIVDEU),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15836),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_IsISA3_0),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cmpeqb),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::CMPEQB),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::SETB8),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15902),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_IsISA3_0),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_setb),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(PPC::CMPD),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::SETB8),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15947),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mulhd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MULHD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15992),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mulhdu),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MULHDU),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16034),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cmpb),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CMPB8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16076),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mulhw),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MULHW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16118),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mulhwu),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MULHWU),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16160),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cmpb),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CMPB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16194),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_addg6s),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::ADDG6S),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16231),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddcuw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDCUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16268),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddsbs),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDSBS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16305),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddshs),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDSHS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16342),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddsws),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDSWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16379),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddubs),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDUBS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16416),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vadduhs),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDUHS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16453),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vadduws),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDUWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16490),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vavgsb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VAVGSB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16527),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vavgsh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VAVGSH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16564),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vavgsw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VAVGSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16601),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vavgub),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VAVGUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16638),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vavguh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VAVGUH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16675),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vavguw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VAVGUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16712),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxfp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16749),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxsb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXSB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16786),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxsh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXSH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16823),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxsw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16860),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxub),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16897),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxuh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXUH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16934),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxuw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16971),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminfp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17008),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminsb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINSB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17045),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminsh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINSH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17082),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminsw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17119),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminub),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17156),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminuh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINUH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17193),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminuw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17230),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulesb),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULESB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17267),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulesh),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULESH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17304),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmuleub),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULEUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17341),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmuleuh),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULEUH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17378),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulosb),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOSB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17415),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulosh),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOSH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17452),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmuloub),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17489),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulouh),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOUH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17526),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubcuw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBCUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17563),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubsbs),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBSBS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17600),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubshs),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBSHS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17637),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubsws),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBSWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17674),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsububs),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBUBS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17711),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubuhs),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBUHS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17748),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubuws),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBUWS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrlb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17822),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrlh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17859),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrlw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17896),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsl),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17933),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vslo),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSLO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17970),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vslb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSLB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18007),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vslh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSLH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18044),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vslw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSLW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18081),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsr),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18118),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsro),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18155),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsrab),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRAB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18192),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsrah),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRAH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18229),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsraw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRAW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18266),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsrb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18303),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsrh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18340),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsrw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18377),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vpkpx),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPKPX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18414),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulesw),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULESW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18451),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmuleuw),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULEUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18488),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulosw),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18525),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulouw),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18562),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxsd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXSD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18599),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaxud),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMAXUD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18636),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminsd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINSD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18673),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vminud),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMINUD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18710),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrld),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18747),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddcuq),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDCUQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18784),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubcuq),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBCUQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18821),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vpmsumb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPMSUMB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18858),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vpmsumh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPMSUMH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18895),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vpmsumw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPMSUMW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18932),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vpmsumd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPMSUMD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18969),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vbpermq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VBPERMQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19006),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Crypto),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vcipher),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCIPHER),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19043),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Crypto),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vcipherlast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCIPHERLAST),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Crypto),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vncipher),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VNCIPHER),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19117),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Crypto),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vncipherlast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VNCIPHERLAST),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19154),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vbpermd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VBPERMD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19191),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrlwnm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLWNM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19228),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrldnm),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLDNM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vslv),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSLV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19302),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsrv),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRV),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19339),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vabsdub),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VABSDUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19376),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vabsduh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VABSDUH),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19413),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vabsduw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VABSDUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19447),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_addg6sd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::ADDG6S8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19484),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vpdepd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPDEPD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19521),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vpextd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPEXTD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19558),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_pdepd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::PDEPD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19595),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_pextd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::PEXTD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19632),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vcfuged),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCFUGED),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19669),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cfuged),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CFUGED),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19706),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vclzdm),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCLZDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19743),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vctzdm),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCTZDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19780),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cntlzdm),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CNTLZDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19817),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_cnttzdm),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::CNTTZDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19854),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vclrlb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCLRLB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19891),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vclrrb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VCLRRB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19928),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vdivesw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VDIVESW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19965),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vdiveuw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VDIVEUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20002),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vdivesd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VDIVESD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20039),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vdiveud),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VDIVEUD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20076),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulesd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULESD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20113),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmuleud),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULEUD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20150),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulosd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOSD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20187),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmuloud),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULOUD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20224),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vdivesq),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VDIVESQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20261),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vdiveuq),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VDIVEUQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20298),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrlqnm),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLQNM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20335),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulhsw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULHSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20372),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulhuw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULHUW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20409),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulhsd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULHSD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20446),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmulhud),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMULHUD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20521),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi4ger8),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI4GER8),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20596),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi8ger4),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI8GER4),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20671),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2s),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2S),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20746),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi4ger8),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI4GER8W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20821),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi8ger4),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI8GER4W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20896),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2s),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2SW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20971),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21046),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21121),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GER),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21177),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v256s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GER),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21252),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21327),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21402),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21458),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v256s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21533),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21608),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(28045),
GIM_CheckNumOperands, 0, 5,
GIM_Try, GIMT_Encode4(21675),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fmaf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FNEG),
GIM_CheckType, 1, 1, GILLT_s128,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XSMSUBQPO),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21728),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxinsertw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXINSERTW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_CopyConstantAsSImm, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21770),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fmaf128_round_to_odd),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSMADDQPO),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21812),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fmsub),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSMSUBMDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21854),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnmadd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSFRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSNMADDMDP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21896),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fmsubs),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSMSUBMSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21938),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Vector_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnmadds),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XSNMADDMSP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21980),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Crypto),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vshasigmaw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::VSHASIGMAW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Crypto),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vshasigmad),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 3,
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::VSHASIGMAD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22064),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsldbi),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::VSLDBI),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22106),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsrdbi),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::VSRDBI),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22148),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22235),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_bcdadd),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::BCDADD_rec),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22280),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_bcdsub),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(PPC::BCDSUB_rec),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22334),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_IsISA3_0),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_maddhd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MADDHD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22388),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_IsISA3_0),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_maddhdu),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MADDHDU),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22442),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_IsISA3_0),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_maddld),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(PPC::G8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::MADDLD8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22493),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fsel),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(PPC::F8RCRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(PPC::F8RCRegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FSELD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22535),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmladduhm),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMLADDUHM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22577),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vperm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPERM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22619),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsel),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSEL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22661),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmsummbm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMSUMMBM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22703),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmsumshm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMSUMSHM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22745),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmsumubm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMSUMUBM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22787),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmsumuhm),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMSUMUHM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22829),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddeuqm),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDEUQM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22871),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vaddecuq),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VADDECUQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22913),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubeuqm),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBEUQM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22955),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vsubecuq),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VSUBECUQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22997),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmsumudm),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMSUMUDM),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23039),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrlwmi),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLWMI),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23081),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP9Altivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrldmi),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLDMI),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23123),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsbvlx),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSBVLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23165),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsbvrx),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSBVRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23207),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinshvlx),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSHVLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23249),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinshvrx),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSHVRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23291),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinswvlx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSWVLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23333),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinswvrx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSWVRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23375),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsblx),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSBLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23417),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsbrx),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSBRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23459),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinshlx),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSHLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23501),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinshrx),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSHRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23543),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinswlx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSWLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23585),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinswrx),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSWRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23627),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsdlx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSDLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23669),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vinsdrx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VINSDRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23711),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextdubvlx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDUBVLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23753),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextdubvrx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDUBVRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23795),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextduhvlx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDUHVLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23837),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextduhvrx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDUHVRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23879),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextduwvlx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDUWVLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23921),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextduwvrx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDUWVRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23963),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextddvlx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDDVLX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24005),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vextddvrx),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VEXTDDVRX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24047),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmsumcud),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMSUMCUD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24089),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vrlqmi),
GIM_RootCheckType, 0, GILLT_s128,
GIM_RootCheckType, 2, GILLT_s128,
GIM_RootCheckType, 3, GILLT_s128,
GIM_RootCheckType, 4, GILLT_s128,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VRLQMI),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24128),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fmsub),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FMSUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24167),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fmsubs),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F4RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FMSUBS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24206),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnmadd),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckType, 4, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F8RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FNMADD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24245),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_fnmadds),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::F4RCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::FNMADDS),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24287),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vmaddfp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VMADDFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24329),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAltivec),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_vnmsubfp),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VNMSUBFP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24428),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec_HasVSX_IsLittleEndian),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vpermxor),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v4s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 4,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXLNOR),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::VPERMXOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24470),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec_HasVSX_IsBigEndian),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vpermxor),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPERMXOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24512),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP8Altivec_HasVSX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_altivec_crypto_vpermxor_be),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::VPERMXOR),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24632),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP10Vector_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxblendvb),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v4s32,
GIR_MakeTempReg, 3, GILLT_v4s32,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 4,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 3,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXBLENDVB),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddSimpleTempRegister, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24752),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP10Vector_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxblendvh),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v4s32,
GIR_MakeTempReg, 3, GILLT_v4s32,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 4,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 3,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXBLENDVH),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddSimpleTempRegister, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24794),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP10Vector_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxblendvw),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXBLENDVW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24836),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP10Vector_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxblendvd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_BuildRootMI, GIMT_Encode2(PPC::XXBLENDVD),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24916),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi4ger8pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI4GER8PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24996),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi8ger4pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI8GER4PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25076),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2spp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2SPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25156),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi4ger8pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI4GER8WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25236),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi8ger4pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI8GER4WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25316),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2spp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2SWPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25396),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25476),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2pn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2PN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25556),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2np),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2NP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25636),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2nn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2NN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25716),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25796),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2pn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2WPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25876),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2np),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2WNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25956),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf16ger2nn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF16GER2WNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26036),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26116),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26196),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26276),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26337),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26398),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26459),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26520),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26600),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26680),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2pn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2PN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26760),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2np),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2NP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26840),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2nn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2NN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(26920),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27000),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi8ger4spp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI8GER4SPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERWPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27160),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERWPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27240),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERWNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27320),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf32gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF32GERWNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27381),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERWPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27442),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERWPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27503),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27564),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvf64gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVF64GERWNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27644),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27724),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2pn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2WPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27804),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2np),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2WNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27884),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvbf16ger2nn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVBF16GER2WNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27964),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI16GER2WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28044),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_xvi8ger4spp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::XVI8GER4WSPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(28642),
GIM_CheckNumOperands, 0, 6,
GIM_Try, GIMT_Encode4(28166),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GER),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28260),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v256s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GER),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28373),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28467),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64ger),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v256s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERW),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28514),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISA3_1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxeval),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsImm, 0, 5,
GIR_BuildRootMI, GIMT_Encode2(PPC::XXEVAL),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 5,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28641),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasP10Vector_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_vsx_xxpermx),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIM_CheckIsImm, 0, 5,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_MakeTempReg, 2, GILLT_v4s32,
GIR_MakeTempReg, 3, GILLT_v4s32,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_Copy, 4, 0, 4,
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 3,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 2,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(PPC::XXPERMX),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddSimpleTempRegister, 1, 3,
GIR_Copy, 1, 0, 5,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(PPC::VSRCRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(31959),
GIM_CheckNumOperands, 0, 7,
GIM_Try, GIMT_Encode4(28781),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi4ger8),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk8Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI4GER8),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28912),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi8ger4),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI8GER4),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29043),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi16ger2s),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI16GER2S),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29174),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29305),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvbf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVBF16GER2),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29436),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI16GER2),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29567),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi4ger8),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk8Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI4GER8W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29698),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi8ger4),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI8GER4W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29829),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi16ger2s),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI16GER2SW),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29960),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30091),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvbf16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVBF16GER2W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30222),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi16ger2),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_s32,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 4,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 5,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 6,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 3,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI16GER2W),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30340),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30458),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30694),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30793),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30892),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30991),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31090),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31208),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERWPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31326),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERWPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31444),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERWNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31562),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf32gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF32GERWNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31661),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gerpp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERWPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31760),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gerpn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERWPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31859),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gernp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERWNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31958),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf64gernn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v256s1,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF64GERWNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_AddSimpleTempRegister, 0, 0,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(35504),
GIM_CheckNumOperands, 0, 8,
GIM_Try, GIMT_Encode4(32103),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi4ger8pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk8Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI4GER8PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32239),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi8ger4pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI8GER4PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32375),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi16ger2spp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI16GER2SPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32511),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32647),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2pn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2PN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32783),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2np),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2NP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32919),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2nn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2NN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33055),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvbf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVBF16GER2PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33191),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvbf16ger2pn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVBF16GER2PN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33327),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvbf16ger2np),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVBF16GER2NP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33463),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvbf16ger2nn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVBF16GER2NN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33599),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi8ger4spp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI8GER4SPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33735),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsNotISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::ACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI16GER2PP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33871),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi4ger8pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk8Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI4GER8WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34007),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi8ger4pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI8GER4WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34143),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvi16ger2spp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVI16GER2SWPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34279),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2WPP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34415),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2pn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2WPN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34551),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2np),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2WNP),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34687),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvf16ger2nn),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(PPC::PMXVF16GER2WNN),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_AddSimpleTempRegister, 0, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_CopyConstantAsSImm, 0, 2,
GIR_CopyConstantAsSImm, 0, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(34823),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsISAFuture_MMA_PrefixInstrs),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::ppc_mma_pmxvbf16ger2pp),
GIM_RootCheckType, 0, GILLT_v512s1,
GIM_RootCheckType, 2, GILLT_v512s1,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckType, 4, GILLT_v16s8,
GIM_RootCheckType, 5, GILLT_s32,
GIM_RootCheckType, 6, GILLT_s32,
GIM_RootCheckType, 7, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::WACCRCRegClassID),
GIM_RecordInsn, 1, 0, 5,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 2, 0, 6,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 2, GIMT_Encode2(GICXXPred_I64_Predicate_Msk4Imm),
GIM_RecordInsn, 3, 0, 7,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 3, GIMT_Encode2(GICXXPred_I64_Predicate_Msk2Imm),
GIM_CheckIsSafeToFold, 3,
GIR_MakeTempReg, 0, GILLT_v4s32,
GIR_MakeTempReg, 1, GILLT_v4s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 4,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode#undef GIMT_Encode2#undef GIMT_Encode4#undef GIMT_Encode8#endif #ifdef GET_GLOBALISEL_PREDICATES_DECL#endif #ifdef GET_GLOBALISEL_PREDICATES_INIT#endif