#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(281), GIMT_Encode4(97385),
GIMT_Encode4(922),
GIMT_Encode4(1239),
GIMT_Encode4(1680),
GIMT_Encode4(1962),
GIMT_Encode4(2118),
GIMT_Encode4(2274),
GIMT_Encode4(2436), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(2598),
GIMT_Encode4(3232),
GIMT_Encode4(3866), 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(5370), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6337), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(8614),
GIMT_Encode4(8886),
GIMT_Encode4(9133),
GIMT_Encode4(9261), GIMT_Encode4(0),
GIMT_Encode4(9389), 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(9409), GIMT_Encode4(0),
GIMT_Encode4(9534), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(9597),
GIMT_Encode4(35509), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(38199),
GIMT_Encode4(38385),
GIMT_Encode4(38571), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(38723), GIMT_Encode4(0),
GIMT_Encode4(38929),
GIMT_Encode4(39115),
GIMT_Encode4(39465),
GIMT_Encode4(39815), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(40179),
GIMT_Encode4(40487),
GIMT_Encode4(44489), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(48064), 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(49161),
GIMT_Encode4(49291),
GIMT_Encode4(49421),
GIMT_Encode4(49523),
GIMT_Encode4(49625),
GIMT_Encode4(49727), 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(49829),
GIMT_Encode4(50124),
GIMT_Encode4(50419),
GIMT_Encode4(50769), GIMT_Encode4(0),
GIMT_Encode4(51350), 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(51620),
GIMT_Encode4(54010),
GIMT_Encode4(54171),
GIMT_Encode4(54328),
GIMT_Encode4(54588),
GIMT_Encode4(54848),
GIMT_Encode4(55092), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(55336),
GIMT_Encode4(55625), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(55935),
GIMT_Encode4(56015),
GIMT_Encode4(56095),
GIMT_Encode4(56234), 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(56373),
GIMT_Encode4(56547),
GIMT_Encode4(56721),
GIMT_Encode4(56895), GIMT_Encode4(0),
GIMT_Encode4(57069),
GIMT_Encode4(57231),
GIMT_Encode4(57393), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(57409), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(57527), GIMT_Encode4(0),
GIMT_Encode4(57705), GIMT_Encode4(0),
GIMT_Encode4(57877),
GIMT_Encode4(58049),
GIMT_Encode4(58307),
GIMT_Encode4(94313), 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(94585),
GIMT_Encode4(94802),
GIMT_Encode4(95074),
GIMT_Encode4(95283), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(95517),
GIMT_Encode4(95787),
GIMT_Encode4(96057),
GIMT_Encode4(96327), GIMT_Encode4(0),
GIMT_Encode4(96597),
GIMT_Encode4(97155), 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(97372),
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(8), GIMT_Encode4(1238),
GIMT_Encode4(965),
GIMT_Encode4(988),
GIMT_Encode4(1048),
GIMT_Encode4(1108),
GIMT_Encode4(1134),
GIMT_Encode4(1160),
GIMT_Encode4(1186),
GIMT_Encode4(1212),
GIM_Try, GIMT_Encode4(987),
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(1047),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(1034),
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(1046),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::ADD4),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1107),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(1094),
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(1106),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::ADD8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1133),
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(1159),
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(1185),
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(1211),
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(1237),
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(1679),
GIMT_Encode4(1282),
GIMT_Encode4(1305),
GIMT_Encode4(1390),
GIMT_Encode4(1475),
GIMT_Encode4(1501),
GIMT_Encode4(1564),
GIMT_Encode4(1627),
GIMT_Encode4(1653),
GIM_Try, GIMT_Encode4(1304),
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(1389),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(1338),
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(1372),
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(1388),
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(1474),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(1423),
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(1457),
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(1473),
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(1500),
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(1563),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_Try, GIMT_Encode4(1547),
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(1562),
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(1626),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::VRRCRegClassID),
GIM_Try, GIMT_Encode4(1610),
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(1625),
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(1652),
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(1678),
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(1961),
GIMT_Encode4(1719),
GIMT_Encode4(1742),
GIMT_Encode4(1802), GIMT_Encode4(0),
GIMT_Encode4(1862),
GIMT_Encode4(1888),
GIMT_Encode4(1914),
GIM_Try, GIMT_Encode4(1741),
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(1801),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(1788),
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(1800),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MULLW),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1861),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(1848),
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(1860),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::MULLD),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1887),
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(1913),
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(1960),
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(2117),
GIMT_Encode4(1993),
GIMT_Encode4(2016),
GIMT_Encode4(2039),
GIMT_Encode4(2065),
GIMT_Encode4(2091),
GIM_Try, GIMT_Encode4(2015),
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(2038),
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(2064),
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(2090),
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(2116),
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(2273),
GIMT_Encode4(2149),
GIMT_Encode4(2172),
GIMT_Encode4(2195),
GIMT_Encode4(2221),
GIMT_Encode4(2247),
GIM_Try, GIMT_Encode4(2171),
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(2194),
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(2220),
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(2246),
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(2272),
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(2435),
GIMT_Encode4(2305),
GIMT_Encode4(2331),
GIMT_Encode4(2357),
GIMT_Encode4(2383),
GIMT_Encode4(2409),
GIM_Try, GIMT_Encode4(2330),
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(2356),
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(2382),
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(2408),
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(2434),
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(2597),
GIMT_Encode4(2467),
GIMT_Encode4(2493),
GIMT_Encode4(2519),
GIMT_Encode4(2545),
GIMT_Encode4(2571),
GIM_Try, GIMT_Encode4(2492),
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(2518),
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(2544),
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(2570),
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(2596),
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(3231),
GIMT_Encode4(2633),
GIMT_Encode4(2742),
GIMT_Encode4(2851), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(2960),
GIM_Try, GIMT_Encode4(2741),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIM_Try, GIMT_Encode4(2688),
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(2728),
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(2740),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CRAND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2850),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(2797),
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(2837),
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(2849),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::AND),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2959),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(2906),
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(2946),
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(2958),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::AND8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3230),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(3026),
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(3081),
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(3100),
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(3155),
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(3210),
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(3229),
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(3865),
GIMT_Encode4(3267),
GIMT_Encode4(3376),
GIMT_Encode4(3485), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(3594),
GIM_Try, GIMT_Encode4(3375),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIM_Try, GIMT_Encode4(3322),
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(3362),
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(3374),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CROR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3484),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(3431),
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(3471),
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(3483),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::OR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3593),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(3540),
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(3580),
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(3592),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::OR8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3864),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(3660),
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(3715),
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(3734),
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(3789),
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(3844),
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(3863),
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(5369),
GIMT_Encode4(3901),
GIMT_Encode4(4172),
GIMT_Encode4(4427), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(4682),
GIM_Try, GIMT_Encode4(4171),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::CRBITRCRegClassID),
GIM_Try, GIMT_Encode4(3958),
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(4000),
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(4040),
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(4082),
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(4122),
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(4140),
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(4158),
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(4170),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::CRXOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4426),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::GPRCRegClassID),
GIM_Try, GIMT_Encode4(4229),
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(4271),
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(4311),
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(4353),
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(4393),
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(4413),
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(4425),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XOR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4681),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(PPC::G8RCRegClassID),
GIM_Try, GIMT_Encode4(4484),
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(4526),
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(4566),
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(4608),
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(4648),
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(4668),
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(4680),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::XOR8),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5368),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(4750),
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(4807),
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(4862),
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(4919),
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(4974),
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(5011),
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(5030),
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(5087),
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(5144),
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(5199),
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(5256),
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(5311),
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(5348),
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(5367),
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(5670),
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(5513),
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(5635),
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(5650),
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(5669),
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(6195),
GIM_CheckNumOperands, 0, 5,
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(5735),
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(5786),
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(5922),
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(5980),
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(6069),
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(6158),
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(6194),
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(6336),
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(8613),
GIMT_Encode4(6376),
GIMT_Encode4(6449),
GIMT_Encode4(6497),
GIMT_Encode4(6901),
GIMT_Encode4(7463),
GIMT_Encode4(8014),
GIMT_Encode4(8342),
GIM_Try, GIMT_Encode4(6448),
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(6496),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(6476),
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(6495),
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(6554),
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(6580),
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(6612),
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(6644),
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(6676),
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(6708),
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(6740),
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(6772),
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(6804),
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(6836),
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(6868),
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(6900),
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(6958),
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(6984),
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(7010),
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(7036),
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(7062),
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(7088),
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(7114),
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(7140),
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(7166),
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(7192),
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(7218),
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(7244),
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(7270),
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(7302),
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(7334),
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(7366),
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(7398),
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(7430),
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(7462),
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(7499),
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(7525),
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(7551),
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(7577),
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(7603),
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(7629),
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(7661),
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(7693),
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(7725),
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(7757),
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(7789),
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(7821),
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(7853),
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(7885),
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(7917),
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(7949),
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(7981),
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(8013),
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(8071),
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(8097),
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(8123),
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(8149),
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(8181),
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(8213),
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(8245),
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(8277),
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(8309),
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(8341),
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(8368),
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(8394),
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(8420),
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(8452),
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(8484),
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(8516),
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(8548),
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(8580),
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(8612),
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(8885),
GIMT_Encode4(8645),
GIMT_Encode4(8735),
GIMT_Encode4(8783),
GIMT_Encode4(8814),
GIMT_Encode4(8837),
GIM_Try, GIMT_Encode4(8734),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(8714),
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(8733),
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(8782),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(8762),
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(8781),
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(8813),
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(8836),
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(8884),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_Try, GIMT_Encode4(8864),
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(8883),
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(9132),
GIMT_Encode4(8917),
GIMT_Encode4(9007),
GIMT_Encode4(9055),
GIMT_Encode4(9086),
GIMT_Encode4(9109),
GIM_Try, GIMT_Encode4(9006),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(8986),
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(9005),
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(9054),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(9034),
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(9053),
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(9085),
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(9108),
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(9131),
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(9260),
GIM_RootCheckType, 0, GILLT_s64,
GIM_SwitchType, 0, 1, GIMT_Encode2(1), GIMT_Encode2(3), GIMT_Encode4(9259),
GIMT_Encode4(9160),
GIMT_Encode4(9218),
GIM_Try, GIMT_Encode4(9217),
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(9258),
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(9388),
GIM_RootCheckType, 0, GILLT_s64,
GIM_SwitchType, 0, 1, GIMT_Encode2(1), GIMT_Encode2(3), GIMT_Encode4(9387),
GIMT_Encode4(9288),
GIMT_Encode4(9346),
GIM_Try, GIMT_Encode4(9345),
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(9386),
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(9408),
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(9484),
GIMT_Encode4(9428),
GIMT_Encode4(9456),
GIM_Try, GIMT_Encode4(9455),
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(9483),
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(9533),
GIM_CheckIsImm, 0, 0,
GIM_CheckIsImm, 0, 1,
GIM_Try, GIMT_Encode4(9515),
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(9532),
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(9596),
GIM_RootCheckType, 0, GILLT_s1,
GIM_CheckIsMBB, 0, 1,
GIM_Try, GIMT_Encode4(9583),
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(9595),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(PPC::BC),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9718),
GIM_CheckNumOperands, 0, 2,
GIM_Try, GIMT_Encode4(9632),
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(9659),
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(9683),
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(9717),
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(13347),
GIM_CheckNumOperands, 0, 3,
GIM_Try, GIMT_Encode4(9762),
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(9798),
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(9830),
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(9862),
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(9894),
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(9926),
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(9958),
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(9990),
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(10022),
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(10054),
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(10086),
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(10118),
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(10150),
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(10182),
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(10214),
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(10246),
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(10278),
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(10310),
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(10342),
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(10397),
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(10452),
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(10484),
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(10516),
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(10548),
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(10580),
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(10612),
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(10644),
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(10676),
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(10708),
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(10789),
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(10840),
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(10891),
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(10971),
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(11014),
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(11047),
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(11080),
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(11109),
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(11138),
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(11167),
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(11199),
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(11231),
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(11263),
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(11295),
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(11327),
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(11359),
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(11391),
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(11423),
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(11455),
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(11487),
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(11519),
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(11551),
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(11583),
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(11615),
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(11647),
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(11679),
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(11711),
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(11743),
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(11775),
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(11807),
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(11839),
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(11871),
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(11903),
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(11935),
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(11967),
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(11999),
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(12031),
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(12063),
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(12092),
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(12121),
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(12150),
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(12182),
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(12214),
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(12246),
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(12278),
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(12310),
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(12342),
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(12374),
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(12406),
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(12438),
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(12470),
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(12502),
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(12534),
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(12566),
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(12598),
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(12630),
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(12662),
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(12694),
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(12726),
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(12758),
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(12790),
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(12822),
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(12854),
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(12883),
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(12912),
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(12941),
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(12970),
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(13042),
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(13114),
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(13143),
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(13172),
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(13201),
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(13230),
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(13259),
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(13288),
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(13317),
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(13346),
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(21613),
GIM_CheckNumOperands, 0, 4,
GIM_Try, GIMT_Encode4(13426),
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(13463),
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(13500),
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(13545),
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(13590),
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(13635),
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(13680),
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(13725),
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(13770),
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(13807),
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(13844),
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(13881),
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(13918),
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(13955),
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(13992),
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(14029),
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(14066),
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(14103),
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(14140),
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(14177),
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(14214),
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(14251),
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(14288),
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(14350),
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(14412),
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(14449),
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(14528),
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(14584),
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(14672),
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(14760),
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(14803),
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(14846),
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(14889),
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(14932),
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(15003),
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(15074),
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(15145),
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(15216),
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(15253),
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(15290),
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(15327),
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(15364),
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(15401),
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(15438),
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(15475),
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(15512),
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(15549),
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(15594),
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(15639),
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(15684),
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(15729),
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(15774),
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(15840),
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(15906),
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(15951),
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(15996),
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(16038),
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(16080),
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(16122),
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(16164),
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(16198),
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(16235),
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(16272),
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(16309),
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(16346),
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(16383),
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(16420),
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(16457),
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(16494),
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(16531),
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(16568),
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(16605),
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(16642),
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(16679),
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(16716),
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(16753),
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(16790),
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(16827),
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(16864),
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(16901),
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(16938),
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(16975),
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(17012),
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(17049),
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(17086),
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(17123),
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(17160),
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(17197),
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(17234),
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(17271),
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(17308),
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(17345),
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(17382),
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(17419),
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(17456),
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(17493),
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(17530),
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(17567),
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(17604),
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(17641),
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(17678),
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(17715),
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(17752),
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(17789),
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(17826),
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(17863),
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(17900),
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(17937),
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(17974),
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(18011),
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(18048),
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(18085),
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(18122),
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(18159),
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(18196),
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(18233),
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(18270),
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(18307),
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(18344),
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(18381),
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(18418),
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(18455),
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(18492),
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(18529),
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(18566),
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(18603),
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(18640),
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(18677),
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(18714),
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(18751),
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(18788),
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(18825),
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(18862),
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(18899),
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(18936),
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(18973),
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(19010),
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(19047),
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(19084),
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(19121),
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(19158),
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(19195),
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(19232),
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(19269),
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(19306),
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(19343),
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(19380),
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(19417),
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(19451),
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(19488),
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(19525),
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(19562),
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(19599),
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(19636),
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(19673),
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(19710),
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(19747),
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(19784),
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(19821),
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(19858),
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(19895),
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(19932),
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(19969),
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(20006),
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(20043),
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(20080),
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(20117),
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(20154),
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(20191),
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(20228),
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(20265),
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(20302),
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(20339),
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(20376),
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(20413),
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(20450),
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(20525),
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(20600),
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(20675),
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(20750),
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(20825),
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(20900),
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(20975),
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(21050),
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(21125),
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(21181),
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(21256),
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(21331),
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(21406),
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(21462),
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(21537),
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(21612),
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(28049),
GIM_CheckNumOperands, 0, 5,
GIM_Try, GIMT_Encode4(21679),
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(21732),
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(21774),
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(21816),
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(21858),
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(21900),
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(21942),
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(21984),
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(22026),
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(22068),
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(22110),
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(22152),
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(22194),
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(22239),
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(22284),
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(22338),
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(22392),
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(22446),
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(22497),
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(22539),
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(22581),
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(22623),
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(22665),
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(22707),
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(22749),
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(22791),
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(22833),
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(22875),
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(22917),
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(22959),
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(23001),
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(23043),
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(23085),
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(23127),
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(23169),
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(23211),
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(23253),
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(23295),
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(23337),
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(23379),
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(23421),
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(23463),
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(23505),
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(23547),
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(23589),
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(23631),
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(23673),
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(23715),
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(23757),
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(23799),
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(23841),
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(23883),
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(23925),
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(23967),
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(24009),
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(24051),
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(24093),
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(24132),
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(24171),
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(24210),
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(24249),
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(24291),
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(24333),
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(24432),
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(24474),
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(24516),
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(24636),
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(24756),
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(24798),
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(24840),
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(24920),
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(25000),
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(25080),
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(25160),
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(25240),
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(25320),
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(25400),
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(25480),
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(25560),
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(25640),
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(25720),
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(25800),
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(25880),
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(25960),
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(26040),
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(26120),
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(26200),
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(26280),
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(26341),
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(26402),
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(26463),
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(26524),
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(26604),
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(26684),
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(26764),
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(26844),
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(26924),
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(27004),
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(27084),
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(27164),
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(27244),
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(27324),
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(27385),
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(27446),
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(27507),
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(27568),
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(27648),
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(27728),
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(27808),
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(27888),
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(27968),
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(28048),
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(28646),
GIM_CheckNumOperands, 0, 6,
GIM_Try, GIMT_Encode4(28170),
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(28264),
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(28377),
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(28471),
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(28518),
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(28645),
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(31963),
GIM_CheckNumOperands, 0, 7,
GIM_Try, GIMT_Encode4(28785),
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(28916),
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(29047),
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(29178),
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(29309),
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(29440),
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(29571),
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(29702),
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(29833),
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(29964),
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(30095),
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(30226),
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(30344),
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(30462),
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(30580),
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(30698),
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(30797),
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(30896),
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(30995),
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(31094),
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(31212),
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(31330),
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(31448),
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(31566),
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(31665),
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(31764),
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(31863),
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(31962),
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(35508),
GIM_CheckNumOperands, 0, 8,
GIM_Try, GIMT_Encode4(32107),
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(32243),
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(32379),
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(32515),
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(32651),
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(32787),
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(32923),
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(33059),
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(33195),
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(33331),
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(33467),
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(33603),
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(33739),
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(33875),
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(34011),
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(34147),
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(34283),
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(34419),
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(34555),
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(34691),
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(34827),
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#undef GIMT_Encode2#undef GIMT_Encode4#undef GIMT_Encode8#endif #ifdef GET_GLOBALISEL_PREDICATES_DECL#endif #ifdef GET_GLOBALISEL_PREDICATES_INIT#endif