#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(282), GIMT_Encode4(86320),
GIMT_Encode4(926),
GIMT_Encode4(3284),
GIMT_Encode4(4876), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6113),
GIMT_Encode4(11909),
GIMT_Encode4(16277), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24616), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24783), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26522),
GIMT_Encode4(27384), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27778),
GIMT_Encode4(33520), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(36280),
GIMT_Encode4(36715),
GIMT_Encode4(37719),
GIMT_Encode4(38329), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(38782), GIMT_Encode4(0),
GIMT_Encode4(39805),
GIMT_Encode4(40723),
GIMT_Encode4(41911),
GIMT_Encode4(42891),
GIMT_Encode4(43871),
GIMT_Encode4(44247),
GIMT_Encode4(44623),
GIMT_Encode4(46629),
GIMT_Encode4(48637), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(50294), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(58194),
GIMT_Encode4(58441),
GIMT_Encode4(58688),
GIMT_Encode4(59138),
GIMT_Encode4(59588),
GIMT_Encode4(60038), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(60488),
GIMT_Encode4(61567),
GIMT_Encode4(62646),
GIMT_Encode4(63725), GIMT_Encode4(0),
GIMT_Encode4(64934), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(66013),
GIMT_Encode4(66136),
GIMT_Encode4(66706),
GIMT_Encode4(67033),
GIMT_Encode4(67530),
GIMT_Encode4(67732),
GIMT_Encode4(68994), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(69844), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(69967),
GIMT_Encode4(71076),
GIMT_Encode4(72185),
GIMT_Encode4(73294),
GIMT_Encode4(74403), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(75276), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(75292), GIMT_Encode4(0),
GIMT_Encode4(76680),
GIMT_Encode4(76794), GIMT_Encode4(0),
GIMT_Encode4(77468),
GIMT_Encode4(78776), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(78952), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(79967),
GIMT_Encode4(80983),
GIMT_Encode4(81999),
GIMT_Encode4(83015), GIMT_Encode4(0),
GIMT_Encode4(84031),
GIMT_Encode4(85240), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(86255),
GIMT_Encode4(86268),
GIMT_Encode4(86304),
GIM_SwitchType, 0, 0, GIMT_Encode2(1), GIMT_Encode2(25), GIMT_Encode4(3283),
GIMT_Encode4(1033),
GIMT_Encode4(1266),
GIMT_Encode4(1567),
GIMT_Encode4(1868), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(2259), GIMT_Encode4(0),
GIMT_Encode4(2353),
GIMT_Encode4(2569), GIMT_Encode4(0),
GIMT_Encode4(2636),
GIMT_Encode4(2852),
GIMT_Encode4(2919), GIMT_Encode4(0),
GIMT_Encode4(2953),
GIMT_Encode4(3047),
GIMT_Encode4(3114), GIMT_Encode4(0),
GIMT_Encode4(3148),
GIMT_Encode4(3215), GIMT_Encode4(0),
GIMT_Encode4(3249),
GIM_Try, GIMT_Encode4(1265),
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(1076),
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(1100),
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(1124),
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(1148),
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(1181),
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(1214),
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(1239),
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(1264),
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(1566),
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(1319),
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(1353),
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(1377),
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(1401),
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(1425),
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(1449),
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(1482),
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(1515),
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(1540),
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(1565),
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(1867),
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(1620),
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(1654),
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(1678),
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(1702),
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(1726),
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(1750),
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(1783),
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(1816),
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(1841),
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(1866),
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(2258),
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(1921),
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(1955),
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(1996),
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(2037),
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(2061),
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(2085),
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(2109),
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(2133),
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(2170),
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(2207),
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(2232),
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(2257),
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(2352),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(2297),
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(2324),
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(2351),
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(2568),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(2425),
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(2486),
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(2513),
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(2540),
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(2567),
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(2635),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(2607),
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(2634),
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(2851),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(2708),
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(2769),
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(2796),
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(2823),
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(2850),
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(2918),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(2890),
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(2917),
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(2952),
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(3046),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(2991),
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(3018),
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(3045),
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(3113),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(3085),
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(3112),
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(3147),
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(3214),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(3186),
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(3213),
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(3248),
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(3282),
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(4875),
GIMT_Encode4(3391),
GIMT_Encode4(3565),
GIMT_Encode4(3739),
GIMT_Encode4(3913), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(4095), GIMT_Encode4(0),
GIMT_Encode4(4189),
GIMT_Encode4(4283), GIMT_Encode4(0),
GIMT_Encode4(4350),
GIMT_Encode4(4444),
GIMT_Encode4(4511), GIMT_Encode4(0),
GIMT_Encode4(4545),
GIMT_Encode4(4639),
GIMT_Encode4(4706), GIMT_Encode4(0),
GIMT_Encode4(4740),
GIMT_Encode4(4807), GIMT_Encode4(0),
GIMT_Encode4(4841),
GIM_Try, GIMT_Encode4(3564),
GIM_RootCheckType, 1, GILLT_s8,
GIM_RootCheckType, 2, GILLT_s8,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR8RegClassID),
GIM_Try, GIMT_Encode4(3431),
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(3468),
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(3505),
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(3534),
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(3563),
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(3738),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(3605),
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(3642),
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(3679),
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(3708),
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(3737),
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(3912),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckType, 2, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR32RegClassID),
GIM_Try, GIMT_Encode4(3779),
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(3816),
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(3853),
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(3882),
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(3911),
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(4094),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckType, 2, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR64RegClassID),
GIM_Try, GIMT_Encode4(3953),
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(3994),
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(4035),
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(4064),
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(4093),
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(4188),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(4133),
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(4160),
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(4187),
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(4282),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(4227),
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(4254),
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(4281),
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(4349),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(4321),
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(4348),
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(4443),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(4388),
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(4415),
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(4442),
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(4510),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(4482),
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(4509),
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(4544),
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(4638),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(4583),
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(4610),
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(4637),
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(4705),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(4677),
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(4704),
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(4739),
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(4806),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(4778),
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(4805),
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(4840),
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(4874),
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(6112),
GIMT_Encode4(4971),
GIMT_Encode4(5072),
GIMT_Encode4(5173), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(5278), GIMT_Encode4(0),
GIMT_Encode4(5483),
GIMT_Encode4(5577), GIMT_Encode4(0),
GIMT_Encode4(5782),
GIMT_Encode4(5876),
GIMT_Encode4(5943), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(5977),
GIMT_Encode4(6044), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(6078),
GIM_Try, GIMT_Encode4(5071),
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(5020),
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(5045),
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(5070),
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(5172),
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(5121),
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(5146),
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(5171),
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(5277),
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(5226),
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(5251),
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(5276),
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(5482),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(5316),
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(5481),
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(5576),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(5521),
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(5548),
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(5575),
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(5781),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(5615),
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(5780),
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(5875),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(5820),
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(5847),
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(5874),
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(5942),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(5914),
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(5941),
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(5976),
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(6043),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(6015),
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(6042),
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(6077),
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(6111),
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(11908),
GIMT_Encode4(6224),
GIMT_Encode4(6552),
GIMT_Encode4(6689),
GIMT_Encode4(7154),
GIMT_Encode4(8340), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(9404),
GIMT_Encode4(9732),
GIMT_Encode4(9826),
GIMT_Encode4(10154),
GIMT_Encode4(10248),
GIMT_Encode4(10342),
GIMT_Encode4(10822),
GIMT_Encode4(10916),
GIMT_Encode4(11010),
GIMT_Encode4(11044),
GIMT_Encode4(11204),
GIMT_Encode4(11298),
GIMT_Encode4(11392),
GIMT_Encode4(11426),
GIMT_Encode4(11586),
GIMT_Encode4(11680),
GIMT_Encode4(11714),
GIMT_Encode4(11874),
GIM_Try, GIMT_Encode4(6551),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK1RegClassID),
GIM_Try, GIMT_Encode4(6353),
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(6467),
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(6550),
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(6688),
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(6604),
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(6637),
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(6662),
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(6687),
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(7153),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_Try, GIMT_Encode4(6806),
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(6912),
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(7004),
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(7045),
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(7086),
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(7119),
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(7152),
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(8339),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(7239),
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(7316),
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(7393),
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(7470),
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(7528),
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(7637),
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(7691),
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(7800),
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(7865),
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(7930),
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(7974),
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(8018),
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(8080),
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(8142),
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(8204),
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(8266),
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(8302),
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(8338),
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(9403),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(8425),
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(8502),
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(8579),
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(8656),
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(8714),
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(8823),
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(8877),
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(8986),
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(9034),
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(9082),
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(9144),
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(9206),
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(9268),
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(9330),
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(9366),
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(9402),
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(9731),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK2RegClassID),
GIM_Try, GIMT_Encode4(9533),
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(9647),
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(9730),
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(9825),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(9770),
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(9797),
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(9824),
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(10153),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK4RegClassID),
GIM_Try, GIMT_Encode4(9955),
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(10069),
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(10152),
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(10247),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(10192),
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(10219),
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(10246),
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(10341),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(10286),
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(10313),
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(10340),
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(10821),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK8RegClassID),
GIM_Try, GIMT_Encode4(10417),
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(10534),
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(10594),
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(10711),
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(10734),
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(10820),
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(10915),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(10860),
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(10887),
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(10914),
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(11009),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(10954),
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(10981),
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(11008),
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(11043),
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(11203),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK16RegClassID),
GIM_Try, GIMT_Encode4(11119),
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(11179),
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(11202),
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(11297),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(11242),
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(11269),
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(11296),
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(11391),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(11336),
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(11363),
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(11390),
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(11425),
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(11585),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckType, 2, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_Try, GIMT_Encode4(11501),
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(11561),
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(11584),
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(11679),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(11624),
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(11651),
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(11678),
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(11713),
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(11873),
GIM_RootCheckType, 1, GILLT_v64s1,
GIM_RootCheckType, 2, GILLT_v64s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_Try, GIMT_Encode4(11789),
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(11849),
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(11872),
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(11907),
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(16276),
GIMT_Encode4(12020),
GIMT_Encode4(12114),
GIMT_Encode4(12251),
GIMT_Encode4(12604),
GIMT_Encode4(13788), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(14980),
GIMT_Encode4(15074),
GIMT_Encode4(15168),
GIMT_Encode4(15262),
GIMT_Encode4(15356),
GIMT_Encode4(15450),
GIMT_Encode4(15568),
GIMT_Encode4(15662),
GIMT_Encode4(15756),
GIMT_Encode4(15790),
GIMT_Encode4(15824),
GIMT_Encode4(15918),
GIMT_Encode4(16012),
GIMT_Encode4(16046),
GIMT_Encode4(16080),
GIMT_Encode4(16174),
GIMT_Encode4(16208),
GIMT_Encode4(16242),
GIM_Try, GIMT_Encode4(12113),
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(12250),
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(12166),
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(12199),
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(12224),
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(12249),
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(12603),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(12368),
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(12470),
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(12507),
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(12544),
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(12573),
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(12602),
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(13787),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(12689),
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(12766),
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(12844),
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(12921),
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(12998),
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(13072),
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(13130),
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(13188),
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(13297),
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(13355),
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(13409),
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(13463),
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(13572),
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(13626),
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(13670),
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(13714),
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(13750),
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(13786),
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(14979),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(13873),
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(13950),
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(14028),
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(14105),
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(14182),
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(14256),
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(14314),
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(14372),
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(14481),
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(14539),
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(14593),
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(14647),
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(14756),
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(14810),
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(14858),
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(14906),
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(14942),
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(14978),
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(15073),
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(15167),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(15112),
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(15139),
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(15166),
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(15261),
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(15355),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(15300),
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(15327),
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(15354),
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(15449),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(15394),
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(15421),
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(15448),
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(15567),
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(15488),
GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
GIR_MutateOpcode, 0, 0, GIMT_Encode2(X86::KORBkk),
GIR_RootConstrainSelectedInstOperands,
GIR_Done,
GIM_Try, GIMT_Encode4(15566),
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(15661),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(15606),
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(15633),
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(15660),
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(15755),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(15700),
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(15727),
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(15754),
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(15789),
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(15823),
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(15917),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(15862),
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(15889),
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(15916),
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(16011),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(15956),
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(15983),
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(16010),
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(16045),
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(16079),
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(16173),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(16118),
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(16145),
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(16172),
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(16207),
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(16241),
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(16275),
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(24615),
GIMT_Encode4(16388),
GIMT_Encode4(16919),
GIMT_Encode4(17122),
GIMT_Encode4(17567),
GIMT_Encode4(18180), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(18752),
GIMT_Encode4(19267),
GIMT_Encode4(19639),
GIMT_Encode4(20154),
GIMT_Encode4(20526),
GIMT_Encode4(20898),
GIMT_Encode4(21669),
GIMT_Encode4(22041),
GIMT_Encode4(22413),
GIMT_Encode4(22491),
GIMT_Encode4(22749),
GIMT_Encode4(23121),
GIMT_Encode4(23493),
GIMT_Encode4(23571),
GIMT_Encode4(23829),
GIMT_Encode4(24201),
GIMT_Encode4(24279),
GIMT_Encode4(24537),
GIM_Try, GIMT_Encode4(16918),
GIM_RootCheckType, 1, GILLT_s1,
GIM_RootCheckType, 2, GILLT_s1,
GIM_Try, GIMT_Encode4(16517),
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(16636),
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(16754),
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(16830),
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(16917),
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(17121),
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(16962),
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(16983),
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(17004),
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(17037),
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(17070),
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(17095),
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(17120),
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(17566),
GIM_RootCheckType, 1, GILLT_s16,
GIM_RootCheckType, 2, GILLT_s16,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::GR16RegClassID),
GIM_Try, GIMT_Encode4(17179),
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(17281),
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(17383),
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(17408),
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(17433),
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(17470),
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(17507),
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(17536),
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(17565),
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(18179),
GIM_RootCheckType, 1, GILLT_s32,
GIM_Try, GIMT_Encode4(17624),
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(17682),
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(17791),
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(17845),
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(17954),
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(17986),
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(18018),
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(18062),
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(18106),
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(18142),
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(18178),
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(18751),
GIM_RootCheckType, 1, GILLT_s64,
GIM_Try, GIMT_Encode4(18246),
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(18355),
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(18409),
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(18518),
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(18550),
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(18582),
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(18630),
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(18678),
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(18714),
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(18750),
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(19266),
GIM_RootCheckType, 1, GILLT_v2s1,
GIM_RootCheckType, 2, GILLT_v2s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK2RegClassID),
GIM_Try, GIMT_Encode4(18881),
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(18996),
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(19110),
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(19182),
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(19265),
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(19638),
GIM_RootCheckType, 1, GILLT_v2s64,
GIM_RootCheckType, 2, GILLT_v2s64,
GIM_Try, GIMT_Encode4(19510),
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(19556),
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(19583),
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(19610),
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(19637),
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(20153),
GIM_RootCheckType, 1, GILLT_v4s1,
GIM_RootCheckType, 2, GILLT_v4s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK4RegClassID),
GIM_Try, GIMT_Encode4(19768),
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(19883),
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(19997),
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(20069),
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(20152),
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(20525),
GIM_RootCheckType, 1, GILLT_v4s32,
GIM_RootCheckType, 2, GILLT_v4s32,
GIM_Try, GIMT_Encode4(20397),
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(20443),
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(20470),
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(20497),
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(20524),
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(20897),
GIM_RootCheckType, 1, GILLT_v4s64,
GIM_RootCheckType, 2, GILLT_v4s64,
GIM_Try, GIMT_Encode4(20769),
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(20815),
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(20842),
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(20869),
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(20896),
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(21668),
GIM_RootCheckType, 1, GILLT_v8s1,
GIM_RootCheckType, 2, GILLT_v8s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK8RegClassID),
GIM_Try, GIMT_Encode4(20973),
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(21090),
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(21153),
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(21271),
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(21331),
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(21448),
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(21483),
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(21558),
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(21581),
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(21667),
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(22040),
GIM_RootCheckType, 1, GILLT_v8s16,
GIM_RootCheckType, 2, GILLT_v8s16,
GIM_Try, GIMT_Encode4(21912),
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(21958),
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(21985),
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(22012),
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(22039),
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(22412),
GIM_RootCheckType, 1, GILLT_v8s32,
GIM_RootCheckType, 2, GILLT_v8s32,
GIM_Try, GIMT_Encode4(22284),
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(22330),
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(22357),
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(22384),
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(22411),
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(22490),
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(22470),
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(22489),
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(22748),
GIM_RootCheckType, 1, GILLT_v16s1,
GIM_RootCheckType, 2, GILLT_v16s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK16RegClassID),
GIM_Try, GIMT_Encode4(22566),
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(22629),
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(22689),
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(22724),
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(22747),
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(23120),
GIM_RootCheckType, 1, GILLT_v16s8,
GIM_RootCheckType, 2, GILLT_v16s8,
GIM_Try, GIMT_Encode4(22992),
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(23038),
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(23065),
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(23092),
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(23119),
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(23492),
GIM_RootCheckType, 1, GILLT_v16s16,
GIM_RootCheckType, 2, GILLT_v16s16,
GIM_Try, GIMT_Encode4(23364),
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(23410),
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(23437),
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(23464),
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(23491),
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(23570),
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(23550),
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(23569),
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(23828),
GIM_RootCheckType, 1, GILLT_v32s1,
GIM_RootCheckType, 2, GILLT_v32s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_Try, GIMT_Encode4(23646),
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(23709),
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(23769),
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(23804),
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(23827),
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(24200),
GIM_RootCheckType, 1, GILLT_v32s8,
GIM_RootCheckType, 2, GILLT_v32s8,
GIM_Try, GIMT_Encode4(24072),
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(24118),
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(24145),
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(24172),
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(24199),
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(24278),
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(24258),
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(24277),
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(24536),
GIM_RootCheckType, 1, GILLT_v64s1,
GIM_RootCheckType, 2, GILLT_v64s1,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_Try, GIMT_Encode4(24354),
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(24417),
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(24477),
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(24512),
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(24535),
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(24614),
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(24594),
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(24613),
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(24782),
GIM_CheckNumOperands, 0, 3,
GIM_SwitchType, 0, 0, GIMT_Encode2(16), GIMT_Encode2(24), GIMT_Encode4(24781),
GIMT_Encode4(24667), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24705), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(24743),
GIM_Try, GIMT_Encode4(24704),
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(24742),
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(24780),
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(26521),
GIMT_Encode4(24886),
GIMT_Encode4(24944),
GIMT_Encode4(25759),
GIMT_Encode4(25987), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26215), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26297), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26379), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26450),
GIM_Try, GIMT_Encode4(24943),
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(25001),
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(25102),
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(25179),
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(25255),
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(25372),
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(25448),
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(25565),
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(25641),
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(25758),
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(25785),
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(25811),
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(25837),
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(25863),
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(25889),
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(25915),
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(25942),
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(25986),
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(26013),
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(26039),
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(26065),
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(26091),
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(26117),
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(26143),
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(26170),
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(26214),
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(26296),
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(26378),
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(26449),
GIM_RootCheckType, 1, GILLT_s32,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK32RegClassID),
GIM_Try, GIMT_Encode4(26411),
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(26448),
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(26520),
GIM_RootCheckType, 1, GILLT_s64,
GIM_RootCheckRegBankForClass, 0, GIMT_Encode2(X86::VK64RegClassID),
GIM_Try, GIMT_Encode4(26482),
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(26519),
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(27383),
GIMT_Encode4(26601),
GIMT_Encode4(26782), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(26963), GIMT_Encode4(0),
GIMT_Encode4(26994),
GIMT_Encode4(27145), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27206),
GIMT_Encode4(27294), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27355),
GIM_Try, GIMT_Encode4(26631),
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(26661),
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(26691),
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(26721),
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(26751),
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(26781),
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(26812),
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(26842),
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(26872),
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(26902),
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(26932),
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(26962),
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(26993),
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(27024),
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(27054),
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(27084),
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(27114),
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(27144),
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(27175),
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(27205),
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(27236),
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(27266),
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(27293),
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(27324),
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(27354),
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(27382),
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(27777),
GIMT_Encode4(27443), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27624), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27655), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
GIMT_Encode4(27716),
GIM_Try, GIMT_Encode4(27473),
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(27503),
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(27533),
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(27563),
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(27593),
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(27623),
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(27654),
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(27685),
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(27715),
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(27746),
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(27776),
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(28911),
GIM_CheckNumOperands, 0, 3,
GIM_Try, GIMT_Encode4(27822),
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(27858),
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(27894),
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(27930),
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(27966),
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(28002),
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(28038),
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(28074),
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(28110),
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(28146),
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(28182),
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(28218),
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(28254),
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(28290),
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(28326),
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(28362),
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(28398),
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(28434),
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(28470),
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(28506),
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(28542),
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(28578),
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(28614),
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(28650),
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(28686),
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(28724),
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(28762),
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(28800),
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(28838),
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(28874),
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(28910),
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(31972),
GIM_CheckNumOperands, 0, 4,
GIM_Try, GIMT_Encode4(28960),
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(29001),
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(29046),
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(29091),
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(29136),
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(29181),
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(29226),
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(29271),
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(29316),
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(29361),
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(29406),
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(29451),
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(29496),
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(29541),
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(29586),
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(29631),
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(29676),
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(29721),
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(29766),
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(29811),
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(29856),
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(29901),
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(29946),
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(29991),
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(30036),
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(30081),
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(30126),
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(30171),
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(30216),
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(30261),
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(30306),
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(30351),
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(30396),
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(30441),
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(30486),
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(30531),
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(30576),
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(30621),
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(30666),
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(30711),
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(30756),
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(30801),
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(30846),
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(30891),
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(30936),
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(30981),
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(31026),
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(31071),
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(31116),
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(31161),
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(31206),
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(31251),
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(31296),
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(31341),
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(31386),
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(31431),
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(31476),
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(31521),
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(31566),
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(31611),
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(31656),
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(31701),
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(31746),
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(31791),
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(31836),
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(31881),
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(31926),
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(31971),
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(33457),
GIM_CheckNumOperands, 0, 5,
GIM_Try, GIMT_Encode4(32030),
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(32080),
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(32130),
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(32180),
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(32230),
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(32280),
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(32330),
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(32380),
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(32430),
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(32480),
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(32530),
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(32580),
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(32634),
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(32688),
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(32742),
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(32796),
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(32850),
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(32904),
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(32958),
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(33012),
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(33066),
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(33120),
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(33174),
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(33228),
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(33294),
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(33348),
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(33402),
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(33456),
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(33519),
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(34073),
GIM_CheckNumOperands, 0, 1,
GIM_Try, GIMT_Encode4(33550),
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(33572),
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(33594),
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(33616),
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(33638),
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,
GIR_EraseRootFromParent_Done,
GIM_Try,#undef GIMT_Encode2#undef GIMT_Encode4#undef GIMT_Encode8#endif #ifdef GET_GLOBALISEL_PREDICATES_DECL#endif #ifdef GET_GLOBALISEL_PREDICATES_INIT#endif