#ifdef GET_GLOBALISEL_PREDICATE_BITSET
const unsigned MAX_SUBTARGET_PREDICATES = …;
PredicateBitset;
#endif
#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
mutable MatcherState State;
typedef ComplexRendererFns(X86InstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
typedef void(X86InstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
static X86InstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
static X86InstructionSelector::CustomRendererFn CustomRenderers[];
bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override;
bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override;
bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override;
const uint8_t *getMatchTable() const override;
bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override;
bool testSimplePredicate(unsigned PredicateID) const override;
bool runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override;
#endif
#ifdef GET_GLOBALISEL_TEMPORARIES_INIT
, State(0),
ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
#endif
#ifdef GET_GLOBALISEL_IMPL
enum {
GILLT_s1,
GILLT_s8,
GILLT_s16,
GILLT_s32,
GILLT_s64,
GILLT_s80,
GILLT_s128,
GILLT_v2s1,
GILLT_v2s64,
GILLT_v4s1,
GILLT_v4s32,
GILLT_v4s64,
GILLT_v8s1,
GILLT_v8s16,
GILLT_v8s32,
GILLT_v8s64,
GILLT_v16s1,
GILLT_v16s8,
GILLT_v16s16,
GILLT_v16s32,
GILLT_v32s1,
GILLT_v32s8,
GILLT_v32s16,
GILLT_v64s1,
GILLT_v64s8,
};
const static size_t NumTypeObjects = 25;
const static LLT TypeObjects[] = {
LLT::scalar(1),
LLT::scalar(8),
LLT::scalar(16),
LLT::scalar(32),
LLT::scalar(64),
LLT::scalar(80),
LLT::scalar(128),
LLT::vector(ElementCount::getFixed(2), 1),
LLT::vector(ElementCount::getFixed(2), 64),
LLT::vector(ElementCount::getFixed(4), 1),
LLT::vector(ElementCount::getFixed(4), 32),
LLT::vector(ElementCount::getFixed(4), 64),
LLT::vector(ElementCount::getFixed(8), 1),
LLT::vector(ElementCount::getFixed(8), 16),
LLT::vector(ElementCount::getFixed(8), 32),
LLT::vector(ElementCount::getFixed(8), 64),
LLT::vector(ElementCount::getFixed(16), 1),
LLT::vector(ElementCount::getFixed(16), 8),
LLT::vector(ElementCount::getFixed(16), 16),
LLT::vector(ElementCount::getFixed(16), 32),
LLT::vector(ElementCount::getFixed(32), 1),
LLT::vector(ElementCount::getFixed(32), 8),
LLT::vector(ElementCount::getFixed(32), 16),
LLT::vector(ElementCount::getFixed(64), 1),
LLT::vector(ElementCount::getFixed(64), 8),
};
enum SubtargetFeatureBits : uint8_t {
Feature_TruePredicateBit = 60,
Feature_HasEGPRBit = 5,
Feature_NoEGPRBit = 4,
Feature_HasNDDBit = 6,
Feature_NoNDDBit = 26,
Feature_HasCFBit = 29,
Feature_HasCMOVBit = 28,
Feature_NoCMOVBit = 131,
Feature_HasMMXBit = 107,
Feature_HasSSE1Bit = 46,
Feature_UseSSE1Bit = 53,
Feature_HasSSE2Bit = 45,
Feature_UseSSE2Bit = 54,
Feature_HasSSE3Bit = 37,
Feature_UseSSE3Bit = 63,
Feature_HasSSSE3Bit = 108,
Feature_UseSSSE3Bit = 64,
Feature_UseSSE41Bit = 61,
Feature_UseSSE42Bit = 68,
Feature_HasSSE4ABit = 78,
Feature_NoAVXBit = 74,
Feature_HasAVXBit = 55,
Feature_HasAVX2Bit = 49,
Feature_HasAVX1OnlyBit = 47,
Feature_HasEVEX512Bit = 138,
Feature_HasAVX10_2Bit = 106,
Feature_HasAVX10_2_512Bit = 105,
Feature_NoAVX10_2Bit = 67,
Feature_HasAVX512Bit = 91,
Feature_UseAVXBit = 51,
Feature_NoAVX512Bit = 42,
Feature_HasCDIBit = 95,
Feature_HasVPOPCNTDQBit = 99,
Feature_HasDQIBit = 93,
Feature_NoDQIBit = 65,
Feature_HasBWIBit = 94,
Feature_NoBWIBit = 62,
Feature_HasVLXBit = 92,
Feature_NoVLXBit = 41,
Feature_NoVLX_Or_NoBWIBit = 59,
Feature_HasVNNIBit = 101,
Feature_HasVP2INTERSECTBit = 103,
Feature_HasBF16Bit = 104,
Feature_HasFP16Bit = 97,
Feature_HasAVXVNNIINT16Bit = 90,
Feature_HasAVXVNNIINT8Bit = 85,
Feature_HasAVXVNNIBit = 79,
Feature_NoVLX_Or_NoVNNIBit = 80,
Feature_HasBITALGBit = 102,
Feature_HasPOPCNTBit = 66,
Feature_HasAESBit = 71,
Feature_HasVAESBit = 73,
Feature_NoVLX_Or_NoVAESBit = 72,
Feature_HasFXSRBit = 38,
Feature_HasX87Bit = 36,
Feature_HasXSAVEBit = 120,
Feature_HasXSAVEOPTBit = 121,
Feature_HasXSAVECBit = 122,
Feature_HasXSAVESBit = 123,
Feature_HasPCLMULBit = 75,
Feature_NoVLX_Or_NoVPCLMULQDQBit = 76,
Feature_HasVPCLMULQDQBit = 77,
Feature_HasGFNIBit = 82,
Feature_HasFMABit = 39,
Feature_HasFMA4Bit = 43,
Feature_NoFMA4Bit = 40,
Feature_HasXOPBit = 44,
Feature_HasTBMBit = 25,
Feature_NoTBMBit = 136,
Feature_HasLWPBit = 12,
Feature_HasMOVBEBit = 3,
Feature_NoNDD_Or_NoMOVBEBit = 2,
Feature_HasRDRANDBit = 7,
Feature_HasF16CBit = 81,
Feature_HasFSGSBaseBit = 124,
Feature_HasLZCNTBit = 9,
Feature_HasBMIBit = 10,
Feature_HasBMI2Bit = 11,
Feature_NoBMI2Bit = 135,
Feature_HasVBMIBit = 96,
Feature_HasVBMI2Bit = 100,
Feature_HasIFMABit = 98,
Feature_HasAVXIFMABit = 83,
Feature_NoVLX_Or_NoIFMABit = 84,
Feature_HasRTMBit = 110,
Feature_HasSHABit = 70,
Feature_HasSHA512Bit = 87,
Feature_HasSM3Bit = 88,
Feature_HasRDSEEDBit = 8,
Feature_HasSSEPrefetchBit = 56,
Feature_HasPREFETCHIBit = 20,
Feature_HasPrefetchWBit = 109,
Feature_HasMWAITXBit = 134,
Feature_HasCLDEMOTEBit = 24,
Feature_HasMOVDIRIBit = 14,
Feature_HasMOVDIR64BBit = 15,
Feature_HasPTWRITEBit = 127,
Feature_FPStackf32Bit = 34,
Feature_FPStackf64Bit = 35,
Feature_HasSM4Bit = 89,
Feature_HasCLFLUSHBit = 57,
Feature_HasCLFLUSHOPTBit = 22,
Feature_HasCLWBBit = 23,
Feature_HasWBNOINVDBit = 119,
Feature_HasRDPIDBit = 126,
Feature_HasWAITPKGBit = 13,
Feature_HasINVPCIDBit = 125,
Feature_HasCX8Bit = 132,
Feature_HasCX16Bit = 133,
Feature_HasENQCMDBit = 16,
Feature_HasAMXFP16Bit = 115,
Feature_HasCMPCCXADDBit = 21,
Feature_HasAVXNECONVERTBit = 86,
Feature_HasKLBit = 111,
Feature_HasRAOINTBit = 117,
Feature_HasSERIALIZEBit = 17,
Feature_HasTSXLDTRKBit = 18,
Feature_HasAMXTILEBit = 112,
Feature_HasAMXBF16Bit = 114,
Feature_HasAMXINT8Bit = 113,
Feature_HasAMXCOMPLEXBit = 116,
Feature_HasUINTRBit = 19,
Feature_HasUSERMSRBit = 118,
Feature_HasCRC32Bit = 69,
Feature_Not64BitModeBit = 0,
Feature_In64BitModeBit = 1,
Feature_IsLP64Bit = 129,
Feature_NotLP64Bit = 128,
Feature_NotWin64WithoutFPBit = 130,
Feature_IsPSBit = 140,
Feature_NotPSBit = 139,
Feature_KernelCodeBit = 141,
Feature_NearDataBit = 143,
Feature_IsNotPICBit = 142,
Feature_OptForSizeBit = 50,
Feature_OptForMinSizeBit = 48,
Feature_OptForSpeedBit = 137,
Feature_UseIncDecBit = 27,
Feature_NoSSE41_Or_OptForSizeBit = 52,
Feature_CallImmAddrBit = 144,
Feature_FavorMemIndirectCallBit = 30,
Feature_HasFastSHLDRotateBit = 33,
Feature_HasMFenceBit = 58,
Feature_UseIndirectThunkCallsBit = 32,
Feature_NotUseIndirectThunkCallsBit = 31,
};
PredicateBitset X86InstructionSelector::
computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const {
PredicateBitset Features{};
if (true)
Features.set(Feature_TruePredicateBit);
if (Subtarget->hasEGPR())
Features.set(Feature_HasEGPRBit);
if (!Subtarget->hasEGPR())
Features.set(Feature_NoEGPRBit);
if (Subtarget->hasNDD())
Features.set(Feature_HasNDDBit);
if (!Subtarget->hasNDD())
Features.set(Feature_NoNDDBit);
if (Subtarget->hasCF())
Features.set(Feature_HasCFBit);
if (Subtarget->canUseCMOV())
Features.set(Feature_HasCMOVBit);
if (!Subtarget->canUseCMOV())
Features.set(Feature_NoCMOVBit);
if (Subtarget->hasMMX())
Features.set(Feature_HasMMXBit);
if (Subtarget->hasSSE1())
Features.set(Feature_HasSSE1Bit);
if (Subtarget->hasSSE1() && !Subtarget->hasAVX())
Features.set(Feature_UseSSE1Bit);
if (Subtarget->hasSSE2())
Features.set(Feature_HasSSE2Bit);
if (Subtarget->hasSSE2() && !Subtarget->hasAVX())
Features.set(Feature_UseSSE2Bit);
if (Subtarget->hasSSE3())
Features.set(Feature_HasSSE3Bit);
if (Subtarget->hasSSE3() && !Subtarget->hasAVX())
Features.set(Feature_UseSSE3Bit);
if (Subtarget->hasSSSE3())
Features.set(Feature_HasSSSE3Bit);
if (Subtarget->hasSSSE3() && !Subtarget->hasAVX())
Features.set(Feature_UseSSSE3Bit);
if (Subtarget->hasSSE41() && !Subtarget->hasAVX())
Features.set(Feature_UseSSE41Bit);
if (Subtarget->hasSSE42() && !Subtarget->hasAVX())
Features.set(Feature_UseSSE42Bit);
if (Subtarget->hasSSE4A())
Features.set(Feature_HasSSE4ABit);
if (!Subtarget->hasAVX())
Features.set(Feature_NoAVXBit);
if (Subtarget->hasAVX())
Features.set(Feature_HasAVXBit);
if (Subtarget->hasAVX2())
Features.set(Feature_HasAVX2Bit);
if (Subtarget->hasAVX() && !Subtarget->hasAVX2())
Features.set(Feature_HasAVX1OnlyBit);
if (Subtarget->hasEVEX512())
Features.set(Feature_HasEVEX512Bit);
if (Subtarget->hasAVX10_2())
Features.set(Feature_HasAVX10_2Bit);
if (Subtarget->hasAVX10_2_512())
Features.set(Feature_HasAVX10_2_512Bit);
if (!Subtarget->hasAVX10_2())
Features.set(Feature_NoAVX10_2Bit);
if (Subtarget->hasAVX512())
Features.set(Feature_HasAVX512Bit);
if (Subtarget->hasAVX() && !Subtarget->hasAVX512())
Features.set(Feature_UseAVXBit);
if (!Subtarget->hasAVX512())
Features.set(Feature_NoAVX512Bit);
if (Subtarget->hasCDI())
Features.set(Feature_HasCDIBit);
if (Subtarget->hasVPOPCNTDQ())
Features.set(Feature_HasVPOPCNTDQBit);
if (Subtarget->hasDQI())
Features.set(Feature_HasDQIBit);
if (!Subtarget->hasDQI())
Features.set(Feature_NoDQIBit);
if (Subtarget->hasBWI())
Features.set(Feature_HasBWIBit);
if (!Subtarget->hasBWI())
Features.set(Feature_NoBWIBit);
if (Subtarget->hasVLX())
Features.set(Feature_HasVLXBit);
if (!Subtarget->hasVLX())
Features.set(Feature_NoVLXBit);
if (!Subtarget->hasVLX() || !Subtarget->hasBWI())
Features.set(Feature_NoVLX_Or_NoBWIBit);
if (Subtarget->hasVNNI())
Features.set(Feature_HasVNNIBit);
if (Subtarget->hasVP2INTERSECT())
Features.set(Feature_HasVP2INTERSECTBit);
if (Subtarget->hasBF16())
Features.set(Feature_HasBF16Bit);
if (Subtarget->hasFP16())
Features.set(Feature_HasFP16Bit);
if (Subtarget->hasAVXVNNIINT16())
Features.set(Feature_HasAVXVNNIINT16Bit);
if (Subtarget->hasAVXVNNIINT8())
Features.set(Feature_HasAVXVNNIINT8Bit);
if (Subtarget->hasAVXVNNI())
Features.set(Feature_HasAVXVNNIBit);
if (!Subtarget->hasVLX() || !Subtarget->hasVNNI())
Features.set(Feature_NoVLX_Or_NoVNNIBit);
if (Subtarget->hasBITALG())
Features.set(Feature_HasBITALGBit);
if (Subtarget->hasPOPCNT())
Features.set(Feature_HasPOPCNTBit);
if (Subtarget->hasAES())
Features.set(Feature_HasAESBit);
if (Subtarget->hasVAES())
Features.set(Feature_HasVAESBit);
if (!Subtarget->hasVLX() || !Subtarget->hasVAES())
Features.set(Feature_NoVLX_Or_NoVAESBit);
if (Subtarget->hasFXSR())
Features.set(Feature_HasFXSRBit);
if (Subtarget->hasX87())
Features.set(Feature_HasX87Bit);
if (Subtarget->hasXSAVE())
Features.set(Feature_HasXSAVEBit);
if (Subtarget->hasXSAVEOPT())
Features.set(Feature_HasXSAVEOPTBit);
if (Subtarget->hasXSAVEC())
Features.set(Feature_HasXSAVECBit);
if (Subtarget->hasXSAVES())
Features.set(Feature_HasXSAVESBit);
if (Subtarget->hasPCLMUL())
Features.set(Feature_HasPCLMULBit);
if (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ())
Features.set(Feature_NoVLX_Or_NoVPCLMULQDQBit);
if (Subtarget->hasVPCLMULQDQ())
Features.set(Feature_HasVPCLMULQDQBit);
if (Subtarget->hasGFNI())
Features.set(Feature_HasGFNIBit);
if (Subtarget->hasFMA())
Features.set(Feature_HasFMABit);
if (Subtarget->hasFMA4())
Features.set(Feature_HasFMA4Bit);
if (!Subtarget->hasFMA4())
Features.set(Feature_NoFMA4Bit);
if (Subtarget->hasXOP())
Features.set(Feature_HasXOPBit);
if (Subtarget->hasTBM())
Features.set(Feature_HasTBMBit);
if (!Subtarget->hasTBM())
Features.set(Feature_NoTBMBit);
if (Subtarget->hasLWP())
Features.set(Feature_HasLWPBit);
if (Subtarget->hasMOVBE())
Features.set(Feature_HasMOVBEBit);
if (!Subtarget->hasNDD() || !Subtarget->hasMOVBE())
Features.set(Feature_NoNDD_Or_NoMOVBEBit);
if (Subtarget->hasRDRAND())
Features.set(Feature_HasRDRANDBit);
if (Subtarget->hasF16C())
Features.set(Feature_HasF16CBit);
if (Subtarget->hasFSGSBase())
Features.set(Feature_HasFSGSBaseBit);
if (Subtarget->hasLZCNT())
Features.set(Feature_HasLZCNTBit);
if (Subtarget->hasBMI())
Features.set(Feature_HasBMIBit);
if (Subtarget->hasBMI2())
Features.set(Feature_HasBMI2Bit);
if (!Subtarget->hasBMI2())
Features.set(Feature_NoBMI2Bit);
if (Subtarget->hasVBMI())
Features.set(Feature_HasVBMIBit);
if (Subtarget->hasVBMI2())
Features.set(Feature_HasVBMI2Bit);
if (Subtarget->hasIFMA())
Features.set(Feature_HasIFMABit);
if (Subtarget->hasAVXIFMA())
Features.set(Feature_HasAVXIFMABit);
if (!Subtarget->hasVLX() || !Subtarget->hasIFMA())
Features.set(Feature_NoVLX_Or_NoIFMABit);
if (Subtarget->hasRTM())
Features.set(Feature_HasRTMBit);
if (Subtarget->hasSHA())
Features.set(Feature_HasSHABit);
if (Subtarget->hasSHA512())
Features.set(Feature_HasSHA512Bit);
if (Subtarget->hasSM3())
Features.set(Feature_HasSM3Bit);
if (Subtarget->hasRDSEED())
Features.set(Feature_HasRDSEEDBit);
if (Subtarget->hasSSEPrefetch())
Features.set(Feature_HasSSEPrefetchBit);
if (Subtarget->hasPREFETCHI())
Features.set(Feature_HasPREFETCHIBit);
if (Subtarget->hasPrefetchW())
Features.set(Feature_HasPrefetchWBit);
if (Subtarget->hasMWAITX())
Features.set(Feature_HasMWAITXBit);
if (Subtarget->hasCLDEMOTE())
Features.set(Feature_HasCLDEMOTEBit);
if (Subtarget->hasMOVDIRI())
Features.set(Feature_HasMOVDIRIBit);
if (Subtarget->hasMOVDIR64B())
Features.set(Feature_HasMOVDIR64BBit);
if (Subtarget->hasPTWRITE())
Features.set(Feature_HasPTWRITEBit);
if (!Subtarget->hasSSE1())
Features.set(Feature_FPStackf32Bit);
if (!Subtarget->hasSSE2())
Features.set(Feature_FPStackf64Bit);
if (Subtarget->hasSM4())
Features.set(Feature_HasSM4Bit);
if (Subtarget->hasCLFLUSH())
Features.set(Feature_HasCLFLUSHBit);
if (Subtarget->hasCLFLUSHOPT())
Features.set(Feature_HasCLFLUSHOPTBit);
if (Subtarget->hasCLWB())
Features.set(Feature_HasCLWBBit);
if (Subtarget->hasWBNOINVD())
Features.set(Feature_HasWBNOINVDBit);
if (Subtarget->hasRDPID())
Features.set(Feature_HasRDPIDBit);
if (Subtarget->hasWAITPKG())
Features.set(Feature_HasWAITPKGBit);
if (Subtarget->hasINVPCID())
Features.set(Feature_HasINVPCIDBit);
if (Subtarget->hasCX8())
Features.set(Feature_HasCX8Bit);
if (Subtarget->hasCX16())
Features.set(Feature_HasCX16Bit);
if (Subtarget->hasENQCMD())
Features.set(Feature_HasENQCMDBit);
if (Subtarget->hasAMXFP16())
Features.set(Feature_HasAMXFP16Bit);
if (Subtarget->hasCMPCCXADD())
Features.set(Feature_HasCMPCCXADDBit);
if (Subtarget->hasAVXNECONVERT())
Features.set(Feature_HasAVXNECONVERTBit);
if (Subtarget->hasKL())
Features.set(Feature_HasKLBit);
if (Subtarget->hasRAOINT())
Features.set(Feature_HasRAOINTBit);
if (Subtarget->hasSERIALIZE())
Features.set(Feature_HasSERIALIZEBit);
if (Subtarget->hasTSXLDTRK())
Features.set(Feature_HasTSXLDTRKBit);
if (Subtarget->hasAMXTILE())
Features.set(Feature_HasAMXTILEBit);
if (Subtarget->hasAMXBF16())
Features.set(Feature_HasAMXBF16Bit);
if (Subtarget->hasAMXINT8())
Features.set(Feature_HasAMXINT8Bit);
if (Subtarget->hasAMXCOMPLEX())
Features.set(Feature_HasAMXCOMPLEXBit);
if (Subtarget->hasUINTR())
Features.set(Feature_HasUINTRBit);
if (Subtarget->hasUSERMSR())
Features.set(Feature_HasUSERMSRBit);
if (Subtarget->hasCRC32())
Features.set(Feature_HasCRC32Bit);
if (!Subtarget->is64Bit())
Features.set(Feature_Not64BitModeBit);
if (Subtarget->is64Bit())
Features.set(Feature_In64BitModeBit);
if (Subtarget->isTarget64BitLP64())
Features.set(Feature_IsLP64Bit);
if (!Subtarget->isTarget64BitLP64())
Features.set(Feature_NotLP64Bit);
if (Subtarget->isTargetPS())
Features.set(Feature_IsPSBit);
if (!Subtarget->isTargetPS())
Features.set(Feature_NotPSBit);
if (TM.getCodeModel() == CodeModel::Kernel)
Features.set(Feature_KernelCodeBit);
if (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
Features.set(Feature_NearDataBit);
if (!TM.isPositionIndependent())
Features.set(Feature_IsNotPICBit);
if (Subtarget->isLegalToCallImmediateAddr())
Features.set(Feature_CallImmAddrBit);
if (!Subtarget->slowTwoMemOps())
Features.set(Feature_FavorMemIndirectCallBit);
if (Subtarget->hasFastSHLDRotate())
Features.set(Feature_HasFastSHLDRotateBit);
if (Subtarget->hasMFence())
Features.set(Feature_HasMFenceBit);
if (Subtarget->useIndirectThunkCalls())
Features.set(Feature_UseIndirectThunkCallsBit);
if (!Subtarget->useIndirectThunkCalls())
Features.set(Feature_NotUseIndirectThunkCallsBit);
return Features;
}
void X86InstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
AvailableFunctionFeatures = computeAvailableFunctionFeatures((const X86Subtarget *)&MF.getSubtarget(), &MF);
}
PredicateBitset X86InstructionSelector::
computeAvailableFunctionFeatures(const X86Subtarget *Subtarget, const MachineFunction *MF) const {
PredicateBitset Features{};
if (!Subtarget->isTargetWin64() ||Subtarget->getFrameLowering()->hasFP(*MF))
Features.set(Feature_NotWin64WithoutFPBit);
if (shouldOptForSize(MF))
Features.set(Feature_OptForSizeBit);
if (MF->getFunction().hasMinSize())
Features.set(Feature_OptForMinSizeBit);
if (!shouldOptForSize(MF))
Features.set(Feature_OptForSpeedBit);
if (!Subtarget->slowIncDec() || shouldOptForSize(MF))
Features.set(Feature_UseIncDecBit);
if (shouldOptForSize(MF) || !Subtarget->hasSSE41())
Features.set(Feature_NoSSE41_Or_OptForSizeBit);
return Features;
}
enum {
GIFBS_Invalid,
GIFBS_FPStackf32,
GIFBS_FPStackf64,
GIFBS_HasAVX,
GIFBS_HasAVX10_2,
GIFBS_HasAVX10_2_512,
GIFBS_HasAVX1Only,
GIFBS_HasAVX2,
GIFBS_HasAVX512,
GIFBS_HasAVXNECONVERT,
GIFBS_HasBITALG,
GIFBS_HasBWI,
GIFBS_HasCDI,
GIFBS_HasDQI,
GIFBS_HasFP16,
GIFBS_HasFastSHLDRotate,
GIFBS_HasKL,
GIFBS_HasLWP,
GIFBS_HasMFence,
GIFBS_HasMMX,
GIFBS_HasMOVBE,
GIFBS_HasMWAITX,
GIFBS_HasNDD,
GIFBS_HasPTWRITE,
GIFBS_HasRTM,
GIFBS_HasSERIALIZE,
GIFBS_HasSHA,
GIFBS_HasSHA512,
GIFBS_HasSM3,
GIFBS_HasSM4,
GIFBS_HasSSE1,
GIFBS_HasSSE2,
GIFBS_HasSSE3,
GIFBS_HasSSE4A,
GIFBS_HasTBM,
GIFBS_HasTSXLDTRK,
GIFBS_HasVBMI2,
GIFBS_HasVLX,
GIFBS_HasVPOPCNTDQ,
GIFBS_HasWAITPKG,
GIFBS_HasWBNOINVD,
GIFBS_HasX87,
GIFBS_HasXOP,
GIFBS_In64BitMode,
GIFBS_IsPS,
GIFBS_NoDQI,
GIFBS_NoNDD,
GIFBS_NoNDD_Or_NoMOVBE,
GIFBS_Not64BitMode,
GIFBS_NotPS,
GIFBS_UseAVX,
GIFBS_UseSSE1,
GIFBS_UseSSE2,
GIFBS_UseSSE41,
GIFBS_UseSSSE3,
GIFBS_HasAES_HasAVX,
GIFBS_HasAES_NoAVX,
GIFBS_HasAMXBF16_In64BitMode,
GIFBS_HasAMXCOMPLEX_In64BitMode,
GIFBS_HasAMXFP16_In64BitMode,
GIFBS_HasAMXINT8_In64BitMode,
GIFBS_HasAMXTILE_In64BitMode,
GIFBS_HasAVX_In64BitMode,
GIFBS_HasAVX_NoAVX10_2,
GIFBS_HasAVX_NoBWI,
GIFBS_HasAVX_NoVLX,
GIFBS_HasAVX_NoVLX_Or_NoBWI,
GIFBS_HasAVX2_NoVLX,
GIFBS_HasAVX2_NoVLX_Or_NoBWI,
GIFBS_HasAVX512_HasVAES,
GIFBS_HasAVX512_HasVLX,
GIFBS_HasAVX512_HasVPCLMULQDQ,
GIFBS_HasAVX512_NoBWI,
GIFBS_HasAVX512_NoDQI,
GIFBS_HasBF16_HasVLX,
GIFBS_HasBITALG_HasVLX,
GIFBS_HasBMI_HasEGPR,
GIFBS_HasBMI_NoEGPR,
GIFBS_HasBMI2_HasEGPR,
GIFBS_HasBMI2_NoEGPR,
GIFBS_HasBWI_HasVLX,
GIFBS_HasCDI_HasVLX,
GIFBS_HasCRC32_NoEGPR,
GIFBS_HasDQI_HasVLX,
GIFBS_HasDQI_NoBWI,
GIFBS_HasFMA4_NoAVX512,
GIFBS_HasFMA4_NoVLX,
GIFBS_HasFP16_HasVLX,
GIFBS_HasFSGSBase_In64BitMode,
GIFBS_HasNDD_In64BitMode,
GIFBS_HasNDD_UseIncDec,
GIFBS_HasPCLMUL_NoAVX,
GIFBS_HasPTWRITE_In64BitMode,
GIFBS_HasRDPID_In64BitMode,
GIFBS_HasRDPID_Not64BitMode,
GIFBS_HasUINTR_In64BitMode,
GIFBS_HasUSERMSR_NoEGPR,
GIFBS_HasVAES_HasVLX,
GIFBS_HasVAES_NoVLX,
GIFBS_HasVBMI2_HasVLX,
GIFBS_HasVLX_HasVPCLMULQDQ,
GIFBS_HasVLX_HasVPOPCNTDQ,
GIFBS_HasVPCLMULQDQ_NoVLX,
GIFBS_HasWAITPKG_In64BitMode,
GIFBS_HasWAITPKG_Not64BitMode,
GIFBS_In64BitMode_UseSSE2,
GIFBS_NoNDD_UseIncDec,
GIFBS_Not64BitMode_OptForSize,
GIFBS_NotWin64WithoutFP_OptForMinSize,
GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES,
GIFBS_HasAVX_HasPCLMUL_NoVLX_Or_NoVPCLMULQDQ,
GIFBS_HasAVX512_HasEVEX512_NoVLX,
GIFBS_HasBITALG_HasEVEX512_NoVLX,
GIFBS_HasBWI_HasEVEX512_NoVLX,
GIFBS_HasCDI_HasEVEX512_NoVLX,
GIFBS_HasCRC32_HasEGPR_In64BitMode,
GIFBS_HasDQI_HasEVEX512_NoVLX,
GIFBS_HasDQI_HasVLX_NoBWI,
GIFBS_HasEGPR_HasUSERMSR_In64BitMode,
GIFBS_HasEVEX512_HasVPOPCNTDQ_NoVLX,
GIFBS_HasFMA_NoAVX512_NoFMA4,
GIFBS_HasFMA_NoFMA4_NoVLX,
GIFBS_HasMOVBE_HasNDD_In64BitMode,
};
constexpr static PredicateBitset FeatureBitsets[] {
{},
{Feature_FPStackf32Bit, },
{Feature_FPStackf64Bit, },
{Feature_HasAVXBit, },
{Feature_HasAVX10_2Bit, },
{Feature_HasAVX10_2_512Bit, },
{Feature_HasAVX1OnlyBit, },
{Feature_HasAVX2Bit, },
{Feature_HasAVX512Bit, },
{Feature_HasAVXNECONVERTBit, },
{Feature_HasBITALGBit, },
{Feature_HasBWIBit, },
{Feature_HasCDIBit, },
{Feature_HasDQIBit, },
{Feature_HasFP16Bit, },
{Feature_HasFastSHLDRotateBit, },
{Feature_HasKLBit, },
{Feature_HasLWPBit, },
{Feature_HasMFenceBit, },
{Feature_HasMMXBit, },
{Feature_HasMOVBEBit, },
{Feature_HasMWAITXBit, },
{Feature_HasNDDBit, },
{Feature_HasPTWRITEBit, },
{Feature_HasRTMBit, },
{Feature_HasSERIALIZEBit, },
{Feature_HasSHABit, },
{Feature_HasSHA512Bit, },
{Feature_HasSM3Bit, },
{Feature_HasSM4Bit, },
{Feature_HasSSE1Bit, },
{Feature_HasSSE2Bit, },
{Feature_HasSSE3Bit, },
{Feature_HasSSE4ABit, },
{Feature_HasTBMBit, },
{Feature_HasTSXLDTRKBit, },
{Feature_HasVBMI2Bit, },
{Feature_HasVLXBit, },
{Feature_HasVPOPCNTDQBit, },
{Feature_HasWAITPKGBit, },
{Feature_HasWBNOINVDBit, },
{Feature_HasX87Bit, },
{Feature_HasXOPBit, },
{Feature_In64BitModeBit, },
{Feature_IsPSBit, },
{Feature_NoDQIBit, },
{Feature_NoNDDBit, },
{Feature_NoNDD_Or_NoMOVBEBit, },
{Feature_Not64BitModeBit, },
{Feature_NotPSBit, },
{Feature_UseAVXBit, },
{Feature_UseSSE1Bit, },
{Feature_UseSSE2Bit, },
{Feature_UseSSE41Bit, },
{Feature_UseSSSE3Bit, },
{Feature_HasAESBit, Feature_HasAVXBit, },
{Feature_HasAESBit, Feature_NoAVXBit, },
{Feature_HasAMXBF16Bit, Feature_In64BitModeBit, },
{Feature_HasAMXCOMPLEXBit, Feature_In64BitModeBit, },
{Feature_HasAMXFP16Bit, Feature_In64BitModeBit, },
{Feature_HasAMXINT8Bit, Feature_In64BitModeBit, },
{Feature_HasAMXTILEBit, Feature_In64BitModeBit, },
{Feature_HasAVXBit, Feature_In64BitModeBit, },
{Feature_HasAVXBit, Feature_NoAVX10_2Bit, },
{Feature_HasAVXBit, Feature_NoBWIBit, },
{Feature_HasAVXBit, Feature_NoVLXBit, },
{Feature_HasAVXBit, Feature_NoVLX_Or_NoBWIBit, },
{Feature_HasAVX2Bit, Feature_NoVLXBit, },
{Feature_HasAVX2Bit, Feature_NoVLX_Or_NoBWIBit, },
{Feature_HasAVX512Bit, Feature_HasVAESBit, },
{Feature_HasAVX512Bit, Feature_HasVLXBit, },
{Feature_HasAVX512Bit, Feature_HasVPCLMULQDQBit, },
{Feature_HasAVX512Bit, Feature_NoBWIBit, },
{Feature_HasAVX512Bit, Feature_NoDQIBit, },
{Feature_HasBF16Bit, Feature_HasVLXBit, },
{Feature_HasBITALGBit, Feature_HasVLXBit, },
{Feature_HasBMIBit, Feature_HasEGPRBit, },
{Feature_HasBMIBit, Feature_NoEGPRBit, },
{Feature_HasBMI2Bit, Feature_HasEGPRBit, },
{Feature_HasBMI2Bit, Feature_NoEGPRBit, },
{Feature_HasBWIBit, Feature_HasVLXBit, },
{Feature_HasCDIBit, Feature_HasVLXBit, },
{Feature_HasCRC32Bit, Feature_NoEGPRBit, },
{Feature_HasDQIBit, Feature_HasVLXBit, },
{Feature_HasDQIBit, Feature_NoBWIBit, },
{Feature_HasFMA4Bit, Feature_NoAVX512Bit, },
{Feature_HasFMA4Bit, Feature_NoVLXBit, },
{Feature_HasFP16Bit, Feature_HasVLXBit, },
{Feature_HasFSGSBaseBit, Feature_In64BitModeBit, },
{Feature_HasNDDBit, Feature_In64BitModeBit, },
{Feature_HasNDDBit, Feature_UseIncDecBit, },
{Feature_HasPCLMULBit, Feature_NoAVXBit, },
{Feature_HasPTWRITEBit, Feature_In64BitModeBit, },
{Feature_HasRDPIDBit, Feature_In64BitModeBit, },
{Feature_HasRDPIDBit, Feature_Not64BitModeBit, },
{Feature_HasUINTRBit, Feature_In64BitModeBit, },
{Feature_HasUSERMSRBit, Feature_NoEGPRBit, },
{Feature_HasVAESBit, Feature_HasVLXBit, },
{Feature_HasVAESBit, Feature_NoVLXBit, },
{Feature_HasVBMI2Bit, Feature_HasVLXBit, },
{Feature_HasVLXBit, Feature_HasVPCLMULQDQBit, },
{Feature_HasVLXBit, Feature_HasVPOPCNTDQBit, },
{Feature_HasVPCLMULQDQBit, Feature_NoVLXBit, },
{Feature_HasWAITPKGBit, Feature_In64BitModeBit, },
{Feature_HasWAITPKGBit, Feature_Not64BitModeBit, },
{Feature_In64BitModeBit, Feature_UseSSE2Bit, },
{Feature_NoNDDBit, Feature_UseIncDecBit, },
{Feature_Not64BitModeBit, Feature_OptForSizeBit, },
{Feature_NotWin64WithoutFPBit, Feature_OptForMinSizeBit, },
{Feature_HasAESBit, Feature_HasAVXBit, Feature_NoVLX_Or_NoVAESBit, },
{Feature_HasAVXBit, Feature_HasPCLMULBit, Feature_NoVLX_Or_NoVPCLMULQDQBit, },
{Feature_HasAVX512Bit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
{Feature_HasBITALGBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
{Feature_HasBWIBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
{Feature_HasCDIBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
{Feature_HasCRC32Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
{Feature_HasDQIBit, Feature_HasEVEX512Bit, Feature_NoVLXBit, },
{Feature_HasDQIBit, Feature_HasVLXBit, Feature_NoBWIBit, },
{Feature_HasEGPRBit, Feature_HasUSERMSRBit, Feature_In64BitModeBit, },
{Feature_HasEVEX512Bit, Feature_HasVPOPCNTDQBit, Feature_NoVLXBit, },
{Feature_HasFMABit, Feature_NoAVX512Bit, Feature_NoFMA4Bit, },
{Feature_HasFMABit, Feature_NoFMA4Bit, Feature_NoVLXBit, },
{Feature_HasMOVBEBit, Feature_HasNDDBit, Feature_In64BitModeBit, },
};
enum {
GICP_Invalid,
};
X86InstructionSelector::ComplexMatcherMemFn
X86InstructionSelector::ComplexPredicateFns[] = {
nullptr,
};
bool X86InstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
const MachineFunction &MF = *MI.getParent()->getParent();
const MachineRegisterInfo &MRI = MF.getRegInfo();
const auto &Operands = State.RecordedOperands;
(void)Operands;
(void)MRI;
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_I64_Predicate_AndMask64 = GICXXPred_Invalid + 1,
GICXXPred_I64_Predicate_BTCBTSMask64,
GICXXPred_I64_Predicate_BTRMask64,
GICXXPred_I64_Predicate_i16immSExt8,
GICXXPred_I64_Predicate_i32immSExt8,
GICXXPred_I64_Predicate_i64immSExt8,
GICXXPred_I64_Predicate_i64immSExt32,
GICXXPred_I64_Predicate_i64immZExt32,
GICXXPred_I64_Predicate_i64immZExt32SExt8,
GICXXPred_I64_Predicate_i64timmSExt32,
GICXXPred_I64_Predicate_immff00_ffff,
};
bool X86InstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
switch (PredicateID) {
case GICXXPred_I64_Predicate_AndMask64: {
return isMask_64(Imm) && !isUInt<32>(Imm);
}
case GICXXPred_I64_Predicate_BTCBTSMask64: {
return !isInt<32>(Imm) && isPowerOf2_64(Imm);
}
case GICXXPred_I64_Predicate_BTRMask64: {
return !isUInt<32>(Imm) && !isInt<32>(Imm) && isPowerOf2_64(~Imm);
}
case GICXXPred_I64_Predicate_i16immSExt8: {
return isInt<8>(Imm);
}
case GICXXPred_I64_Predicate_i32immSExt8: {
return isInt<8>(Imm);
}
case GICXXPred_I64_Predicate_i64immSExt8: {
return isInt<8>(Imm);
}
case GICXXPred_I64_Predicate_i64immSExt32: {
return isInt<32>(Imm);
}
case GICXXPred_I64_Predicate_i64immZExt32: {
return isUInt<32>(Imm);
}
case GICXXPred_I64_Predicate_i64immZExt32SExt8: {
return isUInt<32>(Imm) && isInt<8>(static_cast<int32_t>(Imm));
}
case GICXXPred_I64_Predicate_i64timmSExt32: {
return isInt<32>(Imm);
}
case GICXXPred_I64_Predicate_immff00_ffff: {
return Imm >= 0xff00 && Imm <= 0xffff;
}
}
llvm_unreachable("Unknown predicate");
return false;
}
enum {
GICXXPred_APFloat_Predicate_fpimm0 = GICXXPred_Invalid + 1,
GICXXPred_APFloat_Predicate_fpimm1,
GICXXPred_APFloat_Predicate_fpimmneg0,
GICXXPred_APFloat_Predicate_fpimmneg1,
};
bool X86InstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
switch (PredicateID) {
case GICXXPred_APFloat_Predicate_fpimm0: {
return Imm.isExactlyValue(+0.0);
}
case GICXXPred_APFloat_Predicate_fpimm1: {
return Imm.isExactlyValue(+1.0);
}
case GICXXPred_APFloat_Predicate_fpimmneg0: {
return Imm.isExactlyValue(-0.0);
}
case GICXXPred_APFloat_Predicate_fpimmneg1: {
return Imm.isExactlyValue(-1.0);
}
}
llvm_unreachable("Unknown predicate");
return false;
}
bool X86InstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
llvm_unreachable("Unknown predicate");
return false;
}
bool X86InstructionSelector::testSimplePredicate(unsigned) const {
llvm_unreachable("X86InstructionSelector does not support simple predicates!");
return false;
}
enum {
GICR_Invalid,
};
X86InstructionSelector::CustomRendererFn
X86InstructionSelector::CustomRenderers[] = {
nullptr,
};
bool X86InstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
const PredicateBitset AvailableFeatures = getAvailableFeatures();
MachineIRBuilder B(I);
State.MIs.clear();
State.MIs.push_back(&I);
if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
return true;
}
return false;
}
bool X86InstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
llvm_unreachable("X86InstructionSelector does not support custom C++ actions!");
}
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define GIMT_Encode2 …
#define GIMT_Encode4 …
#define GIMT_Encode8 …
#else
#define GIMT_Encode2 …
#define GIMT_Encode4 …
#define GIMT_Encode8 …
#endif
const uint8_t *X86InstructionSelector::getMatchTable() const {
constexpr static uint8_t MatchTable0[] = {
GIM_SwitchOpcode, 0, GIMT_Encode2(53), GIMT_Encode2(283), GIMT_Encode4(86324),
GIMT_Encode4(930),
GIMT_Encode4(3288),
GIMT_Encode4(4880), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6117),
GIMT_Encode4(11913),
GIMT_Encode4(16281), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24620), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24787), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26526),
GIMT_Encode4(27388), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27782),
GIMT_Encode4(33524), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(36284),
GIMT_Encode4(36719),
GIMT_Encode4(37723),
GIMT_Encode4(38333), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(38786), GIMT_Encode4(0),
GIMT_Encode4(39809),
GIMT_Encode4(40727),
GIMT_Encode4(41915),
GIMT_Encode4(42895),
GIMT_Encode4(43875),
GIMT_Encode4(44251),
GIMT_Encode4(44627),
GIMT_Encode4(46633),
GIMT_Encode4(48641), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(50298), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(58198),
GIMT_Encode4(58445),
GIMT_Encode4(58692),
GIMT_Encode4(59142),
GIMT_Encode4(59592),
GIMT_Encode4(60042), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(60492),
GIMT_Encode4(61571),
GIMT_Encode4(62650),
GIMT_Encode4(63729), GIMT_Encode4(0),
GIMT_Encode4(64938), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(66017),
GIMT_Encode4(66140),
GIMT_Encode4(66710),
GIMT_Encode4(67037),
GIMT_Encode4(67534),
GIMT_Encode4(67736),
GIMT_Encode4(68998), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(69848), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(69971),
GIMT_Encode4(71080),
GIMT_Encode4(72189),
GIMT_Encode4(73298),
GIMT_Encode4(74407), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(75280), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(75296), GIMT_Encode4(0),
GIMT_Encode4(76684),
GIMT_Encode4(76798), GIMT_Encode4(0),
GIMT_Encode4(77472),
GIMT_Encode4(78780), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(78956), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(79971),
GIMT_Encode4(80987),
GIMT_Encode4(82003),
GIMT_Encode4(83019), GIMT_Encode4(0),
GIMT_Encode4(84035),
GIMT_Encode4(85244), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(86259),
GIMT_Encode4(86272),
GIMT_Encode4(86308),
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(25), GIMT_Encode4(3287),
GIMT_Encode4(1037),
GIMT_Encode4(1270),
GIMT_Encode4(1571),
GIMT_Encode4(1872), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(2263), GIMT_Encode4(0),
GIMT_Encode4(2357),
GIMT_Encode4(2573), GIMT_Encode4(0),
GIMT_Encode4(2640),
GIMT_Encode4(2856),
GIMT_Encode4(2923), GIMT_Encode4(0),
GIMT_Encode4(2957),
GIMT_Encode4(3051),
GIMT_Encode4(3118), GIMT_Encode4(0),
GIMT_Encode4(3152),
GIMT_Encode4(3219), GIMT_Encode4(0),
GIMT_Encode4(3253),
GIM_Try, GIMT_Encode4(1269),
GIM_RootCheckType, 1, GILLT_s8,
GIM_RootCheckType, 2, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_Try, GIMT_Encode4(1080),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC8r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1104),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC8r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1128),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC8r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1152),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC8r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1185),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD8ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1218),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD8ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1243),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD8rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(1268),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD8rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1570),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(1323),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(128),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB16ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, uint8_t(-128),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1357),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(128),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB16ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, uint8_t(-128),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1381),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC16r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1405),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC16r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1429),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC16r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1453),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC16r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1486),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD16ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1519),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD16ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1544),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD16rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(1569),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD16rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(1871),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_Try, GIMT_Encode4(1624),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(128),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB32ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, uint8_t(-128),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1658),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(128),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB32ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, uint8_t(-128),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1682),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC32r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1706),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC32r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1730),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC32r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1754),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC32r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1787),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD32ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1820),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD32ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1845),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD32rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(1870),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD32rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2262),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_Try, GIMT_Encode4(1925),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(128),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB64ri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, uint8_t(-128),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(1959),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(128),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB64ri32_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, uint8_t(-128),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2000),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(2147483648),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB64ri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm, 0, GIMT_Encode8(-2147483648),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2041),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(2147483648),
GIR_BuildRootMI, GIMT_Encode2(X86::SUB64ri32_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm, 0, GIMT_Encode8(-2147483648),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2065),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC64r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2089),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC64r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2113),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::INC64r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2137),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::DEC64r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2174),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD64ri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2211),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ADD64ri32_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2236),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD64rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2261),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::ADD64rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2356),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(2301),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDQrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2328),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PADDQrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2355),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2572),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(2429),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSDDrr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2490),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v4s32,
GIM_CheckType, 1, 2, GILLT_v4s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSDDrr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2517),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2544),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PADDDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2571),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDDZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2639),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(2611),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDQYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2638),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2855),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(2712),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s16,
GIM_CheckType, 1, 2, GILLT_v8s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSWWrr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2773),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_MUL),
GIM_CheckType, 1, 1, GILLT_v8s16,
GIM_CheckType, 1, 2, GILLT_v8s16,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSWWrr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(2800),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDWrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2827),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PADDWrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2854),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDWZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2922),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(2894),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDDYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(2921),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDDZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(2956),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3050),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(2995),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDBrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PADDBrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3049),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDBZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3117),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(3089),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDWYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3116),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDWZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3151),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v16s32,
GIM_RootCheckType, 2, GILLT_v16s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDDZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3218),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(3190),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDBYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3217),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDBZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3252),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDWZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(3286),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v64s8,
GIM_RootCheckType, 2, GILLT_v64s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPADDBZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(25), GIMT_Encode4(4879),
GIMT_Encode4(3395),
GIMT_Encode4(3569),
GIMT_Encode4(3743),
GIMT_Encode4(3917), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(4099), GIMT_Encode4(0),
GIMT_Encode4(4193),
GIMT_Encode4(4287), GIMT_Encode4(0),
GIMT_Encode4(4354),
GIMT_Encode4(4448),
GIMT_Encode4(4515), GIMT_Encode4(0),
GIMT_Encode4(4549),
GIMT_Encode4(4643),
GIMT_Encode4(4710), GIMT_Encode4(0),
GIMT_Encode4(4744),
GIMT_Encode4(4811), GIMT_Encode4(0),
GIMT_Encode4(4845),
GIM_Try, GIMT_Encode4(3568),
GIM_RootCheckType, 1, GILLT_s8,
GIM_RootCheckType, 2, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR8RegClassID),
GIM_Try, GIMT_Encode4(3435),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_CheckConstantInt8, 0, 1, 0,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::NEG8r_NF_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3472),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB8ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3509),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB8ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3538),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB8rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3567),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB8rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3742),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(3609),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_CheckConstantInt8, 0, 1, 0,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::NEG16r_NF_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3646),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB16ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3683),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB16ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3712),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB16rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3741),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB16rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(3916),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_Try, GIMT_Encode4(3783),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_CheckConstantInt8, 0, 1, 0,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::NEG32r_NF_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3820),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB32ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3857),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB32ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3886),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB32rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(3915),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB32rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4098),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_Try, GIMT_Encode4(3957),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_CheckConstantInt8, 0, 1, 0,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::NEG64r_NF_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(3998),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB64ri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4039),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::SUB64ri32_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(4068),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB64rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4097),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::SUB64rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4192),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(4137),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBQrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4164),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PSUBQrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4191),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4286),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(4231),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4258),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PSUBDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4285),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBDZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4353),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(4325),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBQYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4352),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4447),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(4392),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBWrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4419),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PSUBWrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4446),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBWZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4514),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(4486),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBDYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4513),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBDZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4548),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4642),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(4587),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBBrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4614),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PSUBBrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4641),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBBZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4709),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(4681),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBWYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4708),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBWZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4743),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v16s32,
GIM_RootCheckType, 2, GILLT_v16s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBDZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4810),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(4782),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBBYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(4809),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBBZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(4844),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBWZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(4878),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v64s8,
GIM_RootCheckType, 2, GILLT_v64s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPSUBBZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(2), GIMT_Encode2(23), GIMT_Encode4(6116),
GIMT_Encode4(4975),
GIMT_Encode4(5076),
GIMT_Encode4(5177), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(5282), GIMT_Encode4(0),
GIMT_Encode4(5487),
GIMT_Encode4(5581), GIMT_Encode4(0),
GIMT_Encode4(5786),
GIMT_Encode4(5880),
GIMT_Encode4(5947), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(5981),
GIMT_Encode4(6048), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6082),
GIM_Try, GIMT_Encode4(5075),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(5024),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::IMUL16rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5049),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::IMUL16rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5074),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::IMUL16rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5176),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_Try, GIMT_Encode4(5125),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::IMUL32rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5150),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::IMUL32rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5175),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::IMUL32rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5281),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_Try, GIMT_Encode4(5230),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::IMUL64rri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(5255),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::IMUL64rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5280),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::IMUL64rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5486),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(5320),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5485),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 2,
GIR_AddImm8, 4, 9,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 9,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPMULLQZrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5580),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(5525),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5552),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PMULLDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5579),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLDZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5785),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(5619),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5784),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 2,
GIR_AddImm8, 4, 10,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 10,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPMULLQZrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5879),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(5824),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLWrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5851),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PMULLWrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5878),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLWZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5946),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(5918),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLDYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(5945),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLDZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(5980),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6047),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(6019),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLWYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6046),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLWZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6081),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v16s32,
GIM_RootCheckType, 2, GILLT_v16s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLDZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(6115),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPMULLWZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(25), GIMT_Encode4(11912),
GIMT_Encode4(6228),
GIMT_Encode4(6556),
GIMT_Encode4(6693),
GIMT_Encode4(7158),
GIMT_Encode4(8344), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(9408),
GIMT_Encode4(9736),
GIMT_Encode4(9830),
GIMT_Encode4(10158),
GIMT_Encode4(10252),
GIMT_Encode4(10346),
GIMT_Encode4(10826),
GIMT_Encode4(10920),
GIMT_Encode4(11014),
GIMT_Encode4(11048),
GIMT_Encode4(11208),
GIMT_Encode4(11302),
GIMT_Encode4(11396),
GIMT_Encode4(11430),
GIMT_Encode4(11590),
GIMT_Encode4(11684),
GIMT_Encode4(11718),
GIMT_Encode4(11878),
GIM_Try, GIMT_Encode4(6555),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK1RegClassID),
GIM_Try, GIMT_Encode4(6357),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK1RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6471),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6554),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK1RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(6692),
GIM_RootCheckType, 1, GILLT_s8,
GIM_RootCheckType, 2, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_Try, GIMT_Encode4(6608),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND8ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6641),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND8ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6666),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND8rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(6691),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND8rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(7157),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_Try, GIMT_Encode4(6810),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ROTL),
GIM_CheckType, 1, 1, GILLT_s16,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s16,
GIR_MakeTempReg, 1, GILLT_s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTR16rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(6916),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ROTL),
GIM_CheckType, 1, 1, GILLT_s16,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s16,
GIR_MakeTempReg, 1, GILLT_s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTR16rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7008),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(255),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s8,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_CopySubReg, 2, 0, 1, GIMT_Encode2(1),
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::GR8RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::MOVZX32rr8),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7049),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND16ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7090),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND16ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7123),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND16rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(7156),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND16rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(8343),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(7243),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCIC32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7320),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::TZMSK32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7397),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCIC32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7474),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::TZMSK32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7532),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCFILL32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7641),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ROTL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTR32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7695),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCFILL32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7804),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ROTL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTR32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7869),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(65535),
GIR_MakeTempReg, 0, GILLT_s16,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_CopySubReg, 1, 0, 1, GIMT_Encode2(4),
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::MOVZX32rr16),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7934),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(255),
GIR_MakeTempReg, 0, GILLT_s8,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_CopySubReg, 1, 0, 1, GIMT_Encode2(1),
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR8RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::MOVZX32rr8),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(7978),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND32ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND32ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8084),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8146),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN32rr_EVEX),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8208),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8270),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN32rr_EVEX),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8306),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND32rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(8342),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND32rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9407),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(8429),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCIC64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8506),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::TZMSK64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8583),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCIC64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8660),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::TZMSK64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8718),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCFILL64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8827),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ROTL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTR64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8881),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCFILL64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(8990),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ROTL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTR64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9038),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND64ri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9086),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::AND64ri32_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9148),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9210),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN64rr_EVEX),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9272),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9334),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::ANDN64rr_EVEX),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9370),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND64rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(9406),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::AND64rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9735),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK2RegClassID),
GIM_Try, GIMT_Encode4(9537),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v2s1,
GIM_CheckType, 1, 2, GILLT_v2s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK2RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9651),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v2s1,
GIM_CheckType, 1, 2, GILLT_v2s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(9734),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK2RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(9829),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(9774),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(9801),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(9828),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10157),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK4RegClassID),
GIM_Try, GIMT_Encode4(9959),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s1,
GIM_CheckType, 1, 2, GILLT_v4s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK4RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10073),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s1,
GIM_CheckType, 1, 2, GILLT_v4s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10156),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK4RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10251),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(10196),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDDZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10223),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10250),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10345),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(10290),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10317),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10344),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VANDPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10825),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK8RegClassID),
GIM_Try, GIMT_Encode4(10421),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNBkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10538),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10598),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNBkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10715),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDNWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(10738),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KANDBkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10824),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KANDWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(10919),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(10864),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10891),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10918),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11013),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(10958),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDDZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(10985),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(11012),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VANDPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11047),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(11207),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK16RegClassID),
GIM_Try, GIMT_Encode4(11123),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v16s1,
GIM_CheckType, 1, 2, GILLT_v16s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK16RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNWkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11183),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v16s1,
GIM_CheckType, 1, 2, GILLT_v16s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNWkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11206),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KANDWkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11301),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(11246),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(11273),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PANDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(11300),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11395),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(11340),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(11367),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VANDPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(11394),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11429),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v16s32,
GIM_RootCheckType, 2, GILLT_v16s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDDZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(11589),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckType, 2, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_Try, GIMT_Encode4(11505),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v32s1,
GIM_CheckType, 1, 2, GILLT_v32s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK32RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNDkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11565),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v32s1,
GIM_CheckType, 1, 2, GILLT_v32s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNDkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11588),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KANDDkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11683),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(11628),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(11655),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VANDPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(11682),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11717),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(11877),
GIM_RootCheckType, 1, GILLT_v64s1,
GIM_RootCheckType, 2, GILLT_v64s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_Try, GIMT_Encode4(11793),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v64s1,
GIM_CheckType, 1, 2, GILLT_v64s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK64RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNQkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11853),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v64s1,
GIM_CheckType, 1, 2, GILLT_v64s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KANDNQkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(11876),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KANDQkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(11911),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v64s8,
GIM_RootCheckType, 2, GILLT_v64s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPANDQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(25), GIMT_Encode4(16280),
GIMT_Encode4(12024),
GIMT_Encode4(12118),
GIMT_Encode4(12255),
GIMT_Encode4(12608),
GIMT_Encode4(13792), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(14984),
GIMT_Encode4(15078),
GIMT_Encode4(15172),
GIMT_Encode4(15266),
GIMT_Encode4(15360),
GIMT_Encode4(15454),
GIMT_Encode4(15572),
GIMT_Encode4(15666),
GIMT_Encode4(15760),
GIMT_Encode4(15794),
GIMT_Encode4(15828),
GIMT_Encode4(15922),
GIMT_Encode4(16016),
GIMT_Encode4(16050),
GIMT_Encode4(16084),
GIMT_Encode4(16178),
GIMT_Encode4(16212),
GIMT_Encode4(16246),
GIM_Try, GIMT_Encode4(12117),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK1RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK1RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(12254),
GIM_RootCheckType, 1, GILLT_s8,
GIM_RootCheckType, 2, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_Try, GIMT_Encode4(12170),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR8ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12203),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR8ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12228),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR8rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(12253),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR8rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(12607),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(12372),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s16,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s16,
GIR_MakeTempReg, 1, GILLT_s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTS16rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12474),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s16,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s16,
GIR_MakeTempReg, 1, GILLT_s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTS16rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12511),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR16ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12548),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR16ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12577),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR16rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(12606),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR16rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(13791),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(12693),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSIC32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12770),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::T1MSKC32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12848),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 1, GILLT_s32,
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSameOperand, 0, 2, 2, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(12925),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSIC32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13002),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::T1MSKC32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13076),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s32,
GIM_CheckIsSameOperand, 2, 1, 0, 1,
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13134),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCS32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13192),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSFILL32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13301),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTS32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13359),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckIsSameOperand, 0, 2, 1, 2,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13413),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCS32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13467),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSFILL32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13576),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTS32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13630),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckIsSameOperand, 1, 2, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13674),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR32ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13718),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR32ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13754),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR32rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(13790),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR32rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(14983),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(13877),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSIC64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(13954),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::T1MSKC64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14032),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 1, GILLT_s64,
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckRegBankForClass, 2, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSameOperand, 0, 2, 2, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 2, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14109),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSIC64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14186),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 1, 1,
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::T1MSKC64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14260),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_RecordInsn, 2, 1, 1,
GIM_CheckOpcode, 2, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 2, 2, GILLT_s64,
GIM_CheckIsSameOperand, 2, 1, 0, 1,
GIM_CheckConstantInt8, 2, 2, 1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14318),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCS64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14376),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSFILL64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14485),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTS64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14543),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckIsSameOperand, 0, 2, 1, 2,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 2,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14597),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCS64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14651),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, uint8_t(-1),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLSFILL64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14760),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTS64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14814),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SUB),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckConstantInt8, 1, 1, uint8_t(-2),
GIM_CheckIsSameOperand, 1, 2, 0, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCI64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14862),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR64ri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14910),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::OR64ri32_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(14946),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR64rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(14982),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::OR64rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(15077),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK2RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK2RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(15171),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(15116),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15143),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15170),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(15265),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK4RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK4RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(15359),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(15304),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORDZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15331),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15358),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(15453),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(15398),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15425),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15452),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(15571),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIM_Try, GIMT_Encode4(15492),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KORBkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15570),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(15665),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(15610),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15637),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15664),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(15759),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(15704),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORDZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15731),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15758),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(15793),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(15827),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KORWkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(15921),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(15866),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15893),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15920),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(16015),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(15960),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15987),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(16014),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(16049),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v16s32,
GIM_RootCheckType, 2, GILLT_v16s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORDZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(16083),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckType, 2, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KORDkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(16177),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(16122),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(16149),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(16176),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(16211),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(16245),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v64s1,
GIM_RootCheckType, 2, GILLT_v64s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KORQkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(16279),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v64s8,
GIM_RootCheckType, 2, GILLT_v64s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPORQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(0), GIMT_Encode2(25), GIMT_Encode4(24619),
GIMT_Encode4(16392),
GIMT_Encode4(16923),
GIMT_Encode4(17126),
GIMT_Encode4(17571),
GIMT_Encode4(18184), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(18756),
GIMT_Encode4(19271),
GIMT_Encode4(19643),
GIMT_Encode4(20158),
GIMT_Encode4(20530),
GIMT_Encode4(20902),
GIMT_Encode4(21673),
GIMT_Encode4(22045),
GIMT_Encode4(22417),
GIMT_Encode4(22495),
GIMT_Encode4(22753),
GIMT_Encode4(23125),
GIMT_Encode4(23497),
GIMT_Encode4(23575),
GIMT_Encode4(23833),
GIMT_Encode4(24205),
GIMT_Encode4(24283),
GIMT_Encode4(24541),
GIM_Try, GIMT_Encode4(16922),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_Try, GIMT_Encode4(16521),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK1RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16640),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 1, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16758),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK1RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_s1,
GIM_CheckType, 1, 2, GILLT_s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16834),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK2RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KNOTWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16921),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK1RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK1RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK1RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK1RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(17125),
GIM_RootCheckType, 1, GILLT_s8,
GIM_RootCheckType, 2, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIM_Try, GIMT_Encode4(16966),
GIM_CheckConstantInt8, 0, 2, uint8_t(-128),
GIR_BuildRootMI, GIMT_Encode2(X86::ADD8ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, uint8_t(-128),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(16987),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT8r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17008),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT8r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17041),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR8ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17074),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR8ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17099),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR8rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(17124),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR8rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(17570),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(17183),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(-32768),
GIR_BuildRootMI, GIMT_Encode2(X86::ADD16ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm, 0, GIMT_Encode8(-32768),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17285),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s16,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s16,
GIR_MakeTempReg, 1, GILLT_s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTC16rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17387),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s16,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s16,
GIR_MakeTempReg, 1, GILLT_s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTC16rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17412),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT16r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17437),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT16r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17474),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR16ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17511),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR16ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17540),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR16rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(17569),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR16rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(18183),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(17628),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt, 0, 2, GIMT_Encode8(-2147483648),
GIR_BuildRootMI, GIMT_Encode2(X86::ADD32ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddImm, 0, GIMT_Encode8(-2147483648),
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17686),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCMSK32rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17795),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTC32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17849),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s32,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCMSK32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17958),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s32,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTC32rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(17990),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT32r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18022),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT32r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18066),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR32ri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18110),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR32ri_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18146),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR32rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(18182),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR32rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(18755),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(18250),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSameOperand, 0, 2, 1, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCMSK64rr),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18359),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTC64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18413),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_ADD),
GIM_CheckType, 1, 2, GILLT_s64,
GIM_CheckIsSameOperand, 1, 1, 0, 1,
GIM_CheckConstantInt8, 1, 2, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::BLCMSK64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18522),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_SHL),
GIM_CheckType, 1, 1, GILLT_s64,
GIM_CheckType, 1, 2, GILLT_s8,
GIM_CheckConstantInt8, 1, 1, 1,
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_s64,
GIR_MakeTempReg, 1, GILLT_s64,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 1, 2,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::BTC64rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_AddSimpleTempRegister, 0, 0,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18554),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT64r),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18586),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_CheckConstantInt8, 0, 2, uint8_t(-1),
GIR_BuildRootMI, GIMT_Encode2(X86::NOT64r_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18634),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR64ri32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18682),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
GIM_CheckI64ImmPredicate, 1, GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::XOR64ri32_ND),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_CopyConstantAsSImm, 0, 1,
GIR_SetImplicitDefDead, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(18718),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR64rr),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(18754),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::XOR64rr_ND),
GIR_AddImplicitDef, 0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(RegState::Dead),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(19270),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK2RegClassID),
GIM_Try, GIMT_Encode4(18885),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v2s1,
GIM_CheckType, 1, 2, GILLT_v2s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK2RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19000),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v2s1,
GIM_CheckType, 1, 2, GILLT_v2s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 1, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19114),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v2s1,
GIM_CheckType, 1, 2, GILLT_v2s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19186),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KNOTWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19269),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK2RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK2RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK2RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(19642),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(19514),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 9,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 9,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 9,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19560),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ128rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19587),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(19614),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(19641),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(20157),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK4RegClassID),
GIM_Try, GIMT_Encode4(19772),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s1,
GIM_CheckType, 1, 2, GILLT_v4s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK4RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(19887),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s1,
GIM_CheckType, 1, 2, GILLT_v4s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 1, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20001),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v4s1,
GIM_CheckType, 1, 2, GILLT_v4s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20073),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KNOTWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20156),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK4RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK4RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK4RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(20529),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(20401),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 9,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 9,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 9,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20447),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ128rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20474),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORDZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(20501),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(20528),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(20901),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(20773),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 10,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 10,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 10,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20819),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ256rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(20846),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(20873),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(20900),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VXORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(21672),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK8RegClassID),
GIM_Try, GIMT_Encode4(20977),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORBkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21094),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21157),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORBkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21275),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 1, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21335),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORBkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21452),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v8s1,
GIM_CheckType, 1, 2, GILLT_v8s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 1,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 1, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXNORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21487),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::KNOTBkk),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21562),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KNOTWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21585),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KXORBkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(21671),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIR_MakeTempReg, 0, GILLT_v16s1,
GIR_MakeTempReg, 1, GILLT_v16s1,
GIR_MakeTempReg, 2, GILLT_v16s1,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_Copy, 3, 0, 2,
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::KXORWkk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(22044),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(21916),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 9,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 9,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 9,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21962),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ128rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(21989),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(22016),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(22043),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(22416),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(22288),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 10,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 10,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 10,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22334),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ256rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22361),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORDZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(22388),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(22415),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VXORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(22494),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_Try, GIMT_Encode4(22474),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22493),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(22752),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK16RegClassID),
GIM_Try, GIMT_Encode4(22570),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v16s1,
GIM_CheckType, 1, 2, GILLT_v16s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK16RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORWkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22633),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v16s1,
GIM_CheckType, 1, 2, GILLT_v16s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORWkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22693),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v16s1,
GIM_CheckType, 1, 2, GILLT_v16s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORWkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22728),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::KNOTWkk),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(22751),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK16RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KXORWkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(23124),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(22996),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 9,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 9,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 9,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23042),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ128rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23069),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(23096),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::PXORrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(23123),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZ128rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(23496),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(23368),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 10,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 10,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 10,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23414),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ256rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23441),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(23468),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VXORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(23495),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(23574),
GIM_RootCheckType, 1, GILLT_v16s32,
GIM_RootCheckType, 2, GILLT_v16s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_Try, GIMT_Encode4(23554),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23573),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORDZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(23832),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckType, 2, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_Try, GIMT_Encode4(23650),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v32s1,
GIM_CheckType, 1, 2, GILLT_v32s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK32RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORDkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23713),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v32s1,
GIM_CheckType, 1, 2, GILLT_v32s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORDkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23773),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v32s1,
GIM_CheckType, 1, 2, GILLT_v32s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORDkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23808),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::KNOTDkk),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(23831),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KXORDkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(24204),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(24076),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEVEX512_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_MakeTempReg, 0, GILLT_v64s8,
GIR_MakeTempReg, 1, GILLT_v8s64,
GIR_MakeTempReg, 2, GILLT_v8s64,
GIR_MakeTempReg, 3, GILLT_v8s64,
GIR_MakeTempReg, 4, GILLT_v8s64,
GIR_MakeTempReg, 5, GILLT_v8s64,
GIR_MakeTempReg, 6, GILLT_v8s64,
GIR_BuildMI, 7, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 7, 6, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 7,
GIR_BuildMI, 6, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 6, 5, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 6, 6,
GIR_Copy, 6, 0, 1,
GIR_AddImm8, 6, 10,
GIR_ConstrainOperandRC, 6, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 6, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 5, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 5, 4, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 5,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 4, 4,
GIR_Copy, 4, 0, 1,
GIR_AddImm8, 4, 10,
GIR_ConstrainOperandRC, 4, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 4, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 10,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 3,
GIR_AddSimpleTempRegister, 1, 5,
GIR_AddImm8, 1, 15,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24122),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZ256rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24149),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(24176),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VXORPSYrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(24203),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZ256rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(24282),
GIM_RootCheckType, 1, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_Try, GIMT_Encode4(24262),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24281),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(24540),
GIM_RootCheckType, 1, GILLT_v64s1,
GIM_RootCheckType, 2, GILLT_v64s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_Try, GIMT_Encode4(24358),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v64s1,
GIM_CheckType, 1, 2, GILLT_v64s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK64RegClassID),
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORQkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24421),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RecordInsn, 1, 0, 1,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v64s1,
GIM_CheckType, 1, 2, GILLT_v64s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_CheckRegBankForClass, 1, 2, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 2, 0, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORQkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_Copy, 0, 1, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24481),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcode, 1, GIMT_Encode2(TargetOpcode::G_XOR),
GIM_CheckType, 1, 1, GILLT_v64s1,
GIM_CheckType, 1, 2, GILLT_v64s1,
GIM_CheckRegBankForClass, 1, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 2, 1, 2,
GIM_CheckOpcodeIsEither, 2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 2,
GIM_CheckIsSafeToFold, 2,
GIR_BuildRootMI, GIMT_Encode2(X86::KXNORQkk),
GIR_RootToRootCopy, 0,
GIR_Copy, 0, 1, 1,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24516),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::KNOTQkk),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24539),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KXORQkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(24618),
GIM_RootCheckType, 1, GILLT_v64s8,
GIM_RootCheckType, 2, GILLT_v64s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIM_Try, GIMT_Encode4(24598),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RecordInsn, 1, 0, 2,
GIM_CheckOpcodeIsEither, 1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
GIM_CheckIsBuildVectorAllOnes, 1,
GIM_CheckIsSafeToFold, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VPTERNLOGQZrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_RootToRootCopy, 1,
GIR_AddImm8, 0, 15,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(24617),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VPXORQZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(24786),
GIM_CheckNumOperands, 0, 3,
GIM_SwitchType, 0, 0, GIMT_Encode2(16), GIMT_Encode2(24), GIMT_Encode4(24785),
GIMT_Encode4(24671), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24709), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24747),
GIM_Try, GIMT_Encode4(24708),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::KUNPCKBWkk),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(24746),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK16RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::KUNPCKWDkk),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(24784),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckType, 2, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VK32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::KUNPCKDQkk),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 1,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(24), GIMT_Encode4(26525),
GIMT_Encode4(24890),
GIMT_Encode4(24948),
GIMT_Encode4(25763),
GIMT_Encode4(25991), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26219), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26301), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26383), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26454),
GIM_Try, GIMT_Encode4(24947),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK8RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR8RegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(25005),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK16RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25106),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_MakeTempReg, 0, GILLT_s128,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 3,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 2, 2,
GIR_Copy, 2, 0, 1,
GIR_AddImm8, 2, 4,
GIR_ConstrainOperandRC, 2, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 2, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 2, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildMI, 1, GIMT_Encode2(X86::VMOVW2SHrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25183),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR16XRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s128,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::VMOVSH2Wrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25259),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::VPEXTRWrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 0,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25376),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR16RegClassID),
GIR_MakeTempReg, 0, GILLT_s128,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_MakeTempReg, 3, GILLT_s32,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 3, 3,
GIR_Copy, 3, 0, 1,
GIR_AddImm8, 3, 4,
GIR_ConstrainOperandRC, 3, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 3, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 3, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::VPINSRWrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 0,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25452),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::PEXTRWrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 0,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25569),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR16RegClassID),
GIR_MakeTempReg, 0, GILLT_s128,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_MakeTempReg, 3, GILLT_s32,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 3, 3,
GIR_Copy, 3, 0, 1,
GIR_AddImm8, 3, 4,
GIR_ConstrainOperandRC, 3, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 3, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 3, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::PINSRWrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 0,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25645),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_Copy, 2, 0, 1,
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::VPEXTRWZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddImm8, 1, 0,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddTempSubRegister, 0, 0, GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR16RegClassID),
GIR_ConstrainOperandRC, 0, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(25762),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_MakeTempReg, 0, GILLT_s128,
GIR_MakeTempReg, 1, GILLT_v8s16,
GIR_MakeTempReg, 2, GILLT_s32,
GIR_MakeTempReg, 3, GILLT_s32,
GIR_BuildMI, 4, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 4, 3, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 4,
GIR_BuildMI, 3, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 3, 2, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 3, 3,
GIR_Copy, 3, 0, 1,
GIR_AddImm8, 3, 4,
GIR_ConstrainOperandRC, 3, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 3, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 3, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(X86::VPINSRWZrri),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_AddSimpleTempRegister, 1, 2,
GIR_AddImm8, 1, 0,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::FR16XRegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(25789),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOVDI2SSrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(25815),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::MOVDI2SSrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(25841),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOVSS2DIrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(25867),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::MOVSS2DIrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(25893),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR32XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOVDI2SSZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(25919),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOVSS2DIZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(25946),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR32RegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(25990),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR32XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK32RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(X86::KMOVDrk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VMOVDI2SSZrr),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(26017),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOV64toSDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26043),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::MOV64toSDrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26069),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOVSDto64rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26095),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::MOVSDto64rr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26121),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR64XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOV64toSDZrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26147),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VMOVSDto64Zrr),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26174),
GIM_RootCheckType, 1, GILLT_v64s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::GR64RegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(26218),
GIM_RootCheckType, 1, GILLT_v64s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::FR64XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VK64RegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(X86::KMOVQrk),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::VMOV64toSDZrr),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(26300),
GIM_RootCheckType, 1, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK8RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR8RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 0, 1,
GIR_AddImm8, 1, 1,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK8RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(26382),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK16RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR16RegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_MakeTempReg, 1, GILLT_s32,
GIR_BuildMI, 2, GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
GIR_AddTempRegister, 2, 1, GIMT_Encode2(RegState::Define),
GIR_ConstrainSelectedInstOperands, 2,
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_AddSimpleTempRegister, 1, 1,
GIR_Copy, 1, 0, 1,
GIR_AddImm8, 1, 4,
GIR_ConstrainOperandRC, 1, 0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 1, 1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
GIR_ConstrainOperandRC, 1, 2, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildRootMI, GIMT_Encode2(TargetOpcode::COPY),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK16RegClassID),
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(26453),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_Try, GIMT_Encode4(26415),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK32RegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(26452),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32XRegClassID),
GIR_MakeTempReg, 0, GILLT_s32,
GIR_BuildMI, 1, GIMT_Encode2(X86::VMOVSS2DIZrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::KMOVDkr),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(26524),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_Try, GIMT_Encode4(26486),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::GR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(TargetOpcode::COPY),
GIR_ConstrainOperandRC, 0, 0, GIMT_Encode2(X86::VK64RegClassID),
GIR_Done,
GIM_Try, GIMT_Encode4(26523),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64XRegClassID),
GIR_MakeTempReg, 0, GILLT_s64,
GIR_BuildMI, 1, GIMT_Encode2(X86::VMOVSDto64Zrr),
GIR_AddTempRegister, 1, 0, GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 1,
GIR_ConstrainSelectedInstOperands, 1,
GIR_BuildRootMI, GIMT_Encode2(X86::KMOVQkr),
GIR_RootToRootCopy, 0,
GIR_AddSimpleTempRegister, 0, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(3), GIMT_Encode2(20), GIMT_Encode4(27387),
GIMT_Encode4(26605),
GIMT_Encode4(26786), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26967), GIMT_Encode4(0),
GIMT_Encode4(26998),
GIMT_Encode4(27149), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27210),
GIMT_Encode4(27298), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27359),
GIM_Try, GIMT_Encode4(26635),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSS2SIrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26665),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSD2SIrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26695),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::CVTSS2SIrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26725),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::CVTSD2SIrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26755),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSS2SIZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26785),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSD2SIZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(26816),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSS2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26846),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSD2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26876),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::CVTSS2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26906),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::CVTSD2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26936),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSS2SI64Zrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(26966),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSD2SI64Zrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(26997),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2QQZ128rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27028),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2DQrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27058),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2DQYrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27088),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::CVTPS2DQrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27118),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2DQZ128rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27148),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2DQZ256rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27179),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2QQZ256rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27209),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2QQZ256rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27240),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2DQYrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27270),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2DQZ256rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27297),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2DQZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27328),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2QQZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27358),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2QQZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27386),
GIM_RootCheckType, 1, GILLT_v16s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2DQZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_SwitchType, 0, 0, GIMT_Encode2(4), GIMT_Encode2(16), GIMT_Encode4(27781),
GIMT_Encode4(27447), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27628), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27659), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27720),
GIM_Try, GIMT_Encode4(27477),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSS2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27507),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSD2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27537),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::CVTSS2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27567),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::CVTSD2SI64rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27597),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR32XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSS2SI64Zrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27627),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::FR64XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTSD2SI64Zrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27658),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2QQZ128rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27689),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR128XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2QQZ256rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27719),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2QQZ256rr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(27750),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR256XRegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPS2QQZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(27780),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIM_RootCheckType, 1, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 1, GIMT_Encode2(X86::VR512RegClassID),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::VCVTPD2QQZrr),
GIR_AddImplicitUse, 0, GIMT_Encode2(X86::MXCSR),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Reject,
GIM_Reject,
GIM_Try, GIMT_Encode4(28915),
GIM_CheckNumOperands, 0, 3,
GIM_Try, GIMT_Encode4(27826),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHSUBWDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27862),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHSUBDQrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27898),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHSUBBWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27934),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDWQrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(27970),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDWDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28006),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDUWQrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28042),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDUWDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28078),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDUDQrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28114),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDUBWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28150),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDUBQrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28186),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDUBDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28222),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDDQrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28258),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDBWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28294),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDBQrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28330),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDBDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28366),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ss),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VFRCZSSrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28402),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VFRCZPSrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28438),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
GIM_RootCheckType, 0, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VFRCZPSYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28474),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_sd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VFRCZSDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28510),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VFRCZPDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28546),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VFRCZPDYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28582),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESIMCrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28618),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::AESIMCrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28654),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vcvtneps2bf16128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VCVTNEPS2BF16rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28690),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vcvtneps2bf16256),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VCVTNEPS2BF16Yrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28728),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::RSQRTSSr_Int),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28766),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VRSQRTSSr_Int),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28804),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::RCPSSr_Int),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28842),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VRCPSSr_Int),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28878),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBF16_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vcvtneps2bf16128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VCVTNEPS2BF16Z128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(28914),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBF16_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vcvtneps2bf16256),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VCVTNEPS2BF16Z256rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(31976),
GIM_CheckNumOperands, 0, 4,
GIM_Try, GIMT_Encode4(28964),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(X86::VAESKEYGENASSIST128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29005),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 3,
GIR_BuildRootMI, GIMT_Encode2(X86::AESKEYGENASSIST128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29050),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPSIGNBrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29095),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPSIGNWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29140),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPSIGNDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29185),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_phadd_sw_128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDSWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29230),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_phsub_sw_128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHSUBSWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29275),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
GIM_RootCheckType, 0, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_RootCheckType, 3, GILLT_v32s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPSIGNBYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29320),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
GIM_RootCheckType, 0, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_RootCheckType, 3, GILLT_v16s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPSIGNWYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29365),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
GIM_RootCheckType, 0, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_RootCheckType, 3, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPSIGNDYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29410),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx2_phadd_sw),
GIM_RootCheckType, 0, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_RootCheckType, 3, GILLT_v16s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHADDSWYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29455),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx2_phsub_sw),
GIM_RootCheckType, 0, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_RootCheckType, 3, GILLT_v16s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPHSUBSWYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29500),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
GIM_RootCheckType, 0, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::PSIGNBrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29545),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::PSIGNWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29590),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::PSIGNDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29635),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_phadd_sw_128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::PHADDSWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29680),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_ssse3_phsub_sw_128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::PHSUBSWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29725),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r32r8),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29770),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r32r16),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29815),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r32r32),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29860),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR64RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r64r64),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29905),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR8RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r32r8_EVEX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29950),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR16RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r32r16_EVEX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(29995),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
GIM_RootCheckType, 0, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckType, 3, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR32RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR32RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r32r32_EVEX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30040),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
GIM_RootCheckType, 0, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckType, 3, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::GR64RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::GR64RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::CRC32r64r64_EVEX),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30085),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sha1nexte),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::SHA1NEXTErr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30130),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sha1msg1),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::SHA1MSG1rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30175),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sha1msg2),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::SHA1MSG2rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30220),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sha256msg1),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::SHA256MSG1rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30265),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sha256msg2),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::SHA256MSG2rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30310),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30355),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCLASTrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30400),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30445),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECLASTrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30490),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30535),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCLASTYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30580),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30625),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECLASTYrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30670),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::AESENCrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30715),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::AESENCLASTrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30760),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::AESDECrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30805),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::AESDECLASTrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30850),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse4a_extrq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v16s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::EXTRQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30895),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse4a_insertq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::INSERTQ),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30940),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsha512msg1),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSHA512MSG1rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(30985),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsha512msg2),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSHA512MSG2rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31030),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSM4KEY4rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31075),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
GIM_RootCheckType, 0, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_RootCheckType, 3, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSM4KEY4Yrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31120),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSM4RNDS4rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31165),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
GIM_RootCheckType, 0, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_RootCheckType, 3, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSM4RNDS4Yrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31210),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCZ128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31255),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCZ256rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31300),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
GIM_RootCheckType, 0, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckType, 3, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR512RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCZrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31345),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCLASTZ128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31390),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCLASTZ256rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31435),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
GIM_RootCheckType, 0, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckType, 3, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR512RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESENCLASTZrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31480),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECZ128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31525),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECZ256rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31570),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
GIM_RootCheckType, 0, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckType, 3, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR512RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECZrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31615),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECLASTZ128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31660),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECLASTZ256rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31705),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
GIM_RootCheckType, 0, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckType, 3, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR512RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VAESDECLASTZrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31750),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx10_vminpbf16512),
GIM_RootCheckType, 0, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckType, 3, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR512RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VMINPBF16Zrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31795),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx10_vminpbf16128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VMINPBF16Z128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31840),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx10_vminpbf16256),
GIM_RootCheckType, 0, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_RootCheckType, 3, GILLT_v16s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VMINPBF16Z256rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31885),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_512),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx10_vmaxpbf16512),
GIM_RootCheckType, 0, GILLT_v32s16,
GIM_RootCheckType, 2, GILLT_v32s16,
GIM_RootCheckType, 3, GILLT_v32s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR512RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VMAXPBF16Zrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31930),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx10_vmaxpbf16128),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VMAXPBF16Z128rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(31975),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx10_vmaxpbf16256),
GIM_RootCheckType, 0, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_RootCheckType, 3, GILLT_v16s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256XRegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VMAXPBF16Z256rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(33461),
GIM_CheckNumOperands, 0, 5,
GIM_Try, GIMT_Encode4(32034),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoAVX10_2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VDPPSrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32084),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoAVX10_2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VDPPDrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32134),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoAVX10_2),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
GIM_RootCheckType, 0, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_RootCheckType, 3, GILLT_v8s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VDPPSYrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32184),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::DPPSrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32234),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::DPPDrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32284),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sha1rnds4),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::SHA1RNDS4rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32334),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPCLMUL_NoAVX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::PCLMULQDQrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32384),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_HasPCLMUL_NoVLX_Or_NoVPCLMULQDQ),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VPCLMULQDQrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32434),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPCLMULQDQ_NoVLX),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VPCLMULQDQYrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32484),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVPCLMULQDQ),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_512),
GIM_RootCheckType, 0, GILLT_v8s64,
GIM_RootCheckType, 2, GILLT_v8s64,
GIM_RootCheckType, 3, GILLT_v8s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR512RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR512RegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VPCLMULQDQZrri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32534),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPCLMULQDQ),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_pclmulqdq),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_RootCheckType, 3, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128XRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VPCLMULQDQZ128rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32584),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPCLMULQDQ),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_pclmulqdq_256),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256XRegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256XRegClassID),
GIM_CheckIsImm, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::VPCLMULQDQZ256rri),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32638),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMADCSWDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32692),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMADCSSWDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32746),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSWWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32800),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSWDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32854),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
GIM_RootCheckType, 0, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v8s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSSWWrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32908),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_RootCheckType, 3, GILLT_v8s16,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSSWDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(32962),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSSDQLrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33016),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSSDQHrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33070),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSSDDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33124),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSDQLrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33178),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
GIM_RootCheckType, 0, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSDQHrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33232),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VPMACSDDrr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33298),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_sha256rnds2),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildMI, 1, GIMT_Encode2(TargetOpcode::COPY),
GIR_AddRegister, 1, GIMT_Encode2(X86::XMM0), GIMT_Encode2(RegState::Define),
GIR_Copy, 1, 0, 4,
GIR_BuildRootMI, GIMT_Encode2(X86::SHA256RNDS2rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33352),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsha512rnds2),
GIM_RootCheckType, 0, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_RootCheckType, 3, GILLT_v4s64,
GIM_RootCheckType, 4, GILLT_v2s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR256RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSHA512RNDS2rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33406),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSM3MSG1rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33460),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIR_BuildRootMI, GIMT_Encode2(X86::VSM3MSG2rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(33523),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
GIM_CheckNumOperands, 0, 6,
GIM_CheckIntrinsicID, 0, 1, GIMT_Encode2(Intrinsic::x86_vsm3rnds2),
GIM_RootCheckType, 0, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_RootCheckType, 3, GILLT_v4s32,
GIM_RootCheckType, 4, GILLT_v4s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 2, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 3, GIMT_Encode2(X86::VR128RegClassID),
GIM_RootCheckRegBankForClass, 4, GIMT_Encode2(X86::VR128RegClassID),
GIM_CheckIsImm, 0, 5,
GIR_BuildRootMI, GIMT_Encode2(X86::VSM3RNDS2rr),
GIR_RootToRootCopy, 0,
GIR_RootToRootCopy, 2,
GIR_RootToRootCopy, 3,
GIR_RootToRootCopy, 4,
GIR_RootToRootCopy, 5,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Reject,
GIM_Try, GIMT_Encode4(34077),
GIM_CheckNumOperands, 0, 1,
GIM_Try, GIMT_Encode4(33554),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSERIALIZE),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::x86_serialize),
GIR_BuildRootMI, GIMT_Encode2(X86::SERIALIZE),
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33576),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::x86_xsusldtrk),
GIR_BuildRootMI, GIMT_Encode2(X86::XSUSLDTRK),
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33598),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::x86_xresldtrk),
GIR_BuildRootMI, GIMT_Encode2(X86::XRESLDTRK),
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33620),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::x86_clui),
GIR_BuildRootMI, GIMT_Encode2(X86::CLUI),
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
GIR_EraseRootFromParent_Done,
GIM_Try, GIMT_Encode4(33642),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
GIM_CheckIntrinsicID, 0, 0, GIMT_Encode2(Intrinsic::x86_stui),
GIR_BuildRootMI, GIMT_Encode2(X86::STUI),
GIR_MergeMemOperands, 0, 1, 0,
GIR_RootConstrainSelectedInstOperands,
#undef GIMT_Encode2#undef GIMT_Encode4#undef GIMT_Encode8#endif #ifdef GET_GLOBALISEL_PREDICATES_DECL#endif #ifdef GET_GLOBALISEL_PREDICATES_INIT#endif