#ifdef GET_GICOMBINER_DEPS
#include "llvm/ADT/SparseBitVector.h"
namespace llvm {
extern cl::OptionCategory GICombinerOptionCategory;
}
#endif
#ifdef GET_GICOMBINER_TYPES
struct AMDGPUPostLegalizerCombinerImplRuleConfig { … };
static std::optional<uint64_t> getRuleIdxForIdentifier(StringRef RuleIdentifier) { … }
static std::optional<std::pair<uint64_t, uint64_t>> getRuleRangeForIdentifier(StringRef RuleIdentifier) { … }
bool AMDGPUPostLegalizerCombinerImplRuleConfig::setRuleEnabled(StringRef RuleIdentifier) { … }
bool AMDGPUPostLegalizerCombinerImplRuleConfig::setRuleDisabled(StringRef RuleIdentifier) { … }
static std::vector<std::string> AMDGPUPostLegalizerCombinerOption;
static cl::list<std::string> AMDGPUPostLegalizerCombinerDisableOption(
"amdgpupostlegalizercombiner-disable-rule",
cl::desc("Disable one or more combiner rules temporarily in the AMDGPUPostLegalizerCombiner pass"),
cl::CommaSeparated,
cl::Hidden,
cl::cat(GICombinerOptionCategory),
cl::callback([](const std::string &Str) { … }));
static cl::list<std::string> AMDGPUPostLegalizerCombinerOnlyEnableOption(
"amdgpupostlegalizercombiner-only-enable-rule",
cl::desc("Disable all rules in the AMDGPUPostLegalizerCombiner pass then re-enable the specified ones"),
cl::Hidden,
cl::cat(GICombinerOptionCategory),
cl::callback([](const std::string &CommaSeparatedArg) { … }));
bool AMDGPUPostLegalizerCombinerImplRuleConfig::isRuleEnabled(unsigned RuleID) const { … }
bool AMDGPUPostLegalizerCombinerImplRuleConfig::parseCommandLineOption() { … }
#endif
#ifdef GET_GICOMBINER_TYPES
const unsigned MAX_SUBTARGET_PREDICATES = …;
PredicateBitset;
#endif
#ifdef GET_GICOMBINER_CLASS_MEMBERS
PredicateBitset AvailableModuleFeatures;
mutable PredicateBitset AvailableFunctionFeatures;
PredicateBitset getAvailableFeatures() const {
return AvailableModuleFeatures | AvailableFunctionFeatures;
}
PredicateBitset
computeAvailableModuleFeatures(const AMDGPUSubtarget *Subtarget) const;
PredicateBitset
computeAvailableFunctionFeatures(const AMDGPUSubtarget *Subtarget,
const MachineFunction *MF) const;
void setupGeneratedPerFunctionState(MachineFunction &MF) override;
#endif
#ifdef GET_GICOMBINER_CLASS_MEMBERS
mutable MatcherState State;
typedef ComplexRendererFns(AMDGPUPostLegalizerCombinerImpl::*ComplexMatcherMemFn)(MachineOperand &) const;
typedef void(AMDGPUPostLegalizerCombinerImpl::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
static AMDGPUPostLegalizerCombinerImpl::ComplexMatcherMemFn ComplexPredicateFns[];
static AMDGPUPostLegalizerCombinerImpl::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_GICOMBINER_IMPL
enum {
GILLT_s16,
GILLT_s32,
};
const static size_t NumTypeObjects = 2;
const static LLT TypeObjects[] = {
LLT::scalar(16),
LLT::scalar(32),
};
enum SubtargetFeatureBits : uint8_t {
Feature_Has16BitInstsBit = 1,
Feature_NotHasMed3_16Bit = 2,
Feature_HasFminFmaxLegacyBit = 0,
};
PredicateBitset AMDGPUPostLegalizerCombinerImpl::
computeAvailableModuleFeatures(const AMDGPUSubtarget *Subtarget) const {
PredicateBitset Features{};
if (Subtarget->has16BitInsts())
Features.set(Feature_Has16BitInstsBit);
if (!Subtarget->hasMed3_16())
Features.set(Feature_NotHasMed3_16Bit);
if (Subtarget->hasFminFmaxLegacy())
Features.set(Feature_HasFminFmaxLegacyBit);
return Features;
}
void AMDGPUPostLegalizerCombinerImpl::setupGeneratedPerFunctionState(MachineFunction &MF) {
AvailableFunctionFeatures = computeAvailableFunctionFeatures((const AMDGPUSubtarget *)&MF.getSubtarget(), &MF);
}
PredicateBitset AMDGPUPostLegalizerCombinerImpl::
computeAvailableFunctionFeatures(const AMDGPUSubtarget *Subtarget, const MachineFunction *MF) const {
PredicateBitset Features{};
return Features;
}
enum {
GIFBS_Invalid,
GIFBS_HasFminFmaxLegacy,
GIFBS_Has16BitInsts_NotHasMed3_16,
};
constexpr static PredicateBitset FeatureBitsets[] {
{},
{Feature_HasFminFmaxLegacyBit, },
{Feature_Has16BitInstsBit, Feature_NotHasMed3_16Bit, },
};
enum {
GICP_Invalid,
};
AMDGPUPostLegalizerCombinerImpl::ComplexMatcherMemFn
AMDGPUPostLegalizerCombinerImpl::ComplexPredicateFns[] = {
nullptr,
};
enum {
GICXXPred_MI_Predicate_GICombiner0 = GICXXPred_Invalid + 1,
GICXXPred_MI_Predicate_GICombiner1,
GICXXPred_MI_Predicate_GICombiner2,
GICXXPred_MI_Predicate_GICombiner3,
GICXXPred_MI_Predicate_GICombiner4,
GICXXPred_MI_Predicate_GICombiner5,
GICXXPred_MI_Predicate_GICombiner6,
GICXXPred_MI_Predicate_GICombiner7,
GICXXPred_MI_Predicate_GICombiner8,
};
bool AMDGPUPostLegalizerCombinerImpl::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
switch (PredicateID) {
case GICXXPred_MI_Predicate_GICombiner0: {
return isGuaranteedNotToBePoison(State.MIs[0]->getOperand(1).getReg(), MRI);
}
case GICXXPred_MI_Predicate_GICombiner1: {
return isGuaranteedNotToBeUndefOrPoison(State.MIs[0]->getOperand(1).getReg(), MRI);
}
case GICXXPred_MI_Predicate_GICombiner2: {
return Helper.matchConstantFPOp(State.MIs[0]->getOperand(2), 1.0);
}
case GICXXPred_MI_Predicate_GICombiner3: {
return Helper.matchConstantFPOp(State.MIs[0]->getOperand(2), -0.0);
}
case GICXXPred_MI_Predicate_GICombiner4: {
return Helper.matchConstantFPOp(State.MIs[0]->getOperand(2), -1.0);
}
case GICXXPred_MI_Predicate_GICombiner5: {
return State.MIs[1]->getOperand(1).getPredicate() == CmpInst::ICMP_EQ &&
!MRI.getType(State.MIs[1]->getOperand(2).getReg()).getScalarType().isPointer() &&
(MRI.getType(State.MIs[1]->getOperand(2).getReg()) ==
MRI.getType(State.MIs[2]->getOperand(2).getReg()));
}
case GICXXPred_MI_Predicate_GICombiner6: {
return State.MIs[1]->getOperand(1).getPredicate() == CmpInst::ICMP_NE &&
!MRI.getType(State.MIs[1]->getOperand(2).getReg()).getScalarType().isPointer() &&
(MRI.getType(State.MIs[1]->getOperand(2).getReg()) ==
MRI.getType(State.MIs[2]->getOperand(2).getReg()));
}
case GICXXPred_MI_Predicate_GICombiner7: {
return Helper.isLegalOrBeforeLegalizer({TargetOpcode::G_LSHR,
{MRI.getType(State.MIs[2]->getOperand(1).getReg()),
MRI.getType(State.MIs[1]->getOperand(2).getReg())}});
}
case GICXXPred_MI_Predicate_GICombiner8: {
return Helper.isLegalOrBeforeLegalizer({TargetOpcode::G_SHL,
{MRI.getType(State.MIs[2]->getOperand(1).getReg()),
MRI.getType(State.MIs[1]->getOperand(2).getReg())}});
}
}
llvm_unreachable("Unknown predicate");
return false;
}
bool AMDGPUPostLegalizerCombinerImpl::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
bool AMDGPUPostLegalizerCombinerImpl::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
bool AMDGPUPostLegalizerCombinerImpl::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_Simple_IsRule0Enabled = GICXXPred_Invalid + 1,
GICXXPred_Simple_IsRule1Enabled,
GICXXPred_Simple_IsRule2Enabled,
GICXXPred_Simple_IsRule3Enabled,
GICXXPred_Simple_IsRule4Enabled,
GICXXPred_Simple_IsRule5Enabled,
GICXXPred_Simple_IsRule6Enabled,
GICXXPred_Simple_IsRule7Enabled,
GICXXPred_Simple_IsRule8Enabled,
GICXXPred_Simple_IsRule9Enabled,
GICXXPred_Simple_IsRule10Enabled,
GICXXPred_Simple_IsRule11Enabled,
GICXXPred_Simple_IsRule12Enabled,
GICXXPred_Simple_IsRule13Enabled,
GICXXPred_Simple_IsRule14Enabled,
GICXXPred_Simple_IsRule15Enabled,
GICXXPred_Simple_IsRule16Enabled,
GICXXPred_Simple_IsRule17Enabled,
GICXXPred_Simple_IsRule18Enabled,
GICXXPred_Simple_IsRule19Enabled,
GICXXPred_Simple_IsRule20Enabled,
GICXXPred_Simple_IsRule21Enabled,
GICXXPred_Simple_IsRule22Enabled,
GICXXPred_Simple_IsRule23Enabled,
GICXXPred_Simple_IsRule24Enabled,
GICXXPred_Simple_IsRule25Enabled,
GICXXPred_Simple_IsRule26Enabled,
GICXXPred_Simple_IsRule27Enabled,
GICXXPred_Simple_IsRule28Enabled,
GICXXPred_Simple_IsRule29Enabled,
GICXXPred_Simple_IsRule30Enabled,
GICXXPred_Simple_IsRule31Enabled,
GICXXPred_Simple_IsRule32Enabled,
GICXXPred_Simple_IsRule33Enabled,
GICXXPred_Simple_IsRule34Enabled,
GICXXPred_Simple_IsRule35Enabled,
GICXXPred_Simple_IsRule36Enabled,
GICXXPred_Simple_IsRule37Enabled,
GICXXPred_Simple_IsRule38Enabled,
GICXXPred_Simple_IsRule39Enabled,
GICXXPred_Simple_IsRule40Enabled,
GICXXPred_Simple_IsRule41Enabled,
GICXXPred_Simple_IsRule42Enabled,
GICXXPred_Simple_IsRule43Enabled,
GICXXPred_Simple_IsRule44Enabled,
GICXXPred_Simple_IsRule45Enabled,
GICXXPred_Simple_IsRule46Enabled,
GICXXPred_Simple_IsRule47Enabled,
GICXXPred_Simple_IsRule48Enabled,
GICXXPred_Simple_IsRule49Enabled,
GICXXPred_Simple_IsRule50Enabled,
GICXXPred_Simple_IsRule51Enabled,
GICXXPred_Simple_IsRule52Enabled,
GICXXPred_Simple_IsRule53Enabled,
GICXXPred_Simple_IsRule54Enabled,
GICXXPred_Simple_IsRule55Enabled,
GICXXPred_Simple_IsRule56Enabled,
GICXXPred_Simple_IsRule57Enabled,
GICXXPred_Simple_IsRule58Enabled,
GICXXPred_Simple_IsRule59Enabled,
GICXXPred_Simple_IsRule60Enabled,
GICXXPred_Simple_IsRule61Enabled,
GICXXPred_Simple_IsRule62Enabled,
GICXXPred_Simple_IsRule63Enabled,
GICXXPred_Simple_IsRule64Enabled,
GICXXPred_Simple_IsRule65Enabled,
GICXXPred_Simple_IsRule66Enabled,
GICXXPred_Simple_IsRule67Enabled,
GICXXPred_Simple_IsRule68Enabled,
GICXXPred_Simple_IsRule69Enabled,
GICXXPred_Simple_IsRule70Enabled,
GICXXPred_Simple_IsRule71Enabled,
GICXXPred_Simple_IsRule72Enabled,
GICXXPred_Simple_IsRule73Enabled,
GICXXPred_Simple_IsRule74Enabled,
GICXXPred_Simple_IsRule75Enabled,
GICXXPred_Simple_IsRule76Enabled,
GICXXPred_Simple_IsRule77Enabled,
GICXXPred_Simple_IsRule78Enabled,
GICXXPred_Simple_IsRule79Enabled,
GICXXPred_Simple_IsRule80Enabled,
GICXXPred_Simple_IsRule81Enabled,
GICXXPred_Simple_IsRule82Enabled,
GICXXPred_Simple_IsRule83Enabled,
GICXXPred_Simple_IsRule84Enabled,
GICXXPred_Simple_IsRule85Enabled,
GICXXPred_Simple_IsRule86Enabled,
GICXXPred_Simple_IsRule87Enabled,
GICXXPred_Simple_IsRule88Enabled,
GICXXPred_Simple_IsRule89Enabled,
GICXXPred_Simple_IsRule90Enabled,
GICXXPred_Simple_IsRule91Enabled,
GICXXPred_Simple_IsRule92Enabled,
GICXXPred_Simple_IsRule93Enabled,
GICXXPred_Simple_IsRule94Enabled,
GICXXPred_Simple_IsRule95Enabled,
GICXXPred_Simple_IsRule96Enabled,
GICXXPred_Simple_IsRule97Enabled,
GICXXPred_Simple_IsRule98Enabled,
GICXXPred_Simple_IsRule99Enabled,
GICXXPred_Simple_IsRule100Enabled,
GICXXPred_Simple_IsRule101Enabled,
GICXXPred_Simple_IsRule102Enabled,
GICXXPred_Simple_IsRule103Enabled,
GICXXPred_Simple_IsRule104Enabled,
GICXXPred_Simple_IsRule105Enabled,
GICXXPred_Simple_IsRule106Enabled,
GICXXPred_Simple_IsRule107Enabled,
GICXXPred_Simple_IsRule108Enabled,
GICXXPred_Simple_IsRule109Enabled,
GICXXPred_Simple_IsRule110Enabled,
GICXXPred_Simple_IsRule111Enabled,
GICXXPred_Simple_IsRule112Enabled,
GICXXPred_Simple_IsRule113Enabled,
GICXXPred_Simple_IsRule114Enabled,
GICXXPred_Simple_IsRule115Enabled,
GICXXPred_Simple_IsRule116Enabled,
GICXXPred_Simple_IsRule117Enabled,
GICXXPred_Simple_IsRule118Enabled,
GICXXPred_Simple_IsRule119Enabled,
GICXXPred_Simple_IsRule120Enabled,
GICXXPred_Simple_IsRule121Enabled,
GICXXPred_Simple_IsRule122Enabled,
GICXXPred_Simple_IsRule123Enabled,
GICXXPred_Simple_IsRule124Enabled,
GICXXPred_Simple_IsRule125Enabled,
GICXXPred_Simple_IsRule126Enabled,
GICXXPred_Simple_IsRule127Enabled,
GICXXPred_Simple_IsRule128Enabled,
GICXXPred_Simple_IsRule129Enabled,
GICXXPred_Simple_IsRule130Enabled,
GICXXPred_Simple_IsRule131Enabled,
GICXXPred_Simple_IsRule132Enabled,
GICXXPred_Simple_IsRule133Enabled,
GICXXPred_Simple_IsRule134Enabled,
GICXXPred_Simple_IsRule135Enabled,
GICXXPred_Simple_IsRule136Enabled,
GICXXPred_Simple_IsRule137Enabled,
GICXXPred_Simple_IsRule138Enabled,
GICXXPred_Simple_IsRule139Enabled,
GICXXPred_Simple_IsRule140Enabled,
GICXXPred_Simple_IsRule141Enabled,
GICXXPred_Simple_IsRule142Enabled,
GICXXPred_Simple_IsRule143Enabled,
GICXXPred_Simple_IsRule144Enabled,
GICXXPred_Simple_IsRule145Enabled,
GICXXPred_Simple_IsRule146Enabled,
GICXXPred_Simple_IsRule147Enabled,
GICXXPred_Simple_IsRule148Enabled,
GICXXPred_Simple_IsRule149Enabled,
GICXXPred_Simple_IsRule150Enabled,
GICXXPred_Simple_IsRule151Enabled,
GICXXPred_Simple_IsRule152Enabled,
GICXXPred_Simple_IsRule153Enabled,
GICXXPred_Simple_IsRule154Enabled,
GICXXPred_Simple_IsRule155Enabled,
GICXXPred_Simple_IsRule156Enabled,
GICXXPred_Simple_IsRule157Enabled,
GICXXPred_Simple_IsRule158Enabled,
GICXXPred_Simple_IsRule159Enabled,
GICXXPred_Simple_IsRule160Enabled,
GICXXPred_Simple_IsRule161Enabled,
GICXXPred_Simple_IsRule162Enabled,
GICXXPred_Simple_IsRule163Enabled,
GICXXPred_Simple_IsRule164Enabled,
GICXXPred_Simple_IsRule165Enabled,
GICXXPred_Simple_IsRule166Enabled,
GICXXPred_Simple_IsRule167Enabled,
GICXXPred_Simple_IsRule168Enabled,
GICXXPred_Simple_IsRule169Enabled,
GICXXPred_Simple_IsRule170Enabled,
GICXXPred_Simple_IsRule171Enabled,
GICXXPred_Simple_IsRule172Enabled,
GICXXPred_Simple_IsRule173Enabled,
GICXXPred_Simple_IsRule174Enabled,
GICXXPred_Simple_IsRule175Enabled,
GICXXPred_Simple_IsRule176Enabled,
GICXXPred_Simple_IsRule177Enabled,
GICXXPred_Simple_IsRule178Enabled,
GICXXPred_Simple_IsRule179Enabled,
GICXXPred_Simple_IsRule180Enabled,
GICXXPred_Simple_IsRule181Enabled,
GICXXPred_Simple_IsRule182Enabled,
GICXXPred_Simple_IsRule183Enabled,
GICXXPred_Simple_IsRule184Enabled,
GICXXPred_Simple_IsRule185Enabled,
GICXXPred_Simple_IsRule186Enabled,
GICXXPred_Simple_IsRule187Enabled,
GICXXPred_Simple_IsRule188Enabled,
GICXXPred_Simple_IsRule189Enabled,
GICXXPred_Simple_IsRule190Enabled,
GICXXPred_Simple_IsRule191Enabled,
GICXXPred_Simple_IsRule192Enabled,
GICXXPred_Simple_IsRule193Enabled,
GICXXPred_Simple_IsRule194Enabled,
GICXXPred_Simple_IsRule195Enabled,
GICXXPred_Simple_IsRule196Enabled,
GICXXPred_Simple_IsRule197Enabled,
GICXXPred_Simple_IsRule198Enabled,
GICXXPred_Simple_IsRule199Enabled,
GICXXPred_Simple_IsRule200Enabled,
GICXXPred_Simple_IsRule201Enabled,
GICXXPred_Simple_IsRule202Enabled,
GICXXPred_Simple_IsRule203Enabled,
GICXXPred_Simple_IsRule204Enabled,
GICXXPred_Simple_IsRule205Enabled,
GICXXPred_Simple_IsRule206Enabled,
GICXXPred_Simple_IsRule207Enabled,
GICXXPred_Simple_IsRule208Enabled,
GICXXPred_Simple_IsRule209Enabled,
GICXXPred_Simple_IsRule210Enabled,
GICXXPred_Simple_IsRule211Enabled,
GICXXPred_Simple_IsRule212Enabled,
};
bool AMDGPUPostLegalizerCombinerImpl::testSimplePredicate(unsigned Predicate) const {
return RuleConfig.isRuleEnabled(Predicate - GICXXPred_Invalid - 1);
}
enum {
GICR_Invalid,
};
AMDGPUPostLegalizerCombinerImpl::CustomRendererFn
AMDGPUPostLegalizerCombinerImpl::CustomRenderers[] = {
nullptr,
};
bool AMDGPUPostLegalizerCombinerImpl::tryCombineAllImpl(MachineInstr &I) const {
const TargetSubtargetInfo &ST = MF.getSubtarget();
const PredicateBitset AvailableFeatures = getAvailableFeatures();
B.setInstrAndDebugLoc(I);
State.MIs.clear();
State.MIs.push_back(&I);
if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), *ST.getInstrInfo(), MRI, *MRI.getTargetRegisterInfo(), *ST.getRegBankInfo(), AvailableFeatures, nullptr)) {
return true;
}
return false;
}
enum {
GICXXCustomAction_GICombiner0 = GICXXCustomAction_Invalid + 1,
GICXXCustomAction_GICombiner1,
GICXXCustomAction_GICombiner2,
GICXXCustomAction_GICombiner3,
GICXXCustomAction_GICombiner4,
GICXXCustomAction_GICombiner5,
GICXXCustomAction_GICombiner6,
GICXXCustomAction_GICombiner7,
GICXXCustomAction_GICombiner8,
GICXXCustomAction_GICombiner9,
GICXXCustomAction_GICombiner10,
GICXXCustomAction_GICombiner11,
GICXXCustomAction_GICombiner12,
GICXXCustomAction_GICombiner13,
GICXXCustomAction_GICombiner14,
GICXXCustomAction_GICombiner15,
GICXXCustomAction_GICombiner16,
GICXXCustomAction_GICombiner17,
GICXXCustomAction_GICombiner18,
GICXXCustomAction_GICombiner19,
GICXXCustomAction_GICombiner20,
GICXXCustomAction_GICombiner21,
GICXXCustomAction_GICombiner22,
GICXXCustomAction_GICombiner23,
GICXXCustomAction_GICombiner24,
GICXXCustomAction_GICombiner25,
GICXXCustomAction_GICombiner26,
GICXXCustomAction_GICombiner27,
GICXXCustomAction_GICombiner28,
GICXXCustomAction_GICombiner29,
GICXXCustomAction_GICombiner30,
GICXXCustomAction_GICombiner31,
GICXXCustomAction_GICombiner32,
GICXXCustomAction_GICombiner33,
GICXXCustomAction_GICombiner34,
GICXXCustomAction_GICombiner35,
GICXXCustomAction_GICombiner36,
GICXXCustomAction_GICombiner37,
GICXXCustomAction_GICombiner38,
GICXXCustomAction_GICombiner39,
GICXXCustomAction_GICombiner40,
GICXXCustomAction_GICombiner41,
GICXXCustomAction_GICombiner42,
GICXXCustomAction_GICombiner43,
GICXXCustomAction_GICombiner44,
GICXXCustomAction_GICombiner45,
GICXXCustomAction_GICombiner46,
GICXXCustomAction_GICombiner47,
GICXXCustomAction_GICombiner48,
GICXXCustomAction_GICombiner49,
GICXXCustomAction_GICombiner50,
GICXXCustomAction_GICombiner51,
GICXXCustomAction_GICombiner52,
GICXXCustomAction_GICombiner53,
GICXXCustomAction_GICombiner54,
GICXXCustomAction_GICombiner55,
GICXXCustomAction_GICombiner56,
GICXXCustomAction_GICombiner57,
GICXXCustomAction_GICombiner58,
GICXXCustomAction_GICombiner59,
GICXXCustomAction_GICombiner60,
GICXXCustomAction_GICombiner61,
GICXXCustomAction_GICombiner62,
GICXXCustomAction_GICombiner63,
GICXXCustomAction_GICombiner64,
GICXXCustomAction_GICombiner65,
GICXXCustomAction_GICombiner66,
GICXXCustomAction_GICombiner67,
GICXXCustomAction_GICombiner68,
GICXXCustomAction_GICombiner69,
GICXXCustomAction_GICombiner70,
GICXXCustomAction_GICombiner71,
GICXXCustomAction_GICombiner72,
GICXXCustomAction_GICombiner73,
GICXXCustomAction_GICombiner74,
GICXXCustomAction_GICombiner75,
GICXXCustomAction_GICombiner76,
GICXXCustomAction_GICombiner77,
GICXXCustomAction_GICombiner78,
GICXXCustomAction_GICombiner79,
GICXXCustomAction_GICombiner80,
GICXXCustomAction_GICombiner81,
GICXXCustomAction_GICombiner82,
GICXXCustomAction_GICombiner83,
GICXXCustomAction_GICombiner84,
GICXXCustomAction_GICombiner85,
GICXXCustomAction_GICombiner86,
GICXXCustomAction_GICombiner87,
GICXXCustomAction_GICombiner88,
GICXXCustomAction_GICombiner89,
GICXXCustomAction_GICombiner90,
GICXXCustomAction_GICombiner91,
GICXXCustomAction_GICombiner92,
GICXXCustomAction_GICombiner93,
GICXXCustomAction_GICombiner94,
GICXXCustomAction_GICombiner95,
GICXXCustomAction_GICombiner96,
GICXXCustomAction_GICombiner97,
GICXXCustomAction_GICombiner98,
GICXXCustomAction_GICombiner99,
GICXXCustomAction_GICombiner100,
GICXXCustomAction_GICombiner101,
GICXXCustomAction_GICombiner102,
GICXXCustomAction_GICombiner103,
GICXXCustomAction_GICombiner104,
GICXXCustomAction_GICombiner105,
GICXXCustomAction_GICombiner106,
GICXXCustomAction_GICombiner107,
GICXXCustomAction_GICombiner108,
GICXXCustomAction_GICombiner109,
GICXXCustomAction_GICombiner110,
GICXXCustomAction_GICombiner111,
GICXXCustomAction_GICombiner112,
GICXXCustomAction_GICombiner113,
GICXXCustomAction_GICombiner114,
GICXXCustomAction_GICombiner115,
GICXXCustomAction_GICombiner116,
GICXXCustomAction_GICombiner117,
GICXXCustomAction_GICombiner118,
GICXXCustomAction_GICombiner119,
GICXXCustomAction_GICombiner120,
GICXXCustomAction_GICombiner121,
GICXXCustomAction_GICombiner122,
GICXXCustomAction_GICombiner123,
GICXXCustomAction_GICombiner124,
GICXXCustomAction_GICombiner125,
GICXXCustomAction_GICombiner126,
GICXXCustomAction_GICombiner127,
GICXXCustomAction_GICombiner128,
GICXXCustomAction_GICombiner129,
GICXXCustomAction_GICombiner130,
GICXXCustomAction_GICombiner131,
GICXXCustomAction_GICombiner132,
GICXXCustomAction_GICombiner133,
GICXXCustomAction_GICombiner134,
GICXXCustomAction_GICombiner135,
GICXXCustomAction_GICombiner136,
GICXXCustomAction_GICombiner137,
GICXXCustomAction_GICombiner138,
GICXXCustomAction_GICombiner139,
GICXXCustomAction_GICombiner140,
GICXXCustomAction_GICombiner141,
GICXXCustomAction_GICombiner142,
GICXXCustomAction_GICombiner143,
GICXXCustomAction_GICombiner144,
GICXXCustomAction_GICombiner145,
GICXXCustomAction_GICombiner146,
GICXXCustomAction_GICombiner147,
GICXXCustomAction_GICombiner148,
GICXXCustomAction_GICombiner149,
GICXXCustomAction_GICombiner150,
};
bool AMDGPUPostLegalizerCombinerImpl::runCustomAction(unsigned ApplyID, const MatcherState &State, NewMIVector &OutMIs) const {
Helper.getBuilder().setInstrAndDebugLoc(*State.MIs[0]);
switch(ApplyID) {
case GICXXCustomAction_GICombiner0:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchFoldAPlusC1MinusC2(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner1:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchFoldC2MinusAPlusC1(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner2:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchFoldAMinusC1MinusC2(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner3:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchFoldC1Minus2MinusC2(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner4:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchFoldAMinusC1PlusC2(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner5:{
if(![&](){return Helper.matchCombineCopy(*State.MIs[0]);}()) {
return false;
}
Helper.applyCombineCopy(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner6:{
unsigned GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineMulToShl(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyCombineMulToShl(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner7:{
std::pair<Register, bool> GIMatchData_info;
if(![&](){return Helper.matchCombineAddP2IToPtrAdd(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyCombineAddP2IToPtrAdd(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner8:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchExtractVectorElement(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner9:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchInsertVectorElementOOB(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner10:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchExtractVectorElementWithDifferentIndices(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner11:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchExtractVectorElementWithBuildVector(*State.MIs[0], *State.MIs[1],
GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner12:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchExtractVectorElementWithBuildVectorTrunc(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner13:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchExtractVectorElementWithShuffleVector(*State.MIs[0], *State.MIs[1],
GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner14:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchAddOfVScale(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner15:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchMulOfVScale(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner16:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchShlOfVScale(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner17:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchSubOfVScale(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner18:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return !isGuaranteedNotToBePoison(State.MIs[0]->getOperand(1).getReg(), MRI) && Helper.matchFreezeOfSingleMaybePoisonOperand(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner19:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchTruncateOfExt(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner20:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchCastOfSelect(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner21:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchExtOfExt(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner22:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchCastOfBuildVector(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner23:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchNarrowBinop(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner24:{
APInt GIMatchData_matchinfo;
if(![&](){return Helper.matchCastOfInteger(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceInstWithConstant(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner25:{
SmallVector<Register, 4> GIMatchData_info;
if(![&](){return Helper.matchCombineInsertVecElts(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyCombineInsertVecElts(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner26:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchExtractVecEltBuildVec(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyExtractVecEltBuildVec(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner27:{
SmallVector<std::pair<Register, MachineInstr*>> GIMatchData_matchinfo;
if(![&](){return Helper.matchExtractAllEltsFromBuildVector(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyExtractAllEltsFromBuildVector(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner28:{
PreferredTuple GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineExtendingLoads(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyCombineExtendingLoads(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner29:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineLoadWithAndMask(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner30:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineExtractedVectorLoad(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner31:{
if(![&](){return Helper.matchAnyExplicitUseIsUndef(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithFConstant(*State.MIs[0], 0.0);
return true;
}
case GICXXCustomAction_GICombiner32:{
if(![&](){return Helper.matchAnyExplicitUseIsUndef(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithConstant(*State.MIs[0], 0);
return true;
}
case GICXXCustomAction_GICombiner33:{
if(![&](){return Helper.matchAnyExplicitUseIsUndef(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithConstant(*State.MIs[0], -1);
return true;
}
case GICXXCustomAction_GICombiner34:{
if(![&](){return Helper.matchOperandIsUndef(*State.MIs[0], 1);}()) {
return false;
}
Helper.replaceInstWithConstant(*State.MIs[0], 0);
return true;
}
case GICXXCustomAction_GICombiner35:{
if(![&](){return Helper.matchOperandIsUndef(*State.MIs[0], 2);}()) {
return false;
}
Helper.replaceInstWithUndef(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner36:{
if(![&](){return Helper.matchAnyExplicitUseIsUndef(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithUndef(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner37:{
if(![&](){return Helper.matchAllExplicitUsesAreUndef(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithUndef(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner38:{
if(![&](){return Helper.matchUndefShuffleVectorMask(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithUndef(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner39:{
if(![&](){return Helper.matchUndefStore(*State.MIs[0]);}()) {
return false;
}
Helper.eraseInst(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner40:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineUnmergeUndef(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner41:{
if(![&](){return Helper.matchInsertExtractVecEltOutOfBounds(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithUndef(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner42:{
if(![&](){return Helper.matchSelectSameVal(*State.MIs[0]);}()) {
return false;
}
Helper.replaceSingleDefInstWithOperand(*State.MIs[0], 2);
return true;
}
case GICXXCustomAction_GICombiner43:{
if(![&](){return Helper.matchOperandIsZero(*State.MIs[0], 1);}()) {
return false;
}
Helper.replaceSingleDefInstWithOperand(*State.MIs[0], 1);
return true;
}
case GICXXCustomAction_GICombiner44:{
Register GIMatchData_info;
if(![&](){return Helper.matchCombineI2PToP2I(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyCombineI2PToP2I(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner45:{
Register GIMatchData_info;
if(![&](){GIMatchData_info = State.MIs[1]->getOperand(1).getReg(); return true;}()) {
return false;
}
Helper.applyCombineP2IToI2P(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner46:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineAnyExtTrunc(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner47:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchBuildVectorIdentityFold(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner48:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchTruncBuildVectorFold(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner49:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchTruncLshrBuildVectorFold(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner50:{
if(![&](){return MRI.getType(State.MIs[1]->getOperand(1).getReg()) == MRI.getType(State.MIs[0]->getOperand(0).getReg());}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], State.MIs[1]->getOperand(1).getReg());
return true;
}
case GICXXCustomAction_GICombiner51:{
MachineInstr* GIMatchData_matchinfo;
if(![&](){return Helper.matchExtendThroughPhis(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyExtendThroughPhis(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner52:{
std::tuple<Register, Register> GIMatchData_info;
if(![&](){return Helper.matchSimplifyAddToSub(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applySimplifyAddToSub(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner53:{
InstructionStepsMatchInfo GIMatchData_info;
if(![&](){return Helper.matchHoistLogicOpWithSameOpcodeHands(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildInstructionSteps(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner54:{
if(![&](){return Helper.matchShiftsTooBig(*State.MIs[0]);}()) {
return false;
}
Helper.replaceInstWithUndef(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner55:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchReassocPtrAdd(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnNoErase(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner56:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchReassocCommBinOp(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner57:{
PtrAddChain GIMatchData_matchinfo;
if(![&](){return Helper.matchPtrAddImmedChain(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyPtrAddImmedChain(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner58:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchCanonicalizeICmp(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner59:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchCanonicalizeFCmp(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner60:{
int64_t GIMatchData_matchinfo;
if(![&](){return Helper.matchICmpToTrueFalseKnownBits(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceInstWithConstant(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner61:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchICmpToLHSKnownBits(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner62:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchRedundantBinOpInEquality(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner63:{
std::tuple<Register, int64_t> GIMatchData_info;
if(![&](){return Helper.matchAshrShlToSextInreg(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyAshShlToSextInreg(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner64:{
std::tuple<Register, unsigned> GIMatchData_matchinfo;
if(![&](){return Helper.matchSextInRegOfLoad(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applySextInRegOfLoad(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner65:{
RegisterImmPair GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineShlOfExtend(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyCombineShlOfExtend(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner66:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchNarrowBinopFeedingAnd(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnNoErase(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner67:{
unsigned GIMatchData_matchinfo;
if(![&](){return Helper.matchConstantSelectCmp(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithOperand(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner68:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchSelectIMinMax(State.MIs[0]->getOperand(0), GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner69:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchSelect(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner70:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchRedundantAnd(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner71:{
if(![&](){return Helper.matchRedundantSExtInReg(*State.MIs[0]);}()) {
return false;
}
Helper.replaceSingleDefInstWithOperand(*State.MIs[0], 1);
return true;
}
case GICXXCustomAction_GICombiner72:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchRedundantOr(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner73:{
if(![&](){return Helper.matchOperandIsKnownToBeAPowerOfTwo(*State.MIs[0], 2);}()) {
return false;
}
Helper.applySimplifyURemByPow2(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner74:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineZextTrunc(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner75:{
if(![&](){unsigned BitWidth = MRI.getType(State.MIs[0]->getOperand(1).getReg()).getScalarSizeInBits();
return Helper.getKnownBits()->maskedValueIsZero(State.MIs[0]->getOperand(1).getReg(),
APInt::getOneBitSet(BitWidth, State.MIs[0]->getOperand(2).getImm() - 1));}()) {
return false;
}
Helper.getBuilder().setInstrAndDebugLoc(*State.MIs[0]);
Helper.getBuilder().buildZExtInReg(State.MIs[0]->getOperand(0), State.MIs[0]->getOperand(1), State.MIs[0]->getOperand(2).getImm());
State.MIs[0]->eraseFromParent();
return true;
}
case GICXXCustomAction_GICombiner76:{
SmallVector<Register, 4> GIMatchData_info;
if(![&](){return Helper.matchNotCmp(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyNotCmp(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner77:{
MachineInstr * GIMatchData_matchinfo;
if(![&](){return Helper.matchOptBrCondByInvertingCond(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyOptBrCondByInvertingCond(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner78:{
SmallVector<Register, 8> GIMatchData_info;
if(![&](){return Helper.matchCombineUnmergeMergeToPlainValues(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyCombineUnmergeMergeToPlainValues(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner79:{
SmallVector<APInt, 8> GIMatchData_info;
if(![&](){return Helper.matchCombineUnmergeConstant(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyCombineUnmergeConstant(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner80:{
if(![&](){return Helper.matchCombineUnmergeWithDeadLanesToTrunc(*State.MIs[0]);}()) {
return false;
}
Helper.applyCombineUnmergeWithDeadLanesToTrunc(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner81:{
if(![&](){return Helper.matchCombineUnmergeZExtToZExt(*State.MIs[0]);}()) {
return false;
}
Helper.applyCombineUnmergeZExtToZExt(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner82:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineMergeUnmerge(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner83:{
std::pair<MachineInstr*, LLT> GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineTruncOfShift(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyCombineTruncOfShift(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner84:{
Helper.applyCombineConstantFoldFpUnary(*State.MIs[0], State.MIs[1]->getOperand(1).getFPImm());
return true;
}
case GICXXCustomAction_GICombiner85:{
Helper.replaceInstWithFConstant(*State.MIs[0]->getOperand(0).getParent(), 0.0);
return true;
}
case GICXXCustomAction_GICombiner86:{
APInt GIMatchData_info;
if(![&](){return Helper.matchCombineConstPtrAddToI2P(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyCombineConstPtrAddToI2P(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner87:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchOverlappingAnd(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner88:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchMulOBy2(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnNoErase(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner89:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchMulOBy0(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner90:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchAddEToAddO(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnNoErase(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner91:{
unsigned GIMatchData_info;
if(![&](){return Helper.matchCombineFMinMaxNaN(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.replaceSingleDefInstWithOperand(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner92:{
if(![&](){return Helper.matchFPowIExpansion(*State.MIs[0], State.MIs[1]->getOperand(1).getCImm()->getSExtValue());}()) {
return false;
}
Helper.applyExpandFPowI(*State.MIs[0], State.MIs[1]->getOperand(1).getCImm()->getSExtValue());
return true;
}
case GICXXCustomAction_GICombiner93:{
std::pair<Register, Register> GIMatchData_matchinfo;
if(![&](){return Helper.matchXorOfAndWithSameReg(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyXorOfAndWithSameReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner94:{
if(![&](){return Helper.matchPtrAddZero(*State.MIs[0]);}()) {
return false;
}
Helper.applyPtrAddZero(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner95:{
RegisterImmPair GIMatchData_matchinfo;
if(![&](){return Helper.matchShiftImmedChain(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyShiftImmedChain(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner96:{
ShiftOfShiftedLogic GIMatchData_matchinfo;
if(![&](){return Helper.matchShiftOfShiftedLogic(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyShiftOfShiftedLogic(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner97:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchLoadOrCombine(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner98:{
MachineInstr * GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineDivRem(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyCombineDivRem(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner99:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchOrShiftToFunnelShift(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner100:{
if(![&](){return Helper.matchFunnelShiftToRotate(*State.MIs[0]);}()) {
return false;
}
Helper.applyFunnelShiftToRotate(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner101:{
if(![&](){return Helper.matchConstantLargerBitWidth(*State.MIs[0], 3);}()) {
return false;
}
Helper.applyFunnelShiftConstantModulo(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner102:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchCommuteShift(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner103:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchBitfieldExtractFromSExtInReg(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner104:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchBitfieldExtractFromAnd(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner105:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchBitfieldExtractFromShr(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner106:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchBitfieldExtractFromShrAnd(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner107:{
APInt GIMatchData_matchinfo;
if(![&](){return Helper.matchConstantFoldBinOp(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceInstWithConstant(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner108:{
ConstantFP* GIMatchData_matchinfo;
if(![&](){return Helper.matchConstantFoldFPBinOp(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceInstWithFConstant(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner109:{
ConstantFP* GIMatchData_matchinfo;
if(![&](){return Helper.matchConstantFoldFMA(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceInstWithFConstant(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner110:{
APInt GIMatchData_matchinfo;
if(![&](){return Helper.matchConstantFoldCastOp(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceInstWithConstant(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner111:{
if(![&](){return Helper.matchUDivByConst(*State.MIs[0]);}()) {
return false;
}
Helper.applyUDivByConst(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner112:{
if(![&](){return Helper.matchSDivByConst(*State.MIs[0]);}()) {
return false;
}
Helper.applySDivByConst(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner113:{
if(![&](){return Helper.matchDivByPow2(*State.MIs[0], true);}()) {
return false;
}
Helper.applySDivByPow2(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner114:{
if(![&](){return Helper.matchDivByPow2(*State.MIs[0], false);}()) {
return false;
}
Helper.applyUDivByPow2(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner115:{
if(![&](){return Helper.matchUMulHToLShr(*State.MIs[0]);}()) {
return false;
}
Helper.applyUMulHToLShr(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner116:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchRedundantNegOperands(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnNoErase(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner117:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchAndOrDisjointMask(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFnNoErase(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner118:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFAddFMulToFMadOrFMA(*State.MIs[0],
GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner119:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFAddFpExtFMulToFMadOrFMA(*State.MIs[0],
GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner120:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFAddFMAFMulToFMadOrFMA(*State.MIs[0],
GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner121:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFAddFpExtFMulToFMadOrFMAAggressive(
*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner122:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFSubFMulToFMadOrFMA(*State.MIs[0],
GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner123:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFSubFNegFMulToFMadOrFMA(*State.MIs[0],
GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner124:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFSubFpExtFMulToFMadOrFMA(*State.MIs[0],
GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner125:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchCombineFSubFpExtFNegFMulToFMadOrFMA(
*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner126:{
unsigned GIMatchData_select_op_no;
if(![&](){return Helper.matchFoldBinOpIntoSelect(*State.MIs[0], GIMatchData_select_op_no);}()) {
return false;
}
Helper.applyFoldBinOpIntoSelect(*State.MIs[0], GIMatchData_select_op_no);
return true;
}
case GICXXCustomAction_GICombiner127:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchSubAddSameReg(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner128:{
std::function<void(MachineIRBuilder &)> GIMatchData_info;
if(![&](){return Helper.matchSimplifySelectToMinMax(*State.MIs[0], GIMatchData_info);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
return true;
}
case GICXXCustomAction_GICombiner129:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchFsubToFneg(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyFsubToFneg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner130:{
if(![&](){return Helper.matchCommuteConstantToRHS(*State.MIs[0]);}()) {
return false;
}
Helper.applyCommuteBinOpOperands(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner131:{
if(![&](){return Helper.matchCommuteFPConstantToRHS(*State.MIs[0]);}()) {
return false;
}
Helper.applyCommuteBinOpOperands(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner132:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchAnd(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner133:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchOr(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner134:{
SmallVector<Register> GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineConcatVectors(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyCombineConcatVectors(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner135:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchAddOverflow(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner136:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchSextOfTrunc(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner137:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchZextOfTrunc(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner138:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return Helper.matchNonNegZext(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner139:{
SmallVector<Register> GIMatchData_matchinfo;
if(![&](){return Helper.matchCombineShuffleConcat(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyCombineShuffleConcat(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner140:{
Register GIMatchData_matchinfo;
if(![&](){return Helper.matchUseVectorTruncate(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyUseVectorTruncate(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner141:{
FMinFMaxLegacyInfo GIMatchData_matchinfo;
if(![&](){return matchFMinFMaxLegacy(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
return false;
}
applySelectFCmpToFMinFMaxLegacy(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner142:{
if(![&](){return Helper.matchExpandPromotedF16FMed3(*State.MIs[0], State.MIs[1]->getOperand(1).getReg(), State.MIs[1]->getOperand(2).getReg(), State.MIs[1]->getOperand(3).getReg());}()) {
return false;
}
Helper.applyExpandPromotedF16FMed3(*State.MIs[0], State.MIs[1]->getOperand(1).getReg(), State.MIs[1]->getOperand(2).getReg(), State.MIs[1]->getOperand(3).getReg());
return true;
}
case GICXXCustomAction_GICombiner143:{
if(![&](){return matchUCharToFloat(*State.MIs[0]);}()) {
return false;
}
applyUCharToFloat(*State.MIs[0]);
return true;
}
case GICXXCustomAction_GICombiner144:{
CvtF32UByteMatchInfo GIMatchData_matchinfo;
if(![&](){return matchCvtF32UByteN(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
applyCvtF32UByteN(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner145:{
Register GIMatchData_matchinfo;
if(![&](){return matchRemoveFcanonicalize(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner146:{
MachineInstr * GIMatchData_matchinfo;
if(![&](){return Helper.matchFoldableFneg(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyFoldableFneg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner147:{
std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
if(![&](){return matchRcpSqrtToRsq(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner148:{
if(![&](){return matchFDivSqrtToRsqF16(*State.MIs[0]);}()) {
return false;
}
applyFDivSqrtToRsqF16(*State.MIs[0], State.MIs[1]->getOperand(1).getReg());
return true;
}
case GICXXCustomAction_GICombiner149:{
std::pair<MachineInstr *, unsigned> GIMatchData_matchinfo;
if(![&](){return matchCombineSignExtendInReg(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
applyCombineSignExtendInReg(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
case GICXXCustomAction_GICombiner150:{
unsigned GIMatchData_matchinfo;
if(![&](){return matchCombine_s_mul_u64(*State.MIs[0], GIMatchData_matchinfo);}()) {
return false;
}
Helper.replaceOpcodeWith(*State.MIs[0], GIMatchData_matchinfo);
return true;
}
}
llvm_unreachable("Unknown Apply Action");
}
#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 *AMDGPUPostLegalizerCombinerImpl::getMatchTable() const {
constexpr static uint8_t MatchTable0[] = {
GIM_SwitchOpcode, 0, GIMT_Encode2(20), GIMT_Encode2(3632), GIMT_Encode4(20352),
GIMT_Encode4(14458), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(14470),
GIMT_Encode4(15027),
GIMT_Encode4(15270),
GIMT_Encode4(15447),
GIMT_Encode4(15520),
GIMT_Encode4(15604),
GIMT_Encode4(15649), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(15716),
GIMT_Encode4(15997),
GIMT_Encode4(16242), GIMT_Encode4(0),
GIMT_Encode4(16343), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(16355), GIMT_Encode4(0),
GIMT_Encode4(16411),
GIMT_Encode4(16423),
GIMT_Encode4(16460),
GIMT_Encode4(16472),
GIMT_Encode4(16484),
GIMT_Encode4(16506),
GIMT_Encode4(16518),
GIMT_Encode4(16551), 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(16615),
GIMT_Encode4(16627),
GIMT_Encode4(16639), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(16651), 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(16663), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(16675),
GIMT_Encode4(16782), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(17130),
GIMT_Encode4(17211),
GIMT_Encode4(17267),
GIMT_Encode4(17397),
GIMT_Encode4(17555),
GIMT_Encode4(17667),
GIMT_Encode4(17790),
GIMT_Encode4(17833),
GIMT_Encode4(17876),
GIMT_Encode4(17900),
GIMT_Encode4(17924),
GIMT_Encode4(17969), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(17981),
GIMT_Encode4(18103),
GIMT_Encode4(18126), GIMT_Encode4(0),
GIMT_Encode4(18138),
GIMT_Encode4(18150),
GIMT_Encode4(18173), GIMT_Encode4(0),
GIMT_Encode4(18185),
GIMT_Encode4(18197),
GIMT_Encode4(18231),
GIMT_Encode4(18265),
GIMT_Encode4(18288),
GIMT_Encode4(18300),
GIMT_Encode4(18312), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(18324),
GIMT_Encode4(18347),
GIMT_Encode4(18370),
GIMT_Encode4(18382),
GIMT_Encode4(18394),
GIMT_Encode4(18406), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(18418),
GIMT_Encode4(18530),
GIMT_Encode4(18619),
GIMT_Encode4(18707),
GIMT_Encode4(18730),
GIMT_Encode4(18753),
GIMT_Encode4(18826), GIMT_Encode4(0),
GIMT_Encode4(18838), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(18860), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(18882), GIMT_Encode4(0),
GIMT_Encode4(18944),
GIMT_Encode4(19011),
GIMT_Encode4(19023),
GIMT_Encode4(19035),
GIMT_Encode4(19073), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(19111), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(19190),
GIMT_Encode4(19231),
GIMT_Encode4(19265),
GIMT_Encode4(19299),
GIMT_Encode4(19311),
GIMT_Encode4(19323),
GIMT_Encode4(19357), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(19391), GIMT_Encode4(0),
GIMT_Encode4(19481),
GIMT_Encode4(19515),
GIMT_Encode4(19549),
GIMT_Encode4(19583),
GIMT_Encode4(19617), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(19629), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(19641),
GIMT_Encode4(19771),
GIMT_Encode4(20148), 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(20182), 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(20271), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(20304),
GIMT_Encode4(20316),
GIMT_Encode4(20328),
GIMT_Encode4(20340),
GIM_Try, GIMT_Encode4(14469),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner5),
GIM_Reject,
GIM_Try, GIMT_Encode4(14481),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule15Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner7),
GIM_Try, GIMT_Encode4(14492),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule75Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner36),
GIM_Try, GIMT_Encode4(14503),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule101Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner52),
GIM_Try, GIMT_Encode4(14514),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(14525),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(14536),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Try, GIMT_Encode4(14570),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule0Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckConstantInt8, 1, 1, 0,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_Copy, 0, 1, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14607),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule12Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_RecordInsnIgnoreCopies, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 3,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner4),
GIM_Try, GIMT_Encode4(14641),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule3Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckIsSameOperandIgnoreCopies, 0, 2, 1, 2,
GIM_CheckCanReplaceReg, 0, 0, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14675),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule92Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckIsSameOperandIgnoreCopies, 0, 2, 1, 2,
GIM_CheckCanReplaceReg, 0, 0, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14720),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule5Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckIsSameOperandIgnoreCopies, 2, 1, 1, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SUB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14765),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule4Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckIsSameOperandIgnoreCopies, 2, 2, 1, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SUB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 1, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14800),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule36Enabled),
GIM_MIFlags, 0, GIMT_Encode4(MachineInstr::NoSWrap),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_VSCALE),
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_VSCALE),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner14),
GIM_Try, GIMT_Encode4(14834),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule1Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckConstantInt8, 1, 1, 0,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SUB),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_Copy, 0, 1, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14868),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule2Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckIsSameOperandIgnoreCopies, 1, 2, 0, 1,
GIM_CheckCanReplaceReg, 0, 0, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14902),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule92Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckIsSameOperandIgnoreCopies, 1, 2, 0, 1,
GIM_CheckCanReplaceReg, 0, 0, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14947),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule6Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckIsSameOperandIgnoreCopies, 2, 1, 0, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SUB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14992),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule7Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckIsSameOperandIgnoreCopies, 2, 2, 0, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SUB),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 2, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15015),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15026),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule105Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner56),
GIM_Reject,
GIM_Try, GIMT_Encode4(15038),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule75Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner36),
GIM_Try, GIMT_Encode4(15049),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(15060),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(15071),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule189Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner127),
GIM_Try, GIMT_Encode4(15108),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule8Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_RecordInsnIgnoreCopies, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 3,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner0),
GIM_Try, GIMT_Encode4(15145),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule11Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_RecordInsnIgnoreCopies, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 3,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner3),
GIM_Try, GIMT_Encode4(15182),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_RecordInsnIgnoreCopies, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 3,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner2),
GIM_Try, GIMT_Encode4(15219),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule9Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_RecordInsnIgnoreCopies, 3, 2, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 3,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner1),
GIM_Try, GIMT_Encode4(15246),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule39Enabled),
GIM_MIFlags, 0, GIMT_Encode4(MachineInstr::NoSWrap),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_VSCALE),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner17),
GIM_Try, GIMT_Encode4(15269),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(15281),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule70Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner32),
GIM_Try, GIMT_Encode4(15292),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(15303),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Try, GIMT_Encode4(15314),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule212Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner150),
GIM_Try, GIMT_Encode4(15354),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule16Enabled),
GIM_RecordRegType, 0, 0, uint8_t(-1),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_MakeTempReg, 0, uint8_t(-1),
GIR_BuildConstant, 0, GIMT_Encode8(0),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SUB),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootToRootCopy, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15389),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule37Enabled),
GIM_MIFlags, 0, GIMT_Encode4(MachineInstr::NoSWrap),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_VSCALE),
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner15),
GIM_Try, GIMT_Encode4(15412),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule85Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 2,
GIR_ReplaceReg, 0, 0, 0, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15435),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule90Enabled),
GIM_CheckConstantInt8, 0, 2, 1,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15446),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule14Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner6),
GIM_Reject,
GIM_Try, GIMT_Encode4(15458),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule84Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner43),
GIM_Try, GIMT_Encode4(15469),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule155Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner98),
GIM_Try, GIMT_Encode4(15480),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(15491),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule174Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner112),
GIM_Try, GIMT_Encode4(15502),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(15519),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule175Enabled),
GIM_MIFlagsNot, 0, GIMT_Encode4(MachineInstr::IsExact),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner113),
GIM_Reject,
GIM_Try, GIMT_Encode4(15531),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule72Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner34),
GIM_Try, GIMT_Encode4(15542),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule84Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner43),
GIM_Try, GIMT_Encode4(15553),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule155Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner98),
GIM_Try, GIMT_Encode4(15564),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(15575),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule173Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner111),
GIM_Try, GIMT_Encode4(15586),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(15603),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule176Enabled),
GIM_MIFlagsNot, 0, GIMT_Encode4(MachineInstr::IsExact),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner114),
GIM_Reject,
GIM_Try, GIMT_Encode4(15615),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule84Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner43),
GIM_Try, GIMT_Encode4(15626),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule155Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner98),
GIM_Try, GIMT_Encode4(15637),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(15648),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Reject,
GIM_Try, GIMT_Encode4(15660),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule72Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner34),
GIM_Try, GIMT_Encode4(15671),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule84Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner43),
GIM_Try, GIMT_Encode4(15682),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule125Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner73),
GIM_Try, GIMT_Encode4(15693),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule155Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner98),
GIM_Try, GIMT_Encode4(15704),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(15715),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Reject,
GIM_Try, GIMT_Encode4(15727),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule67Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner29),
GIM_Try, GIMT_Encode4(15738),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule70Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner32),
GIM_Try, GIMT_Encode4(15749),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule102Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner53),
GIM_Try, GIMT_Encode4(15760),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule117Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner66),
GIM_Try, GIMT_Encode4(15771),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule122Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner70),
GIM_Try, GIMT_Encode4(15782),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule144Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner87),
GIM_Try, GIMT_Encode4(15793),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(15804),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule179Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner117),
GIM_Try, GIMT_Encode4(15815),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(15826),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Try, GIMT_Encode4(15837),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule194Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner132),
GIM_Try, GIMT_Encode4(15935),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule111Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_RecordRegType, 1, 2, uint8_t(-1),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckIsSameOperandIgnoreCopies, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 3, 0,
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner5),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 1, uint8_t(-1),
GIR_BuildConstant, 1, GIMT_Encode8(0),
GIR_MakeTempReg, 0, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_OR),
GIR_AddTempRegister, 0, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 2, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIR_Copy, 1, 0, 0,
GIR_Copy, 1, 1, 1,
GIR_AddSimpleTempRegister, 1, 0,
GIR_AddSimpleTempRegister, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(15972),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule165Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_RecordInsnIgnoreCopies, 3, 0, 2,
GIM_CheckOpcode, 3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 3,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner104),
GIM_Try, GIMT_Encode4(15996),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule83Enabled),
GIM_CheckIsSameOperandIgnoreCopies, 0, 2, 0, 1,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(16008),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule71Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner33),
GIM_Try, GIMT_Encode4(16019),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule102Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner53),
GIM_Try, GIMT_Encode4(16030),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule124Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner72),
GIM_Try, GIMT_Encode4(16041),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule154Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner97),
GIM_Try, GIMT_Encode4(16052),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule156Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner99),
GIM_Try, GIMT_Encode4(16063),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(16074),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(16085),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Try, GIMT_Encode4(16096),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule195Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner133),
GIM_Try, GIMT_Encode4(16194),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule112Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_RecordRegType, 1, 2, uint8_t(-1),
GIM_CheckConstantInt8, 1, 3, 0,
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckIsSameOperandIgnoreCopies, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 3, 0,
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner6),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 1, uint8_t(-1),
GIR_BuildConstant, 1, GIMT_Encode8(0),
GIR_MakeTempReg, 0, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_OR),
GIR_AddTempRegister, 0, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 0, 1, 2,
GIR_Copy, 0, 2, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIR_Copy, 1, 0, 0,
GIR_Copy, 1, 1, 1,
GIR_AddSimpleTempRegister, 1, 0,
GIR_AddSimpleTempRegister, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16218),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule83Enabled),
GIM_CheckIsSameOperandIgnoreCopies, 0, 2, 0, 1,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16241),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(16253),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule75Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner36),
GIM_Try, GIMT_Encode4(16264),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule102Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner53),
GIM_Try, GIMT_Encode4(16275),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule128Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner76),
GIM_Try, GIMT_Encode4(16286),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule150Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner93),
GIM_Try, GIMT_Encode4(16297),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(16308),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(16319),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Try, GIMT_Encode4(16342),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(16354),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule100Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner51),
GIM_Reject,
GIM_Try, GIMT_Encode4(16366),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule79Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner40),
GIM_Try, GIMT_Encode4(16377),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule130Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner78),
GIM_Try, GIMT_Encode4(16388),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule131Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner79),
GIM_Try, GIMT_Encode4(16399),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule132Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner80),
GIM_Try, GIMT_Encode4(16410),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule133Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner81),
GIM_Reject,
GIM_Try, GIMT_Encode4(16422),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule134Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner82),
GIM_Reject,
GIM_Try, GIMT_Encode4(16434),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule65Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner27),
GIM_Try, GIMT_Encode4(16445),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule93Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner47),
GIM_Try, GIMT_Encode4(16459),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule202Enabled),
GIM_CheckNumOperandsGE, 0, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner140),
GIM_Reject,
GIM_Try, GIMT_Encode4(16471),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule93Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner47),
GIM_Reject,
GIM_Try, GIMT_Encode4(16483),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule196Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner134),
GIM_Reject,
GIM_Try, GIMT_Encode4(16505),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule87Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_INTTOPTR),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner45),
GIM_Reject,
GIM_Try, GIMT_Encode4(16517),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule86Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner44),
GIM_Reject,
GIM_Try, GIMT_Encode4(16529),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule75Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner36),
GIM_Try, GIMT_Encode4(16550),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule96Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BITCAST),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner50),
GIM_Reject,
GIM_Try, GIMT_Encode4(16580),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule17Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FREEZE),
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16603),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule40Enabled),
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner1),
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16614),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule41Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner18),
GIM_Reject,
GIM_Try, GIMT_Encode4(16626),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule66Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner28),
GIM_Reject,
GIM_Try, GIMT_Encode4(16638),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule66Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner28),
GIM_Reject,
GIM_Try, GIMT_Encode4(16650),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule66Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner28),
GIM_Reject,
GIM_Try, GIMT_Encode4(16662),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule78Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner39),
GIM_Reject,
GIM_Try, GIMT_Encode4(16674),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule209Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner147),
GIM_Reject,
GIM_Try, GIMT_Encode4(16686),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule88Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner46),
GIM_Try, GIMT_Encode4(16697),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule171Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner110),
GIM_Try, GIMT_Encode4(16718),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule46Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SELECT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner20),
GIM_Try, GIMT_Encode4(16739),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule52Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner21),
GIM_Try, GIMT_Encode4(16760),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule54Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner21),
GIM_Try, GIMT_Encode4(16781),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule53Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner21),
GIM_Reject,
GIM_Try, GIMT_Encode4(16793),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule75Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner36),
GIM_Try, GIMT_Encode4(16804),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule94Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner48),
GIM_Try, GIMT_Encode4(16815),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule95Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner49),
GIM_Try, GIMT_Encode4(16826),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule135Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner83),
GIM_Try, GIMT_Encode4(16847),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule47Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SELECT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner20),
GIM_Try, GIMT_Encode4(16876),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule56Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner23),
GIM_Try, GIMT_Encode4(16905),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule59Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_AND),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner23),
GIM_Try, GIMT_Encode4(16934),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule58Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner23),
GIM_Try, GIMT_Encode4(16963),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule60Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_OR),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner23),
GIM_Try, GIMT_Encode4(16992),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule57Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner23),
GIM_Try, GIMT_Encode4(17021),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule61Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_RecordInsnIgnoreCopies, 2, 1, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner23),
GIM_Try, GIMT_Encode4(17042),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule44Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner19),
GIM_Try, GIMT_Encode4(17066),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule55Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
GIM_CheckNumOperandsGE, 1, 2,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner22),
GIM_Try, GIMT_Encode4(17087),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule43Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner19),
GIM_Try, GIMT_Encode4(17108),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule42Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner19),
GIM_Try, GIMT_Encode4(17129),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule62Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner24),
GIM_Reject,
GIM_Try, GIMT_Encode4(17141),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule171Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner110),
GIM_Try, GIMT_Encode4(17162),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule51Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner21),
GIM_Try, GIMT_Encode4(17183),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule50Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner21),
GIM_Try, GIMT_Encode4(17210),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule198Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_TRUNC),
GIM_MIFlags, 1, GIMT_Encode4(MachineInstr::NoSWrap),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner136),
GIM_Reject,
GIM_Try, GIMT_Encode4(17222),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule115Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner64),
GIM_Try, GIMT_Encode4(17233),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule123Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner71),
GIM_Try, GIMT_Encode4(17244),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule164Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner103),
GIM_Try, GIMT_Encode4(17255),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule211Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner149),
GIM_Try, GIMT_Encode4(17266),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule127Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner75),
GIM_Reject,
GIM_Try, GIMT_Encode4(17278),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule126Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner74),
GIM_Try, GIMT_Encode4(17289),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule171Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner110),
GIM_Try, GIMT_Encode4(17310),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule45Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SELECT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner20),
GIM_Try, GIMT_Encode4(17331),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule49Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner21),
GIM_Try, GIMT_Encode4(17358),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule199Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_TRUNC),
GIM_MIFlags, 1, GIMT_Encode4(MachineInstr::NoUWrap),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner137),
GIM_Try, GIMT_Encode4(17379),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule48Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ZEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner21),
GIM_Try, GIMT_Encode4(17396),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule200Enabled),
GIM_MIFlags, 0, GIMT_Encode4(MachineInstr::NonNeg),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner138),
GIM_Reject,
GIM_Try, GIMT_Encode4(17408),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule72Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner34),
GIM_Try, GIMT_Encode4(17419),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule73Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner35),
GIM_Try, GIMT_Encode4(17430),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule103Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner54),
GIM_Try, GIMT_Encode4(17441),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule152Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner95),
GIM_Try, GIMT_Encode4(17452),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule153Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner96),
GIM_Try, GIMT_Encode4(17463),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule163Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner102),
GIM_Try, GIMT_Encode4(17474),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(17485),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(17520),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule38Enabled),
GIM_MIFlags, 0, GIMT_Encode4(MachineInstr::NoSWrap),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_VSCALE),
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner16),
GIM_Try, GIMT_Encode4(17543),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17554),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule116Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner65),
GIM_Reject,
GIM_Try, GIMT_Encode4(17566),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule73Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner35),
GIM_Try, GIMT_Encode4(17577),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule103Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner54),
GIM_Try, GIMT_Encode4(17588),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule152Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner95),
GIM_Try, GIMT_Encode4(17599),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule153Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner96),
GIM_Try, GIMT_Encode4(17610),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule166Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner105),
GIM_Try, GIMT_Encode4(17621),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule167Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner106),
GIM_Try, GIMT_Encode4(17632),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(17643),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(17666),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(17678),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule73Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner35),
GIM_Try, GIMT_Encode4(17689),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule103Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner54),
GIM_Try, GIMT_Encode4(17700),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule114Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner63),
GIM_Try, GIMT_Encode4(17711),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule152Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner95),
GIM_Try, GIMT_Encode4(17722),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule153Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner96),
GIM_Try, GIMT_Encode4(17733),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule166Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner105),
GIM_Try, GIMT_Encode4(17744),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule167Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner106),
GIM_Try, GIMT_Encode4(17755),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(17766),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(17789),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(17801),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule157Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner100),
GIM_Try, GIMT_Encode4(17812),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule160Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner101),
GIM_Try, GIMT_Encode4(17832),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule159Enabled),
GIM_CheckConstantInt8, 0, 3, 0,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(17844),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule157Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner100),
GIM_Try, GIMT_Encode4(17855),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule160Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner101),
GIM_Try, GIMT_Encode4(17875),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule158Enabled),
GIM_CheckConstantInt8, 0, 3, 0,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(17899),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(17923),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(17935),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule109Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner60),
GIM_Try, GIMT_Encode4(17946),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule110Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner61),
GIM_Try, GIMT_Encode4(17957),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule113Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner62),
GIM_Try, GIMT_Encode4(17968),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule107Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner58),
GIM_Reject,
GIM_Try, GIMT_Encode4(17980),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule108Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner59),
GIM_Reject,
GIM_Try, GIMT_Encode4(17992),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule81Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner42),
GIM_Try, GIMT_Encode4(18003),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule119Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner67),
GIM_Try, GIMT_Encode4(18014),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule121Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner69),
GIM_Try, GIMT_Encode4(18025),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule190Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner128),
GIM_Try, GIMT_Encode4(18052),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFminFmaxLegacy),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule203Enabled),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FCMP),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner141),
GIM_Try, GIMT_Encode4(18073),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule120Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ICMP),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner68),
GIM_Try, GIMT_Encode4(18102),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule118Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIM_CheckCanReplaceReg, 0, 0, 0, 3,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 0, 3,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18114),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Try, GIMT_Encode4(18125),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule197Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner135),
GIM_Reject,
GIM_Try, GIMT_Encode4(18137),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule147Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner90),
GIM_Reject,
GIM_Try, GIMT_Encode4(18149),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule147Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner90),
GIM_Reject,
GIM_Try, GIMT_Encode4(18161),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Try, GIMT_Encode4(18172),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule197Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner135),
GIM_Reject,
GIM_Try, GIMT_Encode4(18184),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule147Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner90),
GIM_Reject,
GIM_Try, GIMT_Encode4(18196),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule147Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner90),
GIM_Reject,
GIM_Try, GIMT_Encode4(18208),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule145Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner88),
GIM_Try, GIMT_Encode4(18219),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule146Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner89),
GIM_Try, GIMT_Encode4(18230),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18242),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule145Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner88),
GIM_Try, GIMT_Encode4(18253),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule146Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner89),
GIM_Try, GIMT_Encode4(18264),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18276),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule177Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner115),
GIM_Try, GIMT_Encode4(18287),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18299),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18311),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18323),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18335),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule152Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner95),
GIM_Try, GIMT_Encode4(18346),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule153Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner96),
GIM_Reject,
GIM_Try, GIMT_Encode4(18358),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule152Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner95),
GIM_Try, GIMT_Encode4(18369),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule153Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner96),
GIM_Reject,
GIM_Try, GIMT_Encode4(18381),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18393),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18405),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18417),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(18429),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule169Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner108),
GIM_Try, GIMT_Encode4(18440),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule178Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner116),
GIM_Try, GIMT_Encode4(18451),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule180Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner118),
GIM_Try, GIMT_Encode4(18462),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule181Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner119),
GIM_Try, GIMT_Encode4(18473),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule182Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner120),
GIM_Try, GIMT_Encode4(18484),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule183Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner121),
GIM_Try, GIMT_Encode4(18495),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(18506),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Try, GIMT_Encode4(18529),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule98Enabled),
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner3),
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18541),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule169Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner108),
GIM_Try, GIMT_Encode4(18552),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule178Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner116),
GIM_Try, GIMT_Encode4(18563),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule184Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner122),
GIM_Try, GIMT_Encode4(18574),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule185Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner123),
GIM_Try, GIMT_Encode4(18585),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule186Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner124),
GIM_Try, GIMT_Encode4(18596),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule187Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner125),
GIM_Try, GIMT_Encode4(18607),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(18618),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule191Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner129),
GIM_Reject,
GIM_Try, GIMT_Encode4(18630),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule169Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner108),
GIM_Try, GIMT_Encode4(18641),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule178Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner116),
GIM_Try, GIMT_Encode4(18652),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(18663),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Try, GIMT_Encode4(18686),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule91Enabled),
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner2),
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18706),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule99Enabled),
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner4),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_FNEG),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18718),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule170Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner109),
GIM_Try, GIMT_Encode4(18729),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule178Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner116),
GIM_Reject,
GIM_Try, GIMT_Encode4(18741),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule170Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner109),
GIM_Try, GIMT_Encode4(18752),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule178Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner116),
GIM_Reject,
GIM_Try, GIMT_Encode4(18764),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule169Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner108),
GIM_Try, GIMT_Encode4(18775),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule178Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner116),
GIM_Try, GIMT_Encode4(18786),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(18825),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule210Enabled),
GIM_RootCheckType, 0, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_MIFlags, 0, GIMT_Encode4(MachineInstr::FmContract),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FSQRT),
GIM_MIFlags, 1, GIMT_Encode4(MachineInstr::FmContract),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner148),
GIM_Reject,
GIM_Try, GIMT_Encode4(18837),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Reject,
GIM_Try, GIMT_Encode4(18859),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule149Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner92),
GIM_Reject,
GIM_Try, GIMT_Encode4(18881),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule139Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FCONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner84),
GIM_Reject,
GIM_Try, GIMT_Encode4(18893),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule208Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner146),
GIM_Try, GIMT_Encode4(18914),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule136Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FCONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner84),
GIM_Try, GIMT_Encode4(18943),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule89Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FNEG),
GIM_CheckCanReplaceReg, 0, 0, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(18968),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_Has16BitInsts_NotHasMed3_16),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule204Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(AMDGPU::G_AMDGPU_FMED3),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner142),
GIM_Try, GIMT_Encode4(18989),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule140Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FCONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner84),
GIM_Try, GIMT_Encode4(19010),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule97Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FPEXT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner50),
GIM_Reject,
GIM_Try, GIMT_Encode4(19022),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule75Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner36),
GIM_Reject,
GIM_Try, GIMT_Encode4(19034),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule75Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner36),
GIM_Reject,
GIM_Try, GIMT_Encode4(19046),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule69Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner31),
GIM_Try, GIMT_Encode4(19057),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule205Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner143),
GIM_Try, GIMT_Encode4(19072),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule141Enabled),
GIM_CheckConstantInt8, 0, 1, 0,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner85),
GIM_Reject,
GIM_Try, GIMT_Encode4(19084),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule69Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner31),
GIM_Try, GIMT_Encode4(19095),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule205Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner143),
GIM_Try, GIMT_Encode4(19110),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule142Enabled),
GIM_CheckConstantInt8, 0, 1, 0,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner85),
GIM_Reject,
GIM_Try, GIMT_Encode4(19140),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule17Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FABS),
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19161),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule137Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FCONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner84),
GIM_Try, GIMT_Encode4(19189),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule172Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FNEG),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_FABS),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19201),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule207Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner145),
GIM_Try, GIMT_Encode4(19230),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule17Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FCANONICALIZE),
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19242),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule148Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner91),
GIM_Try, GIMT_Encode4(19253),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19264),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Reject,
GIM_Try, GIMT_Encode4(19276),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule148Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner91),
GIM_Try, GIMT_Encode4(19287),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19298),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Reject,
GIM_Try, GIMT_Encode4(19310),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Reject,
GIM_Try, GIMT_Encode4(19322),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Reject,
GIM_Try, GIMT_Encode4(19334),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule148Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner91),
GIM_Try, GIMT_Encode4(19345),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19356),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Reject,
GIM_Try, GIMT_Encode4(19368),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule148Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner91),
GIM_Try, GIMT_Encode4(19379),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19390),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule193Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner131),
GIM_Reject,
GIM_Try, GIMT_Encode4(19402),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule104Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner55),
GIM_Try, GIMT_Encode4(19413),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule106Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner57),
GIM_Try, GIMT_Encode4(19424),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule143Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner86),
GIM_Try, GIMT_Encode4(19435),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule151Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner94),
GIM_Try, GIMT_Encode4(19446),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(19457),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19480),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule82Enabled),
GIM_CheckConstantInt8, 0, 2, 0,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19492),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(19503),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19514),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(19526),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(19537),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19548),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(19560),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(19571),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19582),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(19594),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule168Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner107),
GIM_Try, GIMT_Encode4(19605),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule188Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner126),
GIM_Try, GIMT_Encode4(19616),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule192Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner130),
GIM_Reject,
GIM_Try, GIMT_Encode4(19628),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule74Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner34),
GIM_Reject,
GIM_Try, GIMT_Encode4(19640),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule129Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner77),
GIM_Reject,
GIM_Try, GIMT_Encode4(19652),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule23Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner9),
GIM_Try, GIMT_Encode4(19663),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule63Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner25),
GIM_Try, GIMT_Encode4(19674),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule80Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner41),
GIM_Try, GIMT_Encode4(19713),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule35Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_EXTRACT_VECTOR_ELT),
GIM_CheckIsSameOperandIgnoreCopies, 1, 1, 0, 1,
GIM_CheckIsSameOperandIgnoreCopies, 0, 3, 1, 2,
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19746),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule21Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner0),
GIM_CheckCanReplaceReg, 0, 0, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 0, 1,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19770),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule20Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 3,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIR_RootToRootCopy, 0,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(19782),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule22Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner8),
GIM_Try, GIMT_Encode4(19793),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule64Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner26),
GIM_Try, GIMT_Encode4(19804),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule68Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner30),
GIM_Try, GIMT_Encode4(19815),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule80Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner41),
GIM_Try, GIMT_Encode4(19839),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule33Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckNumOperands, 1, 9,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner12),
GIM_Try, GIMT_Encode4(19863),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule32Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckNumOperands, 1, 8,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner12),
GIM_Try, GIMT_Encode4(19887),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule31Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckNumOperands, 1, 7,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner12),
GIM_Try, GIMT_Encode4(19911),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule30Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckNumOperands, 1, 6,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner12),
GIM_Try, GIMT_Encode4(19935),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule29Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckNumOperands, 1, 5,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner12),
GIM_Try, GIMT_Encode4(19959),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule28Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckNumOperands, 1, 4,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner12),
GIM_Try, GIMT_Encode4(19993),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule24Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_INSERT_VECTOR_ELT),
GIM_CheckIsSameOperandIgnoreCopies, 0, 2, 1, 3,
GIM_CheckCanReplaceReg, 0, 0, 1, 2,
GIM_CheckIsSafeToFold, 1,
GIR_ReplaceReg, 0, 0, 1, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20014),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule25Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_INSERT_VECTOR_ELT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner10),
GIM_Try, GIMT_Encode4(20043),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule34Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHUFFLE_VECTOR),
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner13),
GIM_Try, GIMT_Encode4(20067),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule27Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckNumOperands, 1, 3,
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner12),
GIM_Try, GIMT_Encode4(20099),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule26Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR),
GIM_CheckNumOperandsGE, 1, 2,
GIM_RecordInsnIgnoreCopies, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 2,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner11),
GIM_Try, GIMT_Encode4(20123),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule18Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIR_RootToRootCopy, 0,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20147),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule19Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
GIR_RootToRootCopy, 0,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20159),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule76Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner37),
GIM_Try, GIMT_Encode4(20170),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule77Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner38),
GIM_Try, GIMT_Encode4(20181),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule201Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner139),
GIM_Reject,
GIM_Try, GIMT_Encode4(20226),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule162Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_LSHR),
GIM_RecordInsnIgnoreCopies, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_BITREVERSE),
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner8),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_SHL),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 1, 2,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20270),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule161Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_RecordInsnIgnoreCopies, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_BITREVERSE),
GIM_CheckCxxInsnPredicate, 0, GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner7),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::G_LSHR),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_Copy, 0, 1, 2,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(20282),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule209Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner147),
GIM_Try, GIMT_Encode4(20303),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule138Enabled),
GIM_RecordInsnIgnoreCopies, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_FCONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner84),
GIM_Reject,
GIM_Try, GIMT_Encode4(20315),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule206Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner144),
GIM_Reject,
GIM_Try, GIMT_Encode4(20327),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule206Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner144),
GIM_Reject,
GIM_Try, GIMT_Encode4(20339),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule206Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner144),
GIM_Reject,
GIM_Try, GIMT_Encode4(20351),
GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule206Enabled),
GIR_DoneWithCustomAction, GIMT_Encode2(GICXXCustomAction_GICombiner144),
GIM_Reject,
GIM_Reject,
};
return MatchTable0;
}
#undef GIMT_Encode2
#undef GIMT_Encode4
#undef GIMT_Encode8
#endif
#ifdef GET_GICOMBINER_CONSTRUCTOR_INITS
AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
AvailableFunctionFeatures()
#endif
#ifdef GET_GICOMBINER_CONSTRUCTOR_INITS
, State(0),
ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
#endif