1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Global Instruction Selector for the X86 target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_GLOBALISEL_PREDICATE_BITSET
10const unsigned MAX_SUBTARGET_PREDICATES = 158;
11using PredicateBitset = llvm::Bitset<MAX_SUBTARGET_PREDICATES>;
12#endif // ifdef GET_GLOBALISEL_PREDICATE_BITSET
13
14#ifdef GET_GLOBALISEL_TEMPORARIES_DECL
15 mutable MatcherState State;
16 typedef ComplexRendererFns(X86InstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const;
17 typedef void(X86InstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
18 const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
19 static X86InstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[];
20 static X86InstructionSelector::CustomRendererFn CustomRenderers[];
21 bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override;
22 bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override;
23 bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override;
24 const uint8_t *getMatchTable() const override;
25 bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override;
26 bool testMOPredicate_MO(unsigned PredicateID, const MachineOperand &MO, const MatcherState &State) const override;
27 bool testSimplePredicate(unsigned PredicateID) const override;
28 bool runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override;
29#endif // ifdef GET_GLOBALISEL_TEMPORARIES_DECL
30
31#ifdef GET_GLOBALISEL_TEMPORARIES_INIT
32, State(1),
33ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
34#endif // ifdef GET_GLOBALISEL_TEMPORARIES_INIT
35
36#ifdef GET_GLOBALISEL_IMPL
37// LLT Objects.
38enum {
39 GILLT_s1,
40 GILLT_s8,
41 GILLT_s16,
42 GILLT_s32,
43 GILLT_s64,
44 GILLT_s80,
45 GILLT_s128,
46 GILLT_v2s1,
47 GILLT_v2s64,
48 GILLT_v4s1,
49 GILLT_v4s32,
50 GILLT_v4s64,
51 GILLT_v8s1,
52 GILLT_v8s16,
53 GILLT_v8s32,
54 GILLT_v8s64,
55 GILLT_v16s1,
56 GILLT_v16s8,
57 GILLT_v16s16,
58 GILLT_v16s32,
59 GILLT_v32s1,
60 GILLT_v32s8,
61 GILLT_v32s16,
62 GILLT_v64s1,
63 GILLT_v64s8,
64};
65const static size_t NumTypeObjects = 25;
66const static LLT TypeObjects[] = {
67 LLT::scalar(1),
68 LLT::scalar(8),
69 LLT::scalar(16),
70 LLT::scalar(32),
71 LLT::scalar(64),
72 LLT::scalar(80),
73 LLT::scalar(128),
74 LLT::vector(ElementCount::getFixed(2), 1),
75 LLT::vector(ElementCount::getFixed(2), 64),
76 LLT::vector(ElementCount::getFixed(4), 1),
77 LLT::vector(ElementCount::getFixed(4), 32),
78 LLT::vector(ElementCount::getFixed(4), 64),
79 LLT::vector(ElementCount::getFixed(8), 1),
80 LLT::vector(ElementCount::getFixed(8), 16),
81 LLT::vector(ElementCount::getFixed(8), 32),
82 LLT::vector(ElementCount::getFixed(8), 64),
83 LLT::vector(ElementCount::getFixed(16), 1),
84 LLT::vector(ElementCount::getFixed(16), 8),
85 LLT::vector(ElementCount::getFixed(16), 16),
86 LLT::vector(ElementCount::getFixed(16), 32),
87 LLT::vector(ElementCount::getFixed(32), 1),
88 LLT::vector(ElementCount::getFixed(32), 8),
89 LLT::vector(ElementCount::getFixed(32), 16),
90 LLT::vector(ElementCount::getFixed(64), 1),
91 LLT::vector(ElementCount::getFixed(64), 8),
92};
93
94// Bits for subtarget features that participate in instruction matching.
95enum SubtargetFeatureBits : uint8_t {
96 Feature_TruePredicateBit = 65,
97 Feature_HasEGPRBit = 5,
98 Feature_NoEGPRBit = 4,
99 Feature_HasNDDBit = 6,
100 Feature_NoNDDBit = 27,
101 Feature_HasZUBit = 154,
102 Feature_PreferLegacySetCCBit = 31,
103 Feature_PreferNoLegacySetCCBit = 32,
104 Feature_HasCFBit = 30,
105 Feature_HasCMOVBit = 29,
106 Feature_NoCMOVBit = 137,
107 Feature_HasMMXBit = 110,
108 Feature_HasSSE1Bit = 51,
109 Feature_UseSSE1Bit = 58,
110 Feature_HasSSE2Bit = 50,
111 Feature_UseSSE2Bit = 59,
112 Feature_HasSSE3Bit = 42,
113 Feature_UseSSE3Bit = 68,
114 Feature_HasSSSE3Bit = 111,
115 Feature_UseSSSE3Bit = 69,
116 Feature_UseSSE41Bit = 66,
117 Feature_UseSSE42Bit = 73,
118 Feature_HasSSE4ABit = 83,
119 Feature_NoAVXBit = 79,
120 Feature_HasAVXBit = 60,
121 Feature_HasAVX2Bit = 54,
122 Feature_HasAVX1OnlyBit = 52,
123 Feature_HasAVX10_2Bit = 109,
124 Feature_NoAVX10_2Bit = 72,
125 Feature_HasAVX512Bit = 96,
126 Feature_UseAVXBit = 56,
127 Feature_NoAVX512Bit = 47,
128 Feature_HasCDIBit = 100,
129 Feature_HasVPOPCNTDQBit = 104,
130 Feature_HasDQIBit = 98,
131 Feature_NoDQIBit = 70,
132 Feature_HasBWIBit = 99,
133 Feature_NoBWIBit = 67,
134 Feature_HasVLXBit = 97,
135 Feature_NoVLXBit = 46,
136 Feature_NoVLX_Or_NoBWIBit = 64,
137 Feature_HasVNNIBit = 106,
138 Feature_HasVP2INTERSECTBit = 108,
139 Feature_HasFP16Bit = 102,
140 Feature_HasAVXVNNIINT16Bit = 95,
141 Feature_HasAVXVNNIINT8Bit = 90,
142 Feature_HasAVXVNNIBit = 84,
143 Feature_NoVLX_Or_NoVNNIBit = 85,
144 Feature_HasBITALGBit = 107,
145 Feature_HasPOPCNTBit = 71,
146 Feature_HasAESBit = 76,
147 Feature_HasVAESBit = 78,
148 Feature_NoVLX_Or_NoVAESBit = 77,
149 Feature_HasFXSRBit = 43,
150 Feature_HasX87Bit = 41,
151 Feature_HasXSAVEBit = 126,
152 Feature_HasXSAVEOPTBit = 127,
153 Feature_HasXSAVECBit = 128,
154 Feature_HasXSAVESBit = 129,
155 Feature_HasPCLMULBit = 80,
156 Feature_NoVLX_Or_NoVPCLMULQDQBit = 81,
157 Feature_HasVPCLMULQDQBit = 82,
158 Feature_HasGFNIBit = 87,
159 Feature_HasFMABit = 44,
160 Feature_HasFMA4Bit = 48,
161 Feature_NoFMA4Bit = 45,
162 Feature_HasXOPBit = 49,
163 Feature_HasTBMBit = 26,
164 Feature_NoTBMBit = 142,
165 Feature_HasLWPBit = 12,
166 Feature_HasMOVBEBit = 3,
167 Feature_NoNDD_Or_NoMOVBEBit = 2,
168 Feature_HasRDRANDBit = 7,
169 Feature_HasF16CBit = 86,
170 Feature_HasFSGSBaseBit = 130,
171 Feature_HasLZCNTBit = 9,
172 Feature_HasBMIBit = 10,
173 Feature_HasBMI2Bit = 11,
174 Feature_NoBMI2Bit = 141,
175 Feature_HasVBMIBit = 101,
176 Feature_HasVBMI2Bit = 105,
177 Feature_HasIFMABit = 103,
178 Feature_HasAVXIFMABit = 88,
179 Feature_NoVLX_Or_NoIFMABit = 89,
180 Feature_HasRTMBit = 113,
181 Feature_HasSHABit = 75,
182 Feature_HasSHA512Bit = 92,
183 Feature_HasSM3Bit = 93,
184 Feature_HasRDSEEDBit = 8,
185 Feature_HasSSEPrefetchBit = 61,
186 Feature_HasPREFETCHIBit = 20,
187 Feature_HasPrefetchWBit = 112,
188 Feature_HasMWAITXBit = 140,
189 Feature_HasCLDEMOTEBit = 24,
190 Feature_HasMOVDIRIBit = 14,
191 Feature_HasMOVDIR64BBit = 15,
192 Feature_HasMOVRSBit = 25,
193 Feature_HasPTWRITEBit = 133,
194 Feature_FPStackf32Bit = 39,
195 Feature_FPStackf64Bit = 40,
196 Feature_HasSM4Bit = 94,
197 Feature_HasCLFLUSHBit = 62,
198 Feature_HasCLFLUSHOPTBit = 22,
199 Feature_HasCLWBBit = 23,
200 Feature_HasWBNOINVDBit = 125,
201 Feature_HasRDPIDBit = 132,
202 Feature_HasWAITPKGBit = 13,
203 Feature_HasINVPCIDBit = 131,
204 Feature_HasCX8Bit = 138,
205 Feature_HasCX16Bit = 139,
206 Feature_HasENQCMDBit = 16,
207 Feature_HasAMXFP16Bit = 118,
208 Feature_HasCMPCCXADDBit = 21,
209 Feature_HasAVXNECONVERTBit = 91,
210 Feature_HasKLBit = 114,
211 Feature_HasRAOINTBit = 123,
212 Feature_HasSERIALIZEBit = 17,
213 Feature_HasTSXLDTRKBit = 18,
214 Feature_HasAMXTILEBit = 115,
215 Feature_HasAMXBF16Bit = 117,
216 Feature_HasAMXINT8Bit = 116,
217 Feature_HasAMXCOMPLEXBit = 119,
218 Feature_HasAMXFP8Bit = 120,
219 Feature_HasAMXAVX512Bit = 121,
220 Feature_HasAMXTF32Bit = 122,
221 Feature_HasUINTRBit = 19,
222 Feature_HasUSERMSRBit = 124,
223 Feature_HasCRC32Bit = 74,
224 Feature_Not64BitModeBit = 0,
225 Feature_In64BitModeBit = 1,
226 Feature_IsLP64Bit = 135,
227 Feature_NotLP64Bit = 134,
228 Feature_NotWin64WithoutFPBit = 136,
229 Feature_IsPSBit = 145,
230 Feature_NotPSBit = 144,
231 Feature_KernelCodeBit = 146,
232 Feature_NearDataBit = 148,
233 Feature_IsNotPICBit = 147,
234 Feature_OptForSizeBit = 55,
235 Feature_OptForMinSizeBit = 53,
236 Feature_OptForSpeedBit = 143,
237 Feature_UseIncDecBit = 28,
238 Feature_NoSSE41_Or_OptForSizeBit = 57,
239 Feature_ImportCallOptimizationEnabledBit = 37,
240 Feature_ImportCallOptimizationDisabledBit = 35,
241 Feature_IsWin64CCFuncBit = 152,
242 Feature_IsNotWin64CCFuncBit = 151,
243 Feature_IsHiPECCFuncBit = 150,
244 Feature_IsNotHiPECCFuncBit = 149,
245 Feature_CallImmAddrBit = 153,
246 Feature_FavorMemIndirectCallBit = 33,
247 Feature_HasFastSHLDRotateBit = 38,
248 Feature_HasMFenceBit = 63,
249 Feature_UseIndirectThunkCallsBit = 36,
250 Feature_NotUseIndirectThunkCallsBit = 34,
251 Feature_HwMode2Bit = 157,
252 Feature_HwMode1Bit = 156,
253 Feature_HwMode0Bit = 155,
254};
255
256PredicateBitset X86InstructionSelector::
257computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const {
258 PredicateBitset Features{};
259 if (true)
260 Features.set(Feature_TruePredicateBit);
261 if (Subtarget->hasEGPR())
262 Features.set(Feature_HasEGPRBit);
263 if (!Subtarget->hasEGPR())
264 Features.set(Feature_NoEGPRBit);
265 if (Subtarget->hasNDD())
266 Features.set(Feature_HasNDDBit);
267 if (!Subtarget->hasNDD())
268 Features.set(Feature_NoNDDBit);
269 if (Subtarget->hasZU())
270 Features.set(Feature_HasZUBit);
271 if (!Subtarget->hasZU() || Subtarget->preferLegacySetCC())
272 Features.set(Feature_PreferLegacySetCCBit);
273 if (Subtarget->hasZU() && !Subtarget->preferLegacySetCC())
274 Features.set(Feature_PreferNoLegacySetCCBit);
275 if (Subtarget->hasCF())
276 Features.set(Feature_HasCFBit);
277 if (Subtarget->canUseCMOV())
278 Features.set(Feature_HasCMOVBit);
279 if (!Subtarget->canUseCMOV())
280 Features.set(Feature_NoCMOVBit);
281 if (Subtarget->hasMMX())
282 Features.set(Feature_HasMMXBit);
283 if (Subtarget->hasSSE1())
284 Features.set(Feature_HasSSE1Bit);
285 if (Subtarget->hasSSE1() && !Subtarget->hasAVX())
286 Features.set(Feature_UseSSE1Bit);
287 if (Subtarget->hasSSE2())
288 Features.set(Feature_HasSSE2Bit);
289 if (Subtarget->hasSSE2() && !Subtarget->hasAVX())
290 Features.set(Feature_UseSSE2Bit);
291 if (Subtarget->hasSSE3())
292 Features.set(Feature_HasSSE3Bit);
293 if (Subtarget->hasSSE3() && !Subtarget->hasAVX())
294 Features.set(Feature_UseSSE3Bit);
295 if (Subtarget->hasSSSE3())
296 Features.set(Feature_HasSSSE3Bit);
297 if (Subtarget->hasSSSE3() && !Subtarget->hasAVX())
298 Features.set(Feature_UseSSSE3Bit);
299 if (Subtarget->hasSSE41() && !Subtarget->hasAVX())
300 Features.set(Feature_UseSSE41Bit);
301 if (Subtarget->hasSSE42() && !Subtarget->hasAVX())
302 Features.set(Feature_UseSSE42Bit);
303 if (Subtarget->hasSSE4A())
304 Features.set(Feature_HasSSE4ABit);
305 if (!Subtarget->hasAVX())
306 Features.set(Feature_NoAVXBit);
307 if (Subtarget->hasAVX())
308 Features.set(Feature_HasAVXBit);
309 if (Subtarget->hasAVX2())
310 Features.set(Feature_HasAVX2Bit);
311 if (Subtarget->hasAVX() && !Subtarget->hasAVX2())
312 Features.set(Feature_HasAVX1OnlyBit);
313 if (Subtarget->hasAVX10_2())
314 Features.set(Feature_HasAVX10_2Bit);
315 if (!Subtarget->hasAVX10_2())
316 Features.set(Feature_NoAVX10_2Bit);
317 if (Subtarget->hasAVX512())
318 Features.set(Feature_HasAVX512Bit);
319 if (Subtarget->hasAVX() && !Subtarget->hasAVX512())
320 Features.set(Feature_UseAVXBit);
321 if (!Subtarget->hasAVX512())
322 Features.set(Feature_NoAVX512Bit);
323 if (Subtarget->hasCDI())
324 Features.set(Feature_HasCDIBit);
325 if (Subtarget->hasVPOPCNTDQ())
326 Features.set(Feature_HasVPOPCNTDQBit);
327 if (Subtarget->hasDQI())
328 Features.set(Feature_HasDQIBit);
329 if (!Subtarget->hasDQI())
330 Features.set(Feature_NoDQIBit);
331 if (Subtarget->hasBWI())
332 Features.set(Feature_HasBWIBit);
333 if (!Subtarget->hasBWI())
334 Features.set(Feature_NoBWIBit);
335 if (Subtarget->hasVLX())
336 Features.set(Feature_HasVLXBit);
337 if (!Subtarget->hasVLX())
338 Features.set(Feature_NoVLXBit);
339 if (!Subtarget->hasVLX() || !Subtarget->hasBWI())
340 Features.set(Feature_NoVLX_Or_NoBWIBit);
341 if (Subtarget->hasVNNI())
342 Features.set(Feature_HasVNNIBit);
343 if (Subtarget->hasVP2INTERSECT())
344 Features.set(Feature_HasVP2INTERSECTBit);
345 if (Subtarget->hasFP16())
346 Features.set(Feature_HasFP16Bit);
347 if (Subtarget->hasAVXVNNIINT16())
348 Features.set(Feature_HasAVXVNNIINT16Bit);
349 if (Subtarget->hasAVXVNNIINT8())
350 Features.set(Feature_HasAVXVNNIINT8Bit);
351 if (Subtarget->hasAVXVNNI())
352 Features.set(Feature_HasAVXVNNIBit);
353 if (!Subtarget->hasVLX() || !Subtarget->hasVNNI())
354 Features.set(Feature_NoVLX_Or_NoVNNIBit);
355 if (Subtarget->hasBITALG())
356 Features.set(Feature_HasBITALGBit);
357 if (Subtarget->hasPOPCNT())
358 Features.set(Feature_HasPOPCNTBit);
359 if (Subtarget->hasAES())
360 Features.set(Feature_HasAESBit);
361 if (Subtarget->hasVAES())
362 Features.set(Feature_HasVAESBit);
363 if (!Subtarget->hasVLX() || !Subtarget->hasVAES())
364 Features.set(Feature_NoVLX_Or_NoVAESBit);
365 if (Subtarget->hasFXSR())
366 Features.set(Feature_HasFXSRBit);
367 if (Subtarget->hasX87())
368 Features.set(Feature_HasX87Bit);
369 if (Subtarget->hasXSAVE())
370 Features.set(Feature_HasXSAVEBit);
371 if (Subtarget->hasXSAVEOPT())
372 Features.set(Feature_HasXSAVEOPTBit);
373 if (Subtarget->hasXSAVEC())
374 Features.set(Feature_HasXSAVECBit);
375 if (Subtarget->hasXSAVES())
376 Features.set(Feature_HasXSAVESBit);
377 if (Subtarget->hasPCLMUL())
378 Features.set(Feature_HasPCLMULBit);
379 if (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ())
380 Features.set(Feature_NoVLX_Or_NoVPCLMULQDQBit);
381 if (Subtarget->hasVPCLMULQDQ())
382 Features.set(Feature_HasVPCLMULQDQBit);
383 if (Subtarget->hasGFNI())
384 Features.set(Feature_HasGFNIBit);
385 if (Subtarget->hasFMA())
386 Features.set(Feature_HasFMABit);
387 if (Subtarget->hasFMA4())
388 Features.set(Feature_HasFMA4Bit);
389 if (!Subtarget->hasFMA4())
390 Features.set(Feature_NoFMA4Bit);
391 if (Subtarget->hasXOP())
392 Features.set(Feature_HasXOPBit);
393 if (Subtarget->hasTBM())
394 Features.set(Feature_HasTBMBit);
395 if (!Subtarget->hasTBM())
396 Features.set(Feature_NoTBMBit);
397 if (Subtarget->hasLWP())
398 Features.set(Feature_HasLWPBit);
399 if (Subtarget->hasMOVBE())
400 Features.set(Feature_HasMOVBEBit);
401 if (!Subtarget->hasNDD() || !Subtarget->hasMOVBE())
402 Features.set(Feature_NoNDD_Or_NoMOVBEBit);
403 if (Subtarget->hasRDRAND())
404 Features.set(Feature_HasRDRANDBit);
405 if (Subtarget->hasF16C())
406 Features.set(Feature_HasF16CBit);
407 if (Subtarget->hasFSGSBase())
408 Features.set(Feature_HasFSGSBaseBit);
409 if (Subtarget->hasLZCNT())
410 Features.set(Feature_HasLZCNTBit);
411 if (Subtarget->hasBMI())
412 Features.set(Feature_HasBMIBit);
413 if (Subtarget->hasBMI2())
414 Features.set(Feature_HasBMI2Bit);
415 if (!Subtarget->hasBMI2())
416 Features.set(Feature_NoBMI2Bit);
417 if (Subtarget->hasVBMI())
418 Features.set(Feature_HasVBMIBit);
419 if (Subtarget->hasVBMI2())
420 Features.set(Feature_HasVBMI2Bit);
421 if (Subtarget->hasIFMA())
422 Features.set(Feature_HasIFMABit);
423 if (Subtarget->hasAVXIFMA())
424 Features.set(Feature_HasAVXIFMABit);
425 if (!Subtarget->hasVLX() || !Subtarget->hasIFMA())
426 Features.set(Feature_NoVLX_Or_NoIFMABit);
427 if (Subtarget->hasRTM())
428 Features.set(Feature_HasRTMBit);
429 if (Subtarget->hasSHA())
430 Features.set(Feature_HasSHABit);
431 if (Subtarget->hasSHA512())
432 Features.set(Feature_HasSHA512Bit);
433 if (Subtarget->hasSM3())
434 Features.set(Feature_HasSM3Bit);
435 if (Subtarget->hasRDSEED())
436 Features.set(Feature_HasRDSEEDBit);
437 if (Subtarget->hasSSEPrefetch())
438 Features.set(Feature_HasSSEPrefetchBit);
439 if (Subtarget->hasPREFETCHI())
440 Features.set(Feature_HasPREFETCHIBit);
441 if (Subtarget->hasPrefetchW())
442 Features.set(Feature_HasPrefetchWBit);
443 if (Subtarget->hasMWAITX())
444 Features.set(Feature_HasMWAITXBit);
445 if (Subtarget->hasCLDEMOTE())
446 Features.set(Feature_HasCLDEMOTEBit);
447 if (Subtarget->hasMOVDIRI())
448 Features.set(Feature_HasMOVDIRIBit);
449 if (Subtarget->hasMOVDIR64B())
450 Features.set(Feature_HasMOVDIR64BBit);
451 if (Subtarget->hasMOVRS())
452 Features.set(Feature_HasMOVRSBit);
453 if (Subtarget->hasPTWRITE())
454 Features.set(Feature_HasPTWRITEBit);
455 if (!Subtarget->hasSSE1())
456 Features.set(Feature_FPStackf32Bit);
457 if (!Subtarget->hasSSE2())
458 Features.set(Feature_FPStackf64Bit);
459 if (Subtarget->hasSM4())
460 Features.set(Feature_HasSM4Bit);
461 if (Subtarget->hasCLFLUSH())
462 Features.set(Feature_HasCLFLUSHBit);
463 if (Subtarget->hasCLFLUSHOPT())
464 Features.set(Feature_HasCLFLUSHOPTBit);
465 if (Subtarget->hasCLWB())
466 Features.set(Feature_HasCLWBBit);
467 if (Subtarget->hasWBNOINVD())
468 Features.set(Feature_HasWBNOINVDBit);
469 if (Subtarget->hasRDPID())
470 Features.set(Feature_HasRDPIDBit);
471 if (Subtarget->hasWAITPKG())
472 Features.set(Feature_HasWAITPKGBit);
473 if (Subtarget->hasINVPCID())
474 Features.set(Feature_HasINVPCIDBit);
475 if (Subtarget->hasCX8())
476 Features.set(Feature_HasCX8Bit);
477 if (Subtarget->hasCX16())
478 Features.set(Feature_HasCX16Bit);
479 if (Subtarget->hasENQCMD())
480 Features.set(Feature_HasENQCMDBit);
481 if (Subtarget->hasAMXFP16())
482 Features.set(Feature_HasAMXFP16Bit);
483 if (Subtarget->hasCMPCCXADD())
484 Features.set(Feature_HasCMPCCXADDBit);
485 if (Subtarget->hasAVXNECONVERT())
486 Features.set(Feature_HasAVXNECONVERTBit);
487 if (Subtarget->hasKL())
488 Features.set(Feature_HasKLBit);
489 if (Subtarget->hasRAOINT())
490 Features.set(Feature_HasRAOINTBit);
491 if (Subtarget->hasSERIALIZE())
492 Features.set(Feature_HasSERIALIZEBit);
493 if (Subtarget->hasTSXLDTRK())
494 Features.set(Feature_HasTSXLDTRKBit);
495 if (Subtarget->hasAMXTILE())
496 Features.set(Feature_HasAMXTILEBit);
497 if (Subtarget->hasAMXBF16())
498 Features.set(Feature_HasAMXBF16Bit);
499 if (Subtarget->hasAMXINT8())
500 Features.set(Feature_HasAMXINT8Bit);
501 if (Subtarget->hasAMXCOMPLEX())
502 Features.set(Feature_HasAMXCOMPLEXBit);
503 if (Subtarget->hasAMXFP8())
504 Features.set(Feature_HasAMXFP8Bit);
505 if (Subtarget->hasAMXAVX512())
506 Features.set(Feature_HasAMXAVX512Bit);
507 if (Subtarget->hasAMXTF32())
508 Features.set(Feature_HasAMXTF32Bit);
509 if (Subtarget->hasUINTR())
510 Features.set(Feature_HasUINTRBit);
511 if (Subtarget->hasUSERMSR())
512 Features.set(Feature_HasUSERMSRBit);
513 if (Subtarget->hasCRC32())
514 Features.set(Feature_HasCRC32Bit);
515 if (!Subtarget->is64Bit())
516 Features.set(Feature_Not64BitModeBit);
517 if (Subtarget->is64Bit())
518 Features.set(Feature_In64BitModeBit);
519 if (Subtarget->isTarget64BitLP64())
520 Features.set(Feature_IsLP64Bit);
521 if (!Subtarget->isTarget64BitLP64())
522 Features.set(Feature_NotLP64Bit);
523 if (Subtarget->isTargetPS())
524 Features.set(Feature_IsPSBit);
525 if (!Subtarget->isTargetPS())
526 Features.set(Feature_NotPSBit);
527 if (TM.getCodeModel() == CodeModel::Kernel)
528 Features.set(Feature_KernelCodeBit);
529 if (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
530 Features.set(Feature_NearDataBit);
531 if (!TM.isPositionIndependent())
532 Features.set(Feature_IsNotPICBit);
533 if (Subtarget->isLegalToCallImmediateAddr())
534 Features.set(Feature_CallImmAddrBit);
535 if (!Subtarget->slowTwoMemOps())
536 Features.set(Feature_FavorMemIndirectCallBit);
537 if (Subtarget->hasFastSHLDRotate())
538 Features.set(Feature_HasFastSHLDRotateBit);
539 if (Subtarget->hasMFence())
540 Features.set(Feature_HasMFenceBit);
541 if (Subtarget->useIndirectThunkCalls())
542 Features.set(Feature_UseIndirectThunkCallsBit);
543 if (!Subtarget->useIndirectThunkCalls())
544 Features.set(Feature_NotUseIndirectThunkCallsBit);
545 if (!((Subtarget->is64Bit()) && (!Subtarget->getTargetTriple().isX32())) && !((Subtarget->getTargetTriple().isX32())))
546 Features.set(Feature_HwMode2Bit);
547 if ((Subtarget->getTargetTriple().isX32()))
548 Features.set(Feature_HwMode1Bit);
549 if ((Subtarget->is64Bit()) && (!Subtarget->getTargetTriple().isX32()))
550 Features.set(Feature_HwMode0Bit);
551 return Features;
552}
553
554void X86InstructionSelector::setupGeneratedPerFunctionState(MachineFunction &MF) {
555 AvailableFunctionFeatures = computeAvailableFunctionFeatures((const X86Subtarget *)&MF.getSubtarget(), &MF);
556}
557PredicateBitset X86InstructionSelector::
558computeAvailableFunctionFeatures(const X86Subtarget *Subtarget, const MachineFunction *MF) const {
559 PredicateBitset Features{};
560 if (!Subtarget->isTargetWin64() ||Subtarget->getFrameLowering()->hasFP(*MF))
561 Features.set(Feature_NotWin64WithoutFPBit);
562 if (shouldOptForSize(MF))
563 Features.set(Feature_OptForSizeBit);
564 if (MF->getFunction().hasMinSize())
565 Features.set(Feature_OptForMinSizeBit);
566 if (!shouldOptForSize(MF))
567 Features.set(Feature_OptForSpeedBit);
568 if (!Subtarget->slowIncDec() || shouldOptForSize(MF))
569 Features.set(Feature_UseIncDecBit);
570 if (shouldOptForSize(MF) || !Subtarget->hasSSE41())
571 Features.set(Feature_NoSSE41_Or_OptForSizeBit);
572 if (MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
573 Features.set(Feature_ImportCallOptimizationEnabledBit);
574 if (!MF->getFunction().getParent()->getModuleFlag("import-call-optimization"))
575 Features.set(Feature_ImportCallOptimizationDisabledBit);
576 if (Subtarget->isCallingConvWin64(MF->getFunction().getCallingConv()))
577 Features.set(Feature_IsWin64CCFuncBit);
578 if (!Subtarget->isCallingConvWin64(MF->getFunction().getCallingConv()))
579 Features.set(Feature_IsNotWin64CCFuncBit);
580 if (MF->getFunction().getCallingConv() == CallingConv::HiPE)
581 Features.set(Feature_IsHiPECCFuncBit);
582 if (MF->getFunction().getCallingConv() != CallingConv::HiPE)
583 Features.set(Feature_IsNotHiPECCFuncBit);
584 return Features;
585}
586
587// Feature bitsets.
588enum {
589 GIFBS_Invalid,
590 GIFBS_FPStackf32,
591 GIFBS_FPStackf64,
592 GIFBS_HasAVX,
593 GIFBS_HasAVX1Only,
594 GIFBS_HasAVX2,
595 GIFBS_HasAVX512,
596 GIFBS_HasAVXNECONVERT,
597 GIFBS_HasBITALG,
598 GIFBS_HasBMI,
599 GIFBS_HasBWI,
600 GIFBS_HasCDI,
601 GIFBS_HasCLDEMOTE,
602 GIFBS_HasCLFLUSH,
603 GIFBS_HasCLFLUSHOPT,
604 GIFBS_HasCLWB,
605 GIFBS_HasDQI,
606 GIFBS_HasFP16,
607 GIFBS_HasFXSR,
608 GIFBS_HasFastSHLDRotate,
609 GIFBS_HasKL,
610 GIFBS_HasLWP,
611 GIFBS_HasLZCNT,
612 GIFBS_HasMFence,
613 GIFBS_HasMMX,
614 GIFBS_HasMOVBE,
615 GIFBS_HasMOVRS,
616 GIFBS_HasMWAITX,
617 GIFBS_HasNDD,
618 GIFBS_HasPOPCNT,
619 GIFBS_HasPTWRITE,
620 GIFBS_HasPrefetchW,
621 GIFBS_HasRTM,
622 GIFBS_HasSERIALIZE,
623 GIFBS_HasSHA,
624 GIFBS_HasSHA512,
625 GIFBS_HasSM3,
626 GIFBS_HasSM4,
627 GIFBS_HasSSE1,
628 GIFBS_HasSSE2,
629 GIFBS_HasSSE3,
630 GIFBS_HasSSE4A,
631 GIFBS_HasSSEPrefetch,
632 GIFBS_HasTBM,
633 GIFBS_HasTSXLDTRK,
634 GIFBS_HasVBMI2,
635 GIFBS_HasVLX,
636 GIFBS_HasVPOPCNTDQ,
637 GIFBS_HasWAITPKG,
638 GIFBS_HasWBNOINVD,
639 GIFBS_HasX87,
640 GIFBS_HasXOP,
641 GIFBS_HasXSAVE,
642 GIFBS_HasXSAVEC,
643 GIFBS_HasXSAVEOPT,
644 GIFBS_HasXSAVES,
645 GIFBS_HasZU,
646 GIFBS_In64BitMode,
647 GIFBS_IsPS,
648 GIFBS_NoAVX,
649 GIFBS_NoDQI,
650 GIFBS_NoEGPR,
651 GIFBS_NoNDD,
652 GIFBS_NoNDD_Or_NoMOVBE,
653 GIFBS_NoVLX,
654 GIFBS_Not64BitMode,
655 GIFBS_NotPS,
656 GIFBS_UseAVX,
657 GIFBS_UseIncDec,
658 GIFBS_UseSSE1,
659 GIFBS_UseSSE2,
660 GIFBS_UseSSE3,
661 GIFBS_UseSSE41,
662 GIFBS_UseSSSE3,
663 GIFBS_HasAES_HasAVX,
664 GIFBS_HasAES_NoAVX,
665 GIFBS_HasAMXBF16_In64BitMode,
666 GIFBS_HasAMXCOMPLEX_In64BitMode,
667 GIFBS_HasAMXFP16_In64BitMode,
668 GIFBS_HasAMXFP8_In64BitMode,
669 GIFBS_HasAMXINT8_In64BitMode,
670 GIFBS_HasAMXTF32_In64BitMode,
671 GIFBS_HasAMXTILE_In64BitMode,
672 GIFBS_HasAVX_In64BitMode,
673 GIFBS_HasAVX_NoBWI,
674 GIFBS_HasAVX_NoVLX,
675 GIFBS_HasAVX_NoVLX_Or_NoBWI,
676 GIFBS_HasAVX10_2_HasSM4,
677 GIFBS_HasAVX2_NoVLX,
678 GIFBS_HasAVX2_NoVLX_Or_NoBWI,
679 GIFBS_HasAVX512_HasVAES,
680 GIFBS_HasAVX512_HasVLX,
681 GIFBS_HasAVX512_NoBWI,
682 GIFBS_HasAVX512_NoDQI,
683 GIFBS_HasAVX512_NoEGPR,
684 GIFBS_HasAVX512_NoVLX,
685 GIFBS_HasAVX512_OptForSize,
686 GIFBS_HasBITALG_HasVLX,
687 GIFBS_HasBITALG_NoVLX,
688 GIFBS_HasBMI_HasEGPR,
689 GIFBS_HasBMI_NoEGPR,
690 GIFBS_HasBMI2_HasEGPR,
691 GIFBS_HasBMI2_NoEGPR,
692 GIFBS_HasBWI_HasDQI,
693 GIFBS_HasBWI_HasVLX,
694 GIFBS_HasBWI_NoEGPR,
695 GIFBS_HasBWI_NoVLX,
696 GIFBS_HasCDI_HasVLX,
697 GIFBS_HasCDI_NoVLX,
698 GIFBS_HasCRC32_NoEGPR,
699 GIFBS_HasDQI_HasVLX,
700 GIFBS_HasDQI_NoBWI,
701 GIFBS_HasDQI_NoEGPR,
702 GIFBS_HasDQI_NoVLX,
703 GIFBS_HasEGPR_HasINVPCID,
704 GIFBS_HasEGPR_In64BitMode,
705 GIFBS_HasFMA4_NoAVX512,
706 GIFBS_HasFMA4_NoVLX,
707 GIFBS_HasFP16_HasVLX,
708 GIFBS_HasFP16_In64BitMode,
709 GIFBS_HasFP16_OptForSize,
710 GIFBS_HasFSGSBase_In64BitMode,
711 GIFBS_HasFXSR_In64BitMode,
712 GIFBS_HasINVPCID_NoEGPR,
713 GIFBS_HasINVPCID_Not64BitMode,
714 GIFBS_HasMOVBE_NoEGPR,
715 GIFBS_HasMOVDIR64B_NoEGPR,
716 GIFBS_HasMOVDIRI_NoEGPR,
717 GIFBS_HasNDD_In64BitMode,
718 GIFBS_HasNDD_UseIncDec,
719 GIFBS_HasPREFETCHI_In64BitMode,
720 GIFBS_HasPTWRITE_In64BitMode,
721 GIFBS_HasRDPID_In64BitMode,
722 GIFBS_HasRDPID_Not64BitMode,
723 GIFBS_HasUINTR_In64BitMode,
724 GIFBS_HasUSERMSR_NoEGPR,
725 GIFBS_HasVAES_HasVLX,
726 GIFBS_HasVAES_NoVLX,
727 GIFBS_HasVBMI2_HasVLX,
728 GIFBS_HasVLX_HasVPOPCNTDQ,
729 GIFBS_HasVPOPCNTDQ_NoVLX,
730 GIFBS_HasWAITPKG_In64BitMode,
731 GIFBS_HasWAITPKG_Not64BitMode,
732 GIFBS_HasXSAVE_In64BitMode,
733 GIFBS_HasXSAVEC_In64BitMode,
734 GIFBS_HasXSAVEOPT_In64BitMode,
735 GIFBS_HasXSAVES_In64BitMode,
736 GIFBS_In64BitMode_UseIncDec,
737 GIFBS_In64BitMode_UseSSE2,
738 GIFBS_NoNDD_UseIncDec,
739 GIFBS_Not64BitMode_OptForSize,
740 GIFBS_NotWin64WithoutFP_OptForMinSize,
741 GIFBS_OptForSize_UseAVX,
742 GIFBS_OptForSize_UseSSE1,
743 GIFBS_OptForSize_UseSSE2,
744 GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES,
745 GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode,
746 GIFBS_HasAMXTILE_HasEGPR_In64BitMode,
747 GIFBS_HasAMXTILE_In64BitMode_NoEGPR,
748 GIFBS_HasAVX10_2_HasMOVRS_In64BitMode,
749 GIFBS_HasAVX512_HasEGPR_In64BitMode,
750 GIFBS_HasBWI_HasEGPR_In64BitMode,
751 GIFBS_HasCRC32_HasEGPR_In64BitMode,
752 GIFBS_HasDQI_HasEGPR_In64BitMode,
753 GIFBS_HasDQI_HasVLX_NoBWI,
754 GIFBS_HasEGPR_HasMOVBE_In64BitMode,
755 GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode,
756 GIFBS_HasEGPR_HasMOVDIRI_In64BitMode,
757 GIFBS_HasEGPR_HasMOVRS_In64BitMode,
758 GIFBS_HasEGPR_HasUSERMSR_In64BitMode,
759 GIFBS_HasFMA_NoAVX512_NoFMA4,
760 GIFBS_HasFMA_NoFMA4_NoVLX,
761 GIFBS_HasMOVBE_HasNDD_In64BitMode,
762 GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR,
763 GIFBS_HasMOVDIRI_In64BitMode_NoEGPR,
764 GIFBS_HasMOVRS_In64BitMode_NoEGPR,
765};
766constexpr static PredicateBitset FeatureBitsets[] {
767 {}, // GIFBS_Invalid
768 {Feature_FPStackf32Bit, },
769 {Feature_FPStackf64Bit, },
770 {Feature_HasAVXBit, },
771 {Feature_HasAVX1OnlyBit, },
772 {Feature_HasAVX2Bit, },
773 {Feature_HasAVX512Bit, },
774 {Feature_HasAVXNECONVERTBit, },
775 {Feature_HasBITALGBit, },
776 {Feature_HasBMIBit, },
777 {Feature_HasBWIBit, },
778 {Feature_HasCDIBit, },
779 {Feature_HasCLDEMOTEBit, },
780 {Feature_HasCLFLUSHBit, },
781 {Feature_HasCLFLUSHOPTBit, },
782 {Feature_HasCLWBBit, },
783 {Feature_HasDQIBit, },
784 {Feature_HasFP16Bit, },
785 {Feature_HasFXSRBit, },
786 {Feature_HasFastSHLDRotateBit, },
787 {Feature_HasKLBit, },
788 {Feature_HasLWPBit, },
789 {Feature_HasLZCNTBit, },
790 {Feature_HasMFenceBit, },
791 {Feature_HasMMXBit, },
792 {Feature_HasMOVBEBit, },
793 {Feature_HasMOVRSBit, },
794 {Feature_HasMWAITXBit, },
795 {Feature_HasNDDBit, },
796 {Feature_HasPOPCNTBit, },
797 {Feature_HasPTWRITEBit, },
798 {Feature_HasPrefetchWBit, },
799 {Feature_HasRTMBit, },
800 {Feature_HasSERIALIZEBit, },
801 {Feature_HasSHABit, },
802 {Feature_HasSHA512Bit, },
803 {Feature_HasSM3Bit, },
804 {Feature_HasSM4Bit, },
805 {Feature_HasSSE1Bit, },
806 {Feature_HasSSE2Bit, },
807 {Feature_HasSSE3Bit, },
808 {Feature_HasSSE4ABit, },
809 {Feature_HasSSEPrefetchBit, },
810 {Feature_HasTBMBit, },
811 {Feature_HasTSXLDTRKBit, },
812 {Feature_HasVBMI2Bit, },
813 {Feature_HasVLXBit, },
814 {Feature_HasVPOPCNTDQBit, },
815 {Feature_HasWAITPKGBit, },
816 {Feature_HasWBNOINVDBit, },
817 {Feature_HasX87Bit, },
818 {Feature_HasXOPBit, },
819 {Feature_HasXSAVEBit, },
820 {Feature_HasXSAVECBit, },
821 {Feature_HasXSAVEOPTBit, },
822 {Feature_HasXSAVESBit, },
823 {Feature_HasZUBit, },
824 {Feature_In64BitModeBit, },
825 {Feature_IsPSBit, },
826 {Feature_NoAVXBit, },
827 {Feature_NoDQIBit, },
828 {Feature_NoEGPRBit, },
829 {Feature_NoNDDBit, },
830 {Feature_NoNDD_Or_NoMOVBEBit, },
831 {Feature_NoVLXBit, },
832 {Feature_Not64BitModeBit, },
833 {Feature_NotPSBit, },
834 {Feature_UseAVXBit, },
835 {Feature_UseIncDecBit, },
836 {Feature_UseSSE1Bit, },
837 {Feature_UseSSE2Bit, },
838 {Feature_UseSSE3Bit, },
839 {Feature_UseSSE41Bit, },
840 {Feature_UseSSSE3Bit, },
841 {Feature_HasAESBit, Feature_HasAVXBit, },
842 {Feature_HasAESBit, Feature_NoAVXBit, },
843 {Feature_HasAMXBF16Bit, Feature_In64BitModeBit, },
844 {Feature_HasAMXCOMPLEXBit, Feature_In64BitModeBit, },
845 {Feature_HasAMXFP16Bit, Feature_In64BitModeBit, },
846 {Feature_HasAMXFP8Bit, Feature_In64BitModeBit, },
847 {Feature_HasAMXINT8Bit, Feature_In64BitModeBit, },
848 {Feature_HasAMXTF32Bit, Feature_In64BitModeBit, },
849 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, },
850 {Feature_HasAVXBit, Feature_In64BitModeBit, },
851 {Feature_HasAVXBit, Feature_NoBWIBit, },
852 {Feature_HasAVXBit, Feature_NoVLXBit, },
853 {Feature_HasAVXBit, Feature_NoVLX_Or_NoBWIBit, },
854 {Feature_HasAVX10_2Bit, Feature_HasSM4Bit, },
855 {Feature_HasAVX2Bit, Feature_NoVLXBit, },
856 {Feature_HasAVX2Bit, Feature_NoVLX_Or_NoBWIBit, },
857 {Feature_HasAVX512Bit, Feature_HasVAESBit, },
858 {Feature_HasAVX512Bit, Feature_HasVLXBit, },
859 {Feature_HasAVX512Bit, Feature_NoBWIBit, },
860 {Feature_HasAVX512Bit, Feature_NoDQIBit, },
861 {Feature_HasAVX512Bit, Feature_NoEGPRBit, },
862 {Feature_HasAVX512Bit, Feature_NoVLXBit, },
863 {Feature_HasAVX512Bit, Feature_OptForSizeBit, },
864 {Feature_HasBITALGBit, Feature_HasVLXBit, },
865 {Feature_HasBITALGBit, Feature_NoVLXBit, },
866 {Feature_HasBMIBit, Feature_HasEGPRBit, },
867 {Feature_HasBMIBit, Feature_NoEGPRBit, },
868 {Feature_HasBMI2Bit, Feature_HasEGPRBit, },
869 {Feature_HasBMI2Bit, Feature_NoEGPRBit, },
870 {Feature_HasBWIBit, Feature_HasDQIBit, },
871 {Feature_HasBWIBit, Feature_HasVLXBit, },
872 {Feature_HasBWIBit, Feature_NoEGPRBit, },
873 {Feature_HasBWIBit, Feature_NoVLXBit, },
874 {Feature_HasCDIBit, Feature_HasVLXBit, },
875 {Feature_HasCDIBit, Feature_NoVLXBit, },
876 {Feature_HasCRC32Bit, Feature_NoEGPRBit, },
877 {Feature_HasDQIBit, Feature_HasVLXBit, },
878 {Feature_HasDQIBit, Feature_NoBWIBit, },
879 {Feature_HasDQIBit, Feature_NoEGPRBit, },
880 {Feature_HasDQIBit, Feature_NoVLXBit, },
881 {Feature_HasEGPRBit, Feature_HasINVPCIDBit, },
882 {Feature_HasEGPRBit, Feature_In64BitModeBit, },
883 {Feature_HasFMA4Bit, Feature_NoAVX512Bit, },
884 {Feature_HasFMA4Bit, Feature_NoVLXBit, },
885 {Feature_HasFP16Bit, Feature_HasVLXBit, },
886 {Feature_HasFP16Bit, Feature_In64BitModeBit, },
887 {Feature_HasFP16Bit, Feature_OptForSizeBit, },
888 {Feature_HasFSGSBaseBit, Feature_In64BitModeBit, },
889 {Feature_HasFXSRBit, Feature_In64BitModeBit, },
890 {Feature_HasINVPCIDBit, Feature_NoEGPRBit, },
891 {Feature_HasINVPCIDBit, Feature_Not64BitModeBit, },
892 {Feature_HasMOVBEBit, Feature_NoEGPRBit, },
893 {Feature_HasMOVDIR64BBit, Feature_NoEGPRBit, },
894 {Feature_HasMOVDIRIBit, Feature_NoEGPRBit, },
895 {Feature_HasNDDBit, Feature_In64BitModeBit, },
896 {Feature_HasNDDBit, Feature_UseIncDecBit, },
897 {Feature_HasPREFETCHIBit, Feature_In64BitModeBit, },
898 {Feature_HasPTWRITEBit, Feature_In64BitModeBit, },
899 {Feature_HasRDPIDBit, Feature_In64BitModeBit, },
900 {Feature_HasRDPIDBit, Feature_Not64BitModeBit, },
901 {Feature_HasUINTRBit, Feature_In64BitModeBit, },
902 {Feature_HasUSERMSRBit, Feature_NoEGPRBit, },
903 {Feature_HasVAESBit, Feature_HasVLXBit, },
904 {Feature_HasVAESBit, Feature_NoVLXBit, },
905 {Feature_HasVBMI2Bit, Feature_HasVLXBit, },
906 {Feature_HasVLXBit, Feature_HasVPOPCNTDQBit, },
907 {Feature_HasVPOPCNTDQBit, Feature_NoVLXBit, },
908 {Feature_HasWAITPKGBit, Feature_In64BitModeBit, },
909 {Feature_HasWAITPKGBit, Feature_Not64BitModeBit, },
910 {Feature_HasXSAVEBit, Feature_In64BitModeBit, },
911 {Feature_HasXSAVECBit, Feature_In64BitModeBit, },
912 {Feature_HasXSAVEOPTBit, Feature_In64BitModeBit, },
913 {Feature_HasXSAVESBit, Feature_In64BitModeBit, },
914 {Feature_In64BitModeBit, Feature_UseIncDecBit, },
915 {Feature_In64BitModeBit, Feature_UseSSE2Bit, },
916 {Feature_NoNDDBit, Feature_UseIncDecBit, },
917 {Feature_Not64BitModeBit, Feature_OptForSizeBit, },
918 {Feature_NotWin64WithoutFPBit, Feature_OptForMinSizeBit, },
919 {Feature_OptForSizeBit, Feature_UseAVXBit, },
920 {Feature_OptForSizeBit, Feature_UseSSE1Bit, },
921 {Feature_OptForSizeBit, Feature_UseSSE2Bit, },
922 {Feature_HasAESBit, Feature_HasAVXBit, Feature_NoVLX_Or_NoVAESBit, },
923 {Feature_HasAMXAVX512Bit, Feature_HasAVX10_2Bit, Feature_In64BitModeBit, },
924 {Feature_HasAMXTILEBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
925 {Feature_HasAMXTILEBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
926 {Feature_HasAVX10_2Bit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
927 {Feature_HasAVX512Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
928 {Feature_HasBWIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
929 {Feature_HasCRC32Bit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
930 {Feature_HasDQIBit, Feature_HasEGPRBit, Feature_In64BitModeBit, },
931 {Feature_HasDQIBit, Feature_HasVLXBit, Feature_NoBWIBit, },
932 {Feature_HasEGPRBit, Feature_HasMOVBEBit, Feature_In64BitModeBit, },
933 {Feature_HasEGPRBit, Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, },
934 {Feature_HasEGPRBit, Feature_HasMOVDIRIBit, Feature_In64BitModeBit, },
935 {Feature_HasEGPRBit, Feature_HasMOVRSBit, Feature_In64BitModeBit, },
936 {Feature_HasEGPRBit, Feature_HasUSERMSRBit, Feature_In64BitModeBit, },
937 {Feature_HasFMABit, Feature_NoAVX512Bit, Feature_NoFMA4Bit, },
938 {Feature_HasFMABit, Feature_NoFMA4Bit, Feature_NoVLXBit, },
939 {Feature_HasMOVBEBit, Feature_HasNDDBit, Feature_In64BitModeBit, },
940 {Feature_HasMOVDIR64BBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
941 {Feature_HasMOVDIRIBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
942 {Feature_HasMOVRSBit, Feature_In64BitModeBit, Feature_NoEGPRBit, },
943};
944
945// ComplexPattern predicates.
946enum {
947 GICP_Invalid,
948 GICP_gi_addr,
949};
950// See constructor for table contents
951
952X86InstructionSelector::ComplexMatcherMemFn
953X86InstructionSelector::ComplexPredicateFns[] = {
954 nullptr, // GICP_Invalid
955 &X86InstructionSelector::selectAddr, // gi_addr
956};
957
958// PatFrag predicates.
959enum {
960 GICXXPred_MI_Predicate_alignedload = GICXXPred_Invalid + 1,
961 GICXXPred_MI_Predicate_alignedstore,
962 GICXXPred_MI_Predicate_ffloor_nnan,
963 GICXXPred_MI_Predicate_imm_su,
964 GICXXPred_MI_Predicate_loadi8,
965 GICXXPred_MI_Predicate_loadi16,
966 GICXXPred_MI_Predicate_loadi32,
967 GICXXPred_MI_Predicate_or_disjoint,
968};
969bool X86InstructionSelector::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
970 const MachineFunction &MF = *MI.getParent()->getParent();
971 const MachineRegisterInfo &MRI = MF.getRegInfo();
972 const auto &Operands = State.RecordedOperands;
973 (void)Operands;
974 (void)MRI;
975 switch (PredicateID) {
976 case GICXXPred_MI_Predicate_alignedload: {
977
978 auto &LdSt = cast<GLoadStore>(MI);
979 return LdSt.getAlign() >= LdSt.getMemSize().getValue();
980
981 llvm_unreachable("alignedload should have returned");
982 }
983 case GICXXPred_MI_Predicate_alignedstore: {
984
985 auto &LdSt = cast<GLoadStore>(MI);
986 return LdSt.getAlign() >= LdSt.getMemSize().getValue();
987
988 llvm_unreachable("alignedstore should have returned");
989 }
990 case GICXXPred_MI_Predicate_ffloor_nnan: {
991
992 return MI.getFlag(MachineInstr::FmNoNans);
993
994 }
995 case GICXXPred_MI_Predicate_imm_su: {
996 return true;
997 }
998 case GICXXPred_MI_Predicate_loadi8: {
999 return isa<GLoad>(MI);
1000 }
1001 case GICXXPred_MI_Predicate_loadi16: {
1002
1003 auto &Load = cast<GLoad>(MI);
1004 LLT Ty = MRI.getType(Load.getDstReg());
1005 // Non extending load has MMO and destination types of the same size
1006 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1007 return true;
1008 return Load.getAlign() >= 2 && Load.isSimple();
1009
1010 llvm_unreachable("loadi16 should have returned");
1011 }
1012 case GICXXPred_MI_Predicate_loadi32: {
1013
1014 auto &Load = cast<GLoad>(MI);
1015 LLT Ty = MRI.getType(Load.getDstReg());
1016 // Non extending load has MMO and destination types of the same size
1017 if (Load.getMemSizeInBits() == Ty.getSizeInBits())
1018 return true;
1019 return Load.getAlign() >= 4 && Load.isSimple();
1020
1021 llvm_unreachable("loadi32 should have returned");
1022 }
1023 case GICXXPred_MI_Predicate_or_disjoint: {
1024
1025 return MI.getFlag(MachineInstr::Disjoint);
1026
1027 }
1028 }
1029 llvm_unreachable("Unknown predicate");
1030 return false;
1031}
1032// PatFrag predicates.
1033bool X86InstructionSelector::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
1034 const auto &Operands = State.RecordedOperands;
1035 Register Reg = MO.getReg();
1036 (void)Operands;
1037 (void)Reg;
1038 llvm_unreachable("Unknown predicate");
1039 return false;
1040}
1041// PatFrag predicates.
1042enum {
1043 GICXXPred_I64_Predicate_AndMask64 = GICXXPred_Invalid + 1,
1044 GICXXPred_I64_Predicate_BTCBTSMask64,
1045 GICXXPred_I64_Predicate_BTRMask64,
1046 GICXXPred_I64_Predicate_i16immSExt8,
1047 GICXXPred_I64_Predicate_i32immSExt8,
1048 GICXXPred_I64_Predicate_i64immSExt8,
1049 GICXXPred_I64_Predicate_i64immSExt32,
1050 GICXXPred_I64_Predicate_i64immZExt32,
1051 GICXXPred_I64_Predicate_i64immZExt32SExt8,
1052 GICXXPred_I64_Predicate_i64timmSExt32,
1053 GICXXPred_I64_Predicate_immff00_ffff,
1054};
1055bool X86InstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
1056 switch (PredicateID) {
1057 case GICXXPred_I64_Predicate_AndMask64: {
1058
1059 return isMask_64(Imm) && !isUInt<32>(Imm);
1060
1061 }
1062 case GICXXPred_I64_Predicate_BTCBTSMask64: {
1063
1064 return !isInt<32>(Imm) && isPowerOf2_64(Imm);
1065
1066 }
1067 case GICXXPred_I64_Predicate_BTRMask64: {
1068
1069 return !isUInt<32>(Imm) && !isInt<32>(Imm) && isPowerOf2_64(~Imm);
1070
1071 }
1072 case GICXXPred_I64_Predicate_i16immSExt8: {
1073 return isInt<8>(Imm);
1074 }
1075 case GICXXPred_I64_Predicate_i32immSExt8: {
1076 return isInt<8>(Imm);
1077 }
1078 case GICXXPred_I64_Predicate_i64immSExt8: {
1079 return isInt<8>(Imm);
1080 }
1081 case GICXXPred_I64_Predicate_i64immSExt32: {
1082 return isInt<32>(Imm);
1083 }
1084 case GICXXPred_I64_Predicate_i64immZExt32: {
1085 return isUInt<32>(Imm);
1086 }
1087 case GICXXPred_I64_Predicate_i64immZExt32SExt8: {
1088
1089 return isUInt<32>(Imm) && isInt<8>(static_cast<int32_t>(Imm));
1090
1091 }
1092 case GICXXPred_I64_Predicate_i64timmSExt32: {
1093 return isInt<32>(Imm);
1094 }
1095 case GICXXPred_I64_Predicate_immff00_ffff: {
1096
1097 return Imm >= 0xff00 && Imm <= 0xffff;
1098
1099 }
1100 }
1101 llvm_unreachable("Unknown predicate");
1102 return false;
1103}
1104// PatFrag predicates.
1105enum {
1106 GICXXPred_APFloat_Predicate_fpimm0 = GICXXPred_Invalid + 1,
1107 GICXXPred_APFloat_Predicate_fpimm1,
1108 GICXXPred_APFloat_Predicate_fpimmneg0,
1109 GICXXPred_APFloat_Predicate_fpimmneg1,
1110};
1111bool X86InstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
1112 switch (PredicateID) {
1113 case GICXXPred_APFloat_Predicate_fpimm0: {
1114
1115 return Imm.isExactlyValue(+0.0);
1116
1117 }
1118 case GICXXPred_APFloat_Predicate_fpimm1: {
1119
1120 return Imm.isExactlyValue(+1.0);
1121
1122 }
1123 case GICXXPred_APFloat_Predicate_fpimmneg0: {
1124
1125 return Imm.isExactlyValue(-0.0);
1126
1127 }
1128 case GICXXPred_APFloat_Predicate_fpimmneg1: {
1129
1130 return Imm.isExactlyValue(-1.0);
1131
1132 }
1133 }
1134 llvm_unreachable("Unknown predicate");
1135 return false;
1136}
1137// PatFrag predicates.
1138bool X86InstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
1139 llvm_unreachable("Unknown predicate");
1140 return false;
1141}
1142bool X86InstructionSelector::testSimplePredicate(unsigned) const {
1143 llvm_unreachable("X86InstructionSelector does not support simple predicates!");
1144 return false;
1145}
1146// Custom renderers.
1147enum {
1148 GICR_Invalid,
1149};
1150X86InstructionSelector::CustomRendererFn
1151X86InstructionSelector::CustomRenderers[] = {
1152 nullptr, // GICR_Invalid
1153};
1154
1155bool X86InstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const {
1156 const PredicateBitset AvailableFeatures = getAvailableFeatures();
1157 MachineIRBuilder B(I);
1158 State.MIs.clear();
1159 State.MIs.push_back(&I);
1160
1161 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), TII, MF->getRegInfo(), TRI, RBI, AvailableFeatures, &CoverageInfo)) {
1162 return true;
1163 }
1164
1165 return false;
1166}
1167
1168bool X86InstructionSelector::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const {
1169 llvm_unreachable("X86InstructionSelector does not support custom C++ actions!");
1170}
1171#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
1172#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((Val) >> 8)
1173#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24)
1174#define GIMT_Encode8(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24), uint8_t(uint64_t(Val) >> 32), uint8_t(uint64_t(Val) >> 40), uint8_t(uint64_t(Val) >> 48), uint8_t(uint64_t(Val) >> 56)
1175#else
1176#define GIMT_Encode2(Val) uint8_t((Val) >> 8), uint8_t(Val)
1177#define GIMT_Encode4(Val) uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
1178#define GIMT_Encode8(Val) uint8_t(uint64_t(Val) >> 56), uint8_t(uint64_t(Val) >> 48), uint8_t(uint64_t(Val) >> 40), uint8_t(uint64_t(Val) >> 32), uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
1179#endif
1180const uint8_t *X86InstructionSelector::getMatchTable() const {
1181 constexpr static uint8_t MatchTable0[] = {
1182 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(55), GIMT_Encode2(358), /*)*//*default:*//*Label 82*/ GIMT_Encode4(239399),
1183 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(1222),
1184 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(7455),
1185 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(10991), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1186 /* 46 */ /*TargetOpcode::G_AND*//*Label 3*/ GIMT_Encode4(14774),
1187 /* 50 */ /*TargetOpcode::G_OR*//*Label 4*/ GIMT_Encode4(25366),
1188 /* 54 */ /*TargetOpcode::G_XOR*//*Label 5*/ GIMT_Encode4(33770), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1189 /* 70 */ /*TargetOpcode::G_UAVGCEIL*//*Label 6*/ GIMT_Encode4(46471), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1190 /* 130 */ /*TargetOpcode::G_CONCAT_VECTORS*//*Label 7*/ GIMT_Encode4(48157), GIMT_Encode4(0), GIMT_Encode4(0),
1191 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 8*/ GIMT_Encode4(48324), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1192 /* 166 */ /*TargetOpcode::G_INTRINSIC_LRINT*//*Label 9*/ GIMT_Encode4(50960),
1193 /* 170 */ /*TargetOpcode::G_INTRINSIC_LLRINT*//*Label 10*/ GIMT_Encode4(54138), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1194 /* 186 */ /*TargetOpcode::G_LOAD*//*Label 11*/ GIMT_Encode4(55358),
1195 /* 190 */ /*TargetOpcode::G_SEXTLOAD*//*Label 12*/ GIMT_Encode4(61583),
1196 /* 194 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 13*/ GIMT_Encode4(61916), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1197 /* 210 */ /*TargetOpcode::G_STORE*//*Label 14*/ GIMT_Encode4(62571), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1198 /* 226 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 15*/ GIMT_Encode4(88034),
1199 /* 230 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 16*/ GIMT_Encode4(88270), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1200 /* 314 */ /*TargetOpcode::G_PREFETCH*//*Label 17*/ GIMT_Encode4(88518), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1201 /* 330 */ /*TargetOpcode::G_INTRINSIC*//*Label 18*/ GIMT_Encode4(88837),
1202 /* 334 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 19*/ GIMT_Encode4(101384), GIMT_Encode4(0), GIMT_Encode4(0),
1203 /* 346 */ /*TargetOpcode::G_ANYEXT*//*Label 20*/ GIMT_Encode4(110125),
1204 /* 350 */ /*TargetOpcode::G_TRUNC*//*Label 21*/ GIMT_Encode4(110560), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1205 /* 366 */ /*TargetOpcode::G_CONSTANT*//*Label 22*/ GIMT_Encode4(111649),
1206 /* 370 */ /*TargetOpcode::G_FCONSTANT*//*Label 23*/ GIMT_Encode4(112255), GIMT_Encode4(0), GIMT_Encode4(0),
1207 /* 382 */ /*TargetOpcode::G_SEXT*//*Label 24*/ GIMT_Encode4(112708),
1208 /* 386 */ /*TargetOpcode::G_SEXT_INREG*//*Label 25*/ GIMT_Encode4(114380),
1209 /* 390 */ /*TargetOpcode::G_ZEXT*//*Label 26*/ GIMT_Encode4(114622),
1210 /* 394 */ /*TargetOpcode::G_SHL*//*Label 27*/ GIMT_Encode4(116606),
1211 /* 398 */ /*TargetOpcode::G_LSHR*//*Label 28*/ GIMT_Encode4(118890),
1212 /* 402 */ /*TargetOpcode::G_ASHR*//*Label 29*/ GIMT_Encode4(120934),
1213 /* 406 */ /*TargetOpcode::G_FSHL*//*Label 30*/ GIMT_Encode4(122978),
1214 /* 410 */ /*TargetOpcode::G_FSHR*//*Label 31*/ GIMT_Encode4(124705),
1215 /* 414 */ /*TargetOpcode::G_ROTR*//*Label 32*/ GIMT_Encode4(126446),
1216 /* 418 */ /*TargetOpcode::G_ROTL*//*Label 33*/ GIMT_Encode4(129944),
1217 /* 422 */ /*TargetOpcode::G_ICMP*//*Label 34*/ GIMT_Encode4(133664), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1218 /* 438 */ /*TargetOpcode::G_SELECT*//*Label 35*/ GIMT_Encode4(135321), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1219 /* 482 */ /*TargetOpcode::G_UMULH*//*Label 36*/ GIMT_Encode4(142987),
1220 /* 486 */ /*TargetOpcode::G_SMULH*//*Label 37*/ GIMT_Encode4(143852),
1221 /* 490 */ /*TargetOpcode::G_UADDSAT*//*Label 38*/ GIMT_Encode4(144717),
1222 /* 494 */ /*TargetOpcode::G_SADDSAT*//*Label 39*/ GIMT_Encode4(146403),
1223 /* 498 */ /*TargetOpcode::G_USUBSAT*//*Label 40*/ GIMT_Encode4(148089),
1224 /* 502 */ /*TargetOpcode::G_SSUBSAT*//*Label 41*/ GIMT_Encode4(149155), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1225 /* 546 */ /*TargetOpcode::G_FADD*//*Label 42*/ GIMT_Encode4(150221),
1226 /* 550 */ /*TargetOpcode::G_FSUB*//*Label 43*/ GIMT_Encode4(156135),
1227 /* 554 */ /*TargetOpcode::G_FMUL*//*Label 44*/ GIMT_Encode4(160317),
1228 /* 558 */ /*TargetOpcode::G_FMA*//*Label 45*/ GIMT_Encode4(166231), GIMT_Encode4(0),
1229 /* 566 */ /*TargetOpcode::G_FDIV*//*Label 46*/ GIMT_Encode4(172219), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1230 /* 618 */ /*TargetOpcode::G_FNEG*//*Label 47*/ GIMT_Encode4(176401),
1231 /* 622 */ /*TargetOpcode::G_FPEXT*//*Label 48*/ GIMT_Encode4(176524),
1232 /* 626 */ /*TargetOpcode::G_FPTRUNC*//*Label 49*/ GIMT_Encode4(177456),
1233 /* 630 */ /*TargetOpcode::G_FPTOSI*//*Label 50*/ GIMT_Encode4(177842),
1234 /* 634 */ /*TargetOpcode::G_FPTOUI*//*Label 51*/ GIMT_Encode4(179223),
1235 /* 638 */ /*TargetOpcode::G_SITOFP*//*Label 52*/ GIMT_Encode4(179779),
1236 /* 642 */ /*TargetOpcode::G_UITOFP*//*Label 53*/ GIMT_Encode4(183155), GIMT_Encode4(0), GIMT_Encode4(0),
1237 /* 654 */ /*TargetOpcode::G_FABS*//*Label 54*/ GIMT_Encode4(185402), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1238 /* 742 */ /*TargetOpcode::G_SMIN*//*Label 55*/ GIMT_Encode4(185525),
1239 /* 746 */ /*TargetOpcode::G_SMAX*//*Label 56*/ GIMT_Encode4(188846),
1240 /* 750 */ /*TargetOpcode::G_UMIN*//*Label 57*/ GIMT_Encode4(192167),
1241 /* 754 */ /*TargetOpcode::G_UMAX*//*Label 58*/ GIMT_Encode4(195488),
1242 /* 758 */ /*TargetOpcode::G_ABS*//*Label 59*/ GIMT_Encode4(198809), GIMT_Encode4(0), GIMT_Encode4(0),
1243 /* 770 */ /*TargetOpcode::G_BR*//*Label 60*/ GIMT_Encode4(200690), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1244 /* 786 */ /*TargetOpcode::G_EXTRACT_SUBVECTOR*//*Label 61*/ GIMT_Encode4(200706), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1245 /* 810 */ /*TargetOpcode::G_VECTOR_COMPRESS*//*Label 62*/ GIMT_Encode4(203635),
1246 /* 814 */ /*TargetOpcode::G_CTTZ*//*Label 63*/ GIMT_Encode4(205617),
1247 /* 818 */ /*TargetOpcode::G_CTTZ_ZERO_UNDEF*//*Label 64*/ GIMT_Encode4(205923),
1248 /* 822 */ /*TargetOpcode::G_CTLZ*//*Label 65*/ GIMT_Encode4(206310), GIMT_Encode4(0), GIMT_Encode4(0),
1249 /* 834 */ /*TargetOpcode::G_CTPOP*//*Label 66*/ GIMT_Encode4(207614),
1250 /* 838 */ /*TargetOpcode::G_BSWAP*//*Label 67*/ GIMT_Encode4(209876), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1251 /* 894 */ /*TargetOpcode::G_FSQRT*//*Label 68*/ GIMT_Encode4(210376), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1252 /* 934 */ /*TargetOpcode::G_STRICT_FADD*//*Label 69*/ GIMT_Encode4(212545),
1253 /* 938 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 70*/ GIMT_Encode4(217475),
1254 /* 942 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 71*/ GIMT_Encode4(221165),
1255 /* 946 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 72*/ GIMT_Encode4(226095), GIMT_Encode4(0),
1256 /* 954 */ /*TargetOpcode::G_STRICT_FMA*//*Label 73*/ GIMT_Encode4(229785),
1257 /* 958 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 74*/ GIMT_Encode4(235773), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1258 /* 994 */ /*TargetOpcode::G_TRAP*//*Label 75*/ GIMT_Encode4(237942),
1259 /* 998 */ /*TargetOpcode::G_DEBUGTRAP*//*Label 76*/ GIMT_Encode4(237955),
1260 /* 1002 */ /*TargetOpcode::G_UBSANTRAP*//*Label 77*/ GIMT_Encode4(237991), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1261 /* 1206 */ /*X86::G_FILD*//*Label 78*/ GIMT_Encode4(238007),
1262 /* 1210 */ /*X86::G_FIST*//*Label 79*/ GIMT_Encode4(238466),
1263 /* 1214 */ /*X86::G_FLDCW16*//*Label 80*/ GIMT_Encode4(239330),
1264 /* 1218 */ /*X86::G_FNSTCW16*//*Label 81*/ GIMT_Encode4(239366),
1265 /* 1222 */ // Label 0: @1222
1266 /* 1222 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 99*/ GIMT_Encode4(7454),
1267 /* 1233 */ /*GILLT_s8*//*Label 83*/ GIMT_Encode4(1329),
1268 /* 1237 */ /*GILLT_s16*//*Label 84*/ GIMT_Encode4(1834),
1269 /* 1241 */ /*GILLT_s32*//*Label 85*/ GIMT_Encode4(2484),
1270 /* 1245 */ /*GILLT_s64*//*Label 86*/ GIMT_Encode4(3134), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1271 /* 1261 */ /*GILLT_v2s64*//*Label 87*/ GIMT_Encode4(3958), GIMT_Encode4(0),
1272 /* 1269 */ /*GILLT_v4s32*//*Label 88*/ GIMT_Encode4(4300),
1273 /* 1273 */ /*GILLT_v4s64*//*Label 89*/ GIMT_Encode4(4764), GIMT_Encode4(0),
1274 /* 1281 */ /*GILLT_v8s16*//*Label 90*/ GIMT_Encode4(5079),
1275 /* 1285 */ /*GILLT_v8s32*//*Label 91*/ GIMT_Encode4(5543),
1276 /* 1289 */ /*GILLT_v8s64*//*Label 92*/ GIMT_Encode4(5858), GIMT_Encode4(0),
1277 /* 1297 */ /*GILLT_v16s8*//*Label 93*/ GIMT_Encode4(6014),
1278 /* 1301 */ /*GILLT_v16s16*//*Label 94*/ GIMT_Encode4(6356),
1279 /* 1305 */ /*GILLT_v16s32*//*Label 95*/ GIMT_Encode4(6671), GIMT_Encode4(0),
1280 /* 1313 */ /*GILLT_v32s8*//*Label 96*/ GIMT_Encode4(6827),
1281 /* 1317 */ /*GILLT_v32s16*//*Label 97*/ GIMT_Encode4(7142), GIMT_Encode4(0),
1282 /* 1325 */ /*GILLT_v64s8*//*Label 98*/ GIMT_Encode4(7298),
1283 /* 1329 */ // Label 83: @1329
1284 /* 1329 */ GIM_Try, /*On fail goto*//*Label 100*/ GIMT_Encode4(1833),
1285 /* 1334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
1286 /* 1337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
1287 /* 1340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1288 /* 1344 */ GIM_Try, /*On fail goto*//*Label 101*/ GIMT_Encode4(1405), // Rule ID 26087 //
1289 /* 1349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1290 /* 1352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1291 /* 1356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1292 /* 1360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1293 /* 1363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1294 /* 1367 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1295 /* 1371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1296 /* 1375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1297 /* 1377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1298 /* 1384 */ // (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (ADD8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
1299 /* 1384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1300 /* 1387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1301 /* 1389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1302 /* 1391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1303 /* 1395 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1304 /* 1398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1305 /* 1403 */ GIR_RootConstrainSelectedInstOperands,
1306 /* 1404 */ // GIR_Coverage, 26087,
1307 /* 1404 */ GIR_EraseRootFromParent_Done,
1308 /* 1405 */ // Label 101: @1405
1309 /* 1405 */ GIM_Try, /*On fail goto*//*Label 102*/ GIMT_Encode4(1466), // Rule ID 26106 //
1310 /* 1410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1311 /* 1413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1312 /* 1417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1313 /* 1421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1314 /* 1424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1315 /* 1428 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1316 /* 1432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1317 /* 1436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1318 /* 1438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1319 /* 1445 */ // (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (ADD8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
1320 /* 1445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm_ND),
1321 /* 1448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1322 /* 1450 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1323 /* 1452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1324 /* 1456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1325 /* 1459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1326 /* 1464 */ GIR_RootConstrainSelectedInstOperands,
1327 /* 1465 */ // GIR_Coverage, 26106,
1328 /* 1465 */ GIR_EraseRootFromParent_Done,
1329 /* 1466 */ // Label 102: @1466
1330 /* 1466 */ GIM_Try, /*On fail goto*//*Label 103*/ GIMT_Encode4(1527), // Rule ID 22829 //
1331 /* 1471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1332 /* 1474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1333 /* 1478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1334 /* 1482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1335 /* 1486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1336 /* 1489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1337 /* 1493 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1338 /* 1497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1339 /* 1499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1340 /* 1506 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (ADD8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
1341 /* 1506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1342 /* 1509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1343 /* 1511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1344 /* 1513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1345 /* 1517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1346 /* 1520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1347 /* 1525 */ GIR_RootConstrainSelectedInstOperands,
1348 /* 1526 */ // GIR_Coverage, 22829,
1349 /* 1526 */ GIR_EraseRootFromParent_Done,
1350 /* 1527 */ // Label 103: @1527
1351 /* 1527 */ GIM_Try, /*On fail goto*//*Label 104*/ GIMT_Encode4(1588), // Rule ID 22919 //
1352 /* 1532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1353 /* 1535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1354 /* 1539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1355 /* 1543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1356 /* 1547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1357 /* 1550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1358 /* 1554 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1359 /* 1558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1360 /* 1560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1361 /* 1567 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (ADD8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
1362 /* 1567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm_ND),
1363 /* 1570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1364 /* 1572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1365 /* 1574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1366 /* 1578 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1367 /* 1581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1368 /* 1586 */ GIR_RootConstrainSelectedInstOperands,
1369 /* 1587 */ // GIR_Coverage, 22919,
1370 /* 1587 */ GIR_EraseRootFromParent_Done,
1371 /* 1588 */ // Label 104: @1588
1372 /* 1588 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(1616), // Rule ID 22895 //
1373 /* 1593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1374 /* 1596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1375 /* 1600 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1376 /* 1604 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1377 /* 1604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
1378 /* 1607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1379 /* 1609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1380 /* 1611 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1381 /* 1614 */ GIR_RootConstrainSelectedInstOperands,
1382 /* 1615 */ // GIR_Coverage, 22895,
1383 /* 1615 */ GIR_EraseRootFromParent_Done,
1384 /* 1616 */ // Label 105: @1616
1385 /* 1616 */ GIM_Try, /*On fail goto*//*Label 106*/ GIMT_Encode4(1644), // Rule ID 22899 //
1386 /* 1621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1387 /* 1624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1388 /* 1628 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1389 /* 1632 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1390 /* 1632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r),
1391 /* 1635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1392 /* 1637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1393 /* 1639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1394 /* 1642 */ GIR_RootConstrainSelectedInstOperands,
1395 /* 1643 */ // GIR_Coverage, 22899,
1396 /* 1643 */ GIR_EraseRootFromParent_Done,
1397 /* 1644 */ // Label 106: @1644
1398 /* 1644 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(1672), // Rule ID 22985 //
1399 /* 1649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1400 /* 1652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1401 /* 1656 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1402 /* 1660 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1403 /* 1660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
1404 /* 1663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1405 /* 1665 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1406 /* 1667 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1407 /* 1670 */ GIR_RootConstrainSelectedInstOperands,
1408 /* 1671 */ // GIR_Coverage, 22985,
1409 /* 1671 */ GIR_EraseRootFromParent_Done,
1410 /* 1672 */ // Label 107: @1672
1411 /* 1672 */ GIM_Try, /*On fail goto*//*Label 108*/ GIMT_Encode4(1700), // Rule ID 22989 //
1412 /* 1677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1413 /* 1680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1414 /* 1684 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1415 /* 1688 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1416 /* 1688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r_ND),
1417 /* 1691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1418 /* 1693 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1419 /* 1695 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1420 /* 1698 */ GIR_RootConstrainSelectedInstOperands,
1421 /* 1699 */ // GIR_Coverage, 22989,
1422 /* 1699 */ GIR_EraseRootFromParent_Done,
1423 /* 1700 */ // Label 108: @1700
1424 /* 1700 */ GIM_Try, /*On fail goto*//*Label 109*/ GIMT_Encode4(1737), // Rule ID 22833 //
1425 /* 1705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1426 /* 1708 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1427 /* 1712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1428 /* 1716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1429 /* 1720 */ // MIs[1] Operand 1
1430 /* 1720 */ // No operand predicates
1431 /* 1720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1432 /* 1722 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1433 /* 1722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
1434 /* 1725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1435 /* 1727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1436 /* 1729 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1437 /* 1732 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1438 /* 1735 */ GIR_RootConstrainSelectedInstOperands,
1439 /* 1736 */ // GIR_Coverage, 22833,
1440 /* 1736 */ GIR_EraseRootFromParent_Done,
1441 /* 1737 */ // Label 109: @1737
1442 /* 1737 */ GIM_Try, /*On fail goto*//*Label 110*/ GIMT_Encode4(1774), // Rule ID 22923 //
1443 /* 1742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1444 /* 1745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1445 /* 1749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1446 /* 1753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1447 /* 1757 */ // MIs[1] Operand 1
1448 /* 1757 */ // No operand predicates
1449 /* 1757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1450 /* 1759 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1451 /* 1759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_ND),
1452 /* 1762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1453 /* 1764 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1454 /* 1766 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1455 /* 1769 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1456 /* 1772 */ GIR_RootConstrainSelectedInstOperands,
1457 /* 1773 */ // GIR_Coverage, 22923,
1458 /* 1773 */ GIR_EraseRootFromParent_Done,
1459 /* 1774 */ // Label 110: @1774
1460 /* 1774 */ GIM_Try, /*On fail goto*//*Label 111*/ GIMT_Encode4(1803), // Rule ID 22825 //
1461 /* 1779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1462 /* 1782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1463 /* 1786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1464 /* 1790 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1465 /* 1790 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
1466 /* 1795 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1467 /* 1801 */ GIR_RootConstrainSelectedInstOperands,
1468 /* 1802 */ // GIR_Coverage, 22825,
1469 /* 1802 */ GIR_Done,
1470 /* 1803 */ // Label 111: @1803
1471 /* 1803 */ GIM_Try, /*On fail goto*//*Label 112*/ GIMT_Encode4(1832), // Rule ID 22915 //
1472 /* 1808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1473 /* 1811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1474 /* 1815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1475 /* 1819 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1476 /* 1819 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
1477 /* 1824 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1478 /* 1830 */ GIR_RootConstrainSelectedInstOperands,
1479 /* 1831 */ // GIR_Coverage, 22915,
1480 /* 1831 */ GIR_Done,
1481 /* 1832 */ // Label 112: @1832
1482 /* 1832 */ GIM_Reject,
1483 /* 1833 */ // Label 100: @1833
1484 /* 1833 */ GIM_Reject,
1485 /* 1834 */ // Label 84: @1834
1486 /* 1834 */ GIM_Try, /*On fail goto*//*Label 113*/ GIMT_Encode4(2483),
1487 /* 1839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
1488 /* 1842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
1489 /* 1845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1490 /* 1849 */ GIM_Try, /*On fail goto*//*Label 114*/ GIMT_Encode4(1918), // Rule ID 22650 //
1491 /* 1854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1492 /* 1857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1493 /* 1861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1494 /* 1865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1495 /* 1868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1496 /* 1872 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1497 /* 1876 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1498 /* 1887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1499 /* 1889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1500 /* 1896 */ // (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 128:{ *:[i16] }) => (SUB16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -128:{ *:[i16] })
1501 /* 1896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi_ND),
1502 /* 1899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1503 /* 1901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
1504 /* 1905 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1505 /* 1908 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1506 /* 1911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1507 /* 1916 */ GIR_RootConstrainSelectedInstOperands,
1508 /* 1917 */ // GIR_Coverage, 22650,
1509 /* 1917 */ GIR_EraseRootFromParent_Done,
1510 /* 1918 */ // Label 114: @1918
1511 /* 1918 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(1979), // Rule ID 26088 //
1512 /* 1923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1513 /* 1926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1514 /* 1930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1515 /* 1934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1516 /* 1937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1517 /* 1941 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1518 /* 1945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1519 /* 1949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1520 /* 1951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1521 /* 1958 */ // (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (ADD16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
1522 /* 1958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1523 /* 1961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1524 /* 1963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1525 /* 1965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1526 /* 1969 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1527 /* 1972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1528 /* 1977 */ GIR_RootConstrainSelectedInstOperands,
1529 /* 1978 */ // GIR_Coverage, 26088,
1530 /* 1978 */ GIR_EraseRootFromParent_Done,
1531 /* 1979 */ // Label 115: @1979
1532 /* 1979 */ GIM_Try, /*On fail goto*//*Label 116*/ GIMT_Encode4(2040), // Rule ID 26107 //
1533 /* 1984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1534 /* 1987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1535 /* 1991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1536 /* 1995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1537 /* 1998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1538 /* 2002 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1539 /* 2006 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1540 /* 2010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1541 /* 2012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1542 /* 2019 */ // (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (ADD16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
1543 /* 2019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm_ND),
1544 /* 2022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1545 /* 2024 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1546 /* 2026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1547 /* 2030 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1548 /* 2033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1549 /* 2038 */ GIR_RootConstrainSelectedInstOperands,
1550 /* 2039 */ // GIR_Coverage, 26107,
1551 /* 2039 */ GIR_EraseRootFromParent_Done,
1552 /* 2040 */ // Label 116: @2040
1553 /* 2040 */ GIM_Try, /*On fail goto*//*Label 117*/ GIMT_Encode4(2101), // Rule ID 22830 //
1554 /* 2045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1555 /* 2048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1556 /* 2052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1557 /* 2056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1558 /* 2060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1559 /* 2063 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1560 /* 2067 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1561 /* 2071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1562 /* 2073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1563 /* 2080 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (ADD16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
1564 /* 2080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1565 /* 2083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1566 /* 2085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1567 /* 2087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1568 /* 2091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1569 /* 2094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1570 /* 2099 */ GIR_RootConstrainSelectedInstOperands,
1571 /* 2100 */ // GIR_Coverage, 22830,
1572 /* 2100 */ GIR_EraseRootFromParent_Done,
1573 /* 2101 */ // Label 117: @2101
1574 /* 2101 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(2162), // Rule ID 22920 //
1575 /* 2106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1576 /* 2109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1577 /* 2113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1578 /* 2117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1579 /* 2121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1580 /* 2124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1581 /* 2128 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1582 /* 2132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1583 /* 2134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1584 /* 2141 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (ADD16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
1585 /* 2141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm_ND),
1586 /* 2144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1587 /* 2146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1588 /* 2148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1589 /* 2152 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1590 /* 2155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1591 /* 2160 */ GIR_RootConstrainSelectedInstOperands,
1592 /* 2161 */ // GIR_Coverage, 22920,
1593 /* 2161 */ GIR_EraseRootFromParent_Done,
1594 /* 2162 */ // Label 118: @2162
1595 /* 2162 */ GIM_Try, /*On fail goto*//*Label 119*/ GIMT_Encode4(2200), // Rule ID 22635 //
1596 /* 2167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1597 /* 2170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1598 /* 2174 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1599 /* 2185 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1600 /* 2185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
1601 /* 2188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1602 /* 2190 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1603 /* 2192 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1604 /* 2195 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1605 /* 2198 */ GIR_RootConstrainSelectedInstOperands,
1606 /* 2199 */ // GIR_Coverage, 22635,
1607 /* 2199 */ GIR_EraseRootFromParent_Done,
1608 /* 2200 */ // Label 119: @2200
1609 /* 2200 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2238), // Rule ID 22641 //
1610 /* 2205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1611 /* 2208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1612 /* 2212 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1613 /* 2223 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1614 /* 2223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
1615 /* 2226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1616 /* 2228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1617 /* 2230 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1618 /* 2233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1619 /* 2236 */ GIR_RootConstrainSelectedInstOperands,
1620 /* 2237 */ // GIR_Coverage, 22641,
1621 /* 2237 */ GIR_EraseRootFromParent_Done,
1622 /* 2238 */ // Label 120: @2238
1623 /* 2238 */ GIM_Try, /*On fail goto*//*Label 121*/ GIMT_Encode4(2266), // Rule ID 22896 //
1624 /* 2243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1625 /* 2246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1626 /* 2250 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1627 /* 2254 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1628 /* 2254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
1629 /* 2257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1630 /* 2259 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1631 /* 2261 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1632 /* 2264 */ GIR_RootConstrainSelectedInstOperands,
1633 /* 2265 */ // GIR_Coverage, 22896,
1634 /* 2265 */ GIR_EraseRootFromParent_Done,
1635 /* 2266 */ // Label 121: @2266
1636 /* 2266 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(2294), // Rule ID 22900 //
1637 /* 2271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1638 /* 2274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1639 /* 2278 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1640 /* 2282 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1641 /* 2282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r),
1642 /* 2285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1643 /* 2287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1644 /* 2289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1645 /* 2292 */ GIR_RootConstrainSelectedInstOperands,
1646 /* 2293 */ // GIR_Coverage, 22900,
1647 /* 2293 */ GIR_EraseRootFromParent_Done,
1648 /* 2294 */ // Label 122: @2294
1649 /* 2294 */ GIM_Try, /*On fail goto*//*Label 123*/ GIMT_Encode4(2322), // Rule ID 22986 //
1650 /* 2299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1651 /* 2302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1652 /* 2306 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1653 /* 2310 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1654 /* 2310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
1655 /* 2313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1656 /* 2315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1657 /* 2317 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1658 /* 2320 */ GIR_RootConstrainSelectedInstOperands,
1659 /* 2321 */ // GIR_Coverage, 22986,
1660 /* 2321 */ GIR_EraseRootFromParent_Done,
1661 /* 2322 */ // Label 123: @2322
1662 /* 2322 */ GIM_Try, /*On fail goto*//*Label 124*/ GIMT_Encode4(2350), // Rule ID 22990 //
1663 /* 2327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1664 /* 2330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1665 /* 2334 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1666 /* 2338 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1667 /* 2338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r_ND),
1668 /* 2341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1669 /* 2343 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1670 /* 2345 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1671 /* 2348 */ GIR_RootConstrainSelectedInstOperands,
1672 /* 2349 */ // GIR_Coverage, 22990,
1673 /* 2349 */ GIR_EraseRootFromParent_Done,
1674 /* 2350 */ // Label 124: @2350
1675 /* 2350 */ GIM_Try, /*On fail goto*//*Label 125*/ GIMT_Encode4(2387), // Rule ID 22834 //
1676 /* 2355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1677 /* 2358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1678 /* 2362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1679 /* 2366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1680 /* 2370 */ // MIs[1] Operand 1
1681 /* 2370 */ // No operand predicates
1682 /* 2370 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1683 /* 2372 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1684 /* 2372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
1685 /* 2375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1686 /* 2377 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1687 /* 2379 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1688 /* 2382 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1689 /* 2385 */ GIR_RootConstrainSelectedInstOperands,
1690 /* 2386 */ // GIR_Coverage, 22834,
1691 /* 2386 */ GIR_EraseRootFromParent_Done,
1692 /* 2387 */ // Label 125: @2387
1693 /* 2387 */ GIM_Try, /*On fail goto*//*Label 126*/ GIMT_Encode4(2424), // Rule ID 22924 //
1694 /* 2392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1695 /* 2395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1696 /* 2399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1697 /* 2403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1698 /* 2407 */ // MIs[1] Operand 1
1699 /* 2407 */ // No operand predicates
1700 /* 2407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1701 /* 2409 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1702 /* 2409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_ND),
1703 /* 2412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1704 /* 2414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1705 /* 2416 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1706 /* 2419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1707 /* 2422 */ GIR_RootConstrainSelectedInstOperands,
1708 /* 2423 */ // GIR_Coverage, 22924,
1709 /* 2423 */ GIR_EraseRootFromParent_Done,
1710 /* 2424 */ // Label 126: @2424
1711 /* 2424 */ GIM_Try, /*On fail goto*//*Label 127*/ GIMT_Encode4(2453), // Rule ID 22826 //
1712 /* 2429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1713 /* 2432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1714 /* 2436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1715 /* 2440 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1716 /* 2440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
1717 /* 2445 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1718 /* 2451 */ GIR_RootConstrainSelectedInstOperands,
1719 /* 2452 */ // GIR_Coverage, 22826,
1720 /* 2452 */ GIR_Done,
1721 /* 2453 */ // Label 127: @2453
1722 /* 2453 */ GIM_Try, /*On fail goto*//*Label 128*/ GIMT_Encode4(2482), // Rule ID 22916 //
1723 /* 2458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1724 /* 2461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1725 /* 2465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1726 /* 2469 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1727 /* 2469 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
1728 /* 2474 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1729 /* 2480 */ GIR_RootConstrainSelectedInstOperands,
1730 /* 2481 */ // GIR_Coverage, 22916,
1731 /* 2481 */ GIR_Done,
1732 /* 2482 */ // Label 128: @2482
1733 /* 2482 */ GIM_Reject,
1734 /* 2483 */ // Label 113: @2483
1735 /* 2483 */ GIM_Reject,
1736 /* 2484 */ // Label 85: @2484
1737 /* 2484 */ GIM_Try, /*On fail goto*//*Label 129*/ GIMT_Encode4(3133),
1738 /* 2489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1739 /* 2492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1740 /* 2495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1741 /* 2499 */ GIM_Try, /*On fail goto*//*Label 130*/ GIMT_Encode4(2568), // Rule ID 22651 //
1742 /* 2504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1743 /* 2507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1744 /* 2511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1745 /* 2515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1746 /* 2518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1747 /* 2522 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1748 /* 2526 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1749 /* 2537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1750 /* 2539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1751 /* 2546 */ // (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 128:{ *:[i32] }) => (SUB32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -128:{ *:[i32] })
1752 /* 2546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi_ND),
1753 /* 2549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1754 /* 2551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
1755 /* 2555 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1756 /* 2558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1757 /* 2561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1758 /* 2566 */ GIR_RootConstrainSelectedInstOperands,
1759 /* 2567 */ // GIR_Coverage, 22651,
1760 /* 2567 */ GIR_EraseRootFromParent_Done,
1761 /* 2568 */ // Label 130: @2568
1762 /* 2568 */ GIM_Try, /*On fail goto*//*Label 131*/ GIMT_Encode4(2629), // Rule ID 26089 //
1763 /* 2573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1764 /* 2576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1765 /* 2580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1766 /* 2584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1767 /* 2587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1768 /* 2591 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1769 /* 2595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1770 /* 2599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1771 /* 2601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1772 /* 2608 */ // (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (ADD32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
1773 /* 2608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1774 /* 2611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1775 /* 2613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1776 /* 2615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1777 /* 2619 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1778 /* 2622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1779 /* 2627 */ GIR_RootConstrainSelectedInstOperands,
1780 /* 2628 */ // GIR_Coverage, 26089,
1781 /* 2628 */ GIR_EraseRootFromParent_Done,
1782 /* 2629 */ // Label 131: @2629
1783 /* 2629 */ GIM_Try, /*On fail goto*//*Label 132*/ GIMT_Encode4(2690), // Rule ID 26108 //
1784 /* 2634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1785 /* 2637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1786 /* 2641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1787 /* 2645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1788 /* 2648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1789 /* 2652 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1790 /* 2656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1791 /* 2660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1792 /* 2662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1793 /* 2669 */ // (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (ADD32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
1794 /* 2669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm_ND),
1795 /* 2672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1796 /* 2674 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1797 /* 2676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1798 /* 2680 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1799 /* 2683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1800 /* 2688 */ GIR_RootConstrainSelectedInstOperands,
1801 /* 2689 */ // GIR_Coverage, 26108,
1802 /* 2689 */ GIR_EraseRootFromParent_Done,
1803 /* 2690 */ // Label 132: @2690
1804 /* 2690 */ GIM_Try, /*On fail goto*//*Label 133*/ GIMT_Encode4(2751), // Rule ID 22831 //
1805 /* 2695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1806 /* 2698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1807 /* 2702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1808 /* 2706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1809 /* 2710 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1810 /* 2713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1811 /* 2717 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1812 /* 2721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1813 /* 2723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1814 /* 2730 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (ADD32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
1815 /* 2730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1816 /* 2733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1817 /* 2735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1818 /* 2737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1819 /* 2741 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1820 /* 2744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1821 /* 2749 */ GIR_RootConstrainSelectedInstOperands,
1822 /* 2750 */ // GIR_Coverage, 22831,
1823 /* 2750 */ GIR_EraseRootFromParent_Done,
1824 /* 2751 */ // Label 133: @2751
1825 /* 2751 */ GIM_Try, /*On fail goto*//*Label 134*/ GIMT_Encode4(2812), // Rule ID 22921 //
1826 /* 2756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1827 /* 2759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1828 /* 2763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1829 /* 2767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1830 /* 2771 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1831 /* 2774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1832 /* 2778 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1833 /* 2782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1834 /* 2784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1835 /* 2791 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (ADD32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
1836 /* 2791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm_ND),
1837 /* 2794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1838 /* 2796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1839 /* 2798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1840 /* 2802 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1841 /* 2805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1842 /* 2810 */ GIR_RootConstrainSelectedInstOperands,
1843 /* 2811 */ // GIR_Coverage, 22921,
1844 /* 2811 */ GIR_EraseRootFromParent_Done,
1845 /* 2812 */ // Label 134: @2812
1846 /* 2812 */ GIM_Try, /*On fail goto*//*Label 135*/ GIMT_Encode4(2850), // Rule ID 22636 //
1847 /* 2817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1848 /* 2820 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1849 /* 2824 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1850 /* 2835 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1851 /* 2835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
1852 /* 2838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1853 /* 2840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1854 /* 2842 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1855 /* 2845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1856 /* 2848 */ GIR_RootConstrainSelectedInstOperands,
1857 /* 2849 */ // GIR_Coverage, 22636,
1858 /* 2849 */ GIR_EraseRootFromParent_Done,
1859 /* 2850 */ // Label 135: @2850
1860 /* 2850 */ GIM_Try, /*On fail goto*//*Label 136*/ GIMT_Encode4(2888), // Rule ID 22642 //
1861 /* 2855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1862 /* 2858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1863 /* 2862 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1864 /* 2873 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1865 /* 2873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
1866 /* 2876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1867 /* 2878 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1868 /* 2880 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1869 /* 2883 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1870 /* 2886 */ GIR_RootConstrainSelectedInstOperands,
1871 /* 2887 */ // GIR_Coverage, 22642,
1872 /* 2887 */ GIR_EraseRootFromParent_Done,
1873 /* 2888 */ // Label 136: @2888
1874 /* 2888 */ GIM_Try, /*On fail goto*//*Label 137*/ GIMT_Encode4(2916), // Rule ID 22897 //
1875 /* 2893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1876 /* 2896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1877 /* 2900 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1878 /* 2904 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1879 /* 2904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
1880 /* 2907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1881 /* 2909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1882 /* 2911 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1883 /* 2914 */ GIR_RootConstrainSelectedInstOperands,
1884 /* 2915 */ // GIR_Coverage, 22897,
1885 /* 2915 */ GIR_EraseRootFromParent_Done,
1886 /* 2916 */ // Label 137: @2916
1887 /* 2916 */ GIM_Try, /*On fail goto*//*Label 138*/ GIMT_Encode4(2944), // Rule ID 22901 //
1888 /* 2921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1889 /* 2924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1890 /* 2928 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1891 /* 2932 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1892 /* 2932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r),
1893 /* 2935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1894 /* 2937 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1895 /* 2939 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1896 /* 2942 */ GIR_RootConstrainSelectedInstOperands,
1897 /* 2943 */ // GIR_Coverage, 22901,
1898 /* 2943 */ GIR_EraseRootFromParent_Done,
1899 /* 2944 */ // Label 138: @2944
1900 /* 2944 */ GIM_Try, /*On fail goto*//*Label 139*/ GIMT_Encode4(2972), // Rule ID 22987 //
1901 /* 2949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1902 /* 2952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1903 /* 2956 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1904 /* 2960 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1905 /* 2960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
1906 /* 2963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1907 /* 2965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1908 /* 2967 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1909 /* 2970 */ GIR_RootConstrainSelectedInstOperands,
1910 /* 2971 */ // GIR_Coverage, 22987,
1911 /* 2971 */ GIR_EraseRootFromParent_Done,
1912 /* 2972 */ // Label 139: @2972
1913 /* 2972 */ GIM_Try, /*On fail goto*//*Label 140*/ GIMT_Encode4(3000), // Rule ID 22991 //
1914 /* 2977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1915 /* 2980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1916 /* 2984 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1917 /* 2988 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1918 /* 2988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r_ND),
1919 /* 2991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1920 /* 2993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1921 /* 2995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1922 /* 2998 */ GIR_RootConstrainSelectedInstOperands,
1923 /* 2999 */ // GIR_Coverage, 22991,
1924 /* 2999 */ GIR_EraseRootFromParent_Done,
1925 /* 3000 */ // Label 140: @3000
1926 /* 3000 */ GIM_Try, /*On fail goto*//*Label 141*/ GIMT_Encode4(3037), // Rule ID 22835 //
1927 /* 3005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1928 /* 3008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1929 /* 3012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1930 /* 3016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1931 /* 3020 */ // MIs[1] Operand 1
1932 /* 3020 */ // No operand predicates
1933 /* 3020 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1934 /* 3022 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1935 /* 3022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
1936 /* 3025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1937 /* 3027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1938 /* 3029 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1939 /* 3032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1940 /* 3035 */ GIR_RootConstrainSelectedInstOperands,
1941 /* 3036 */ // GIR_Coverage, 22835,
1942 /* 3036 */ GIR_EraseRootFromParent_Done,
1943 /* 3037 */ // Label 141: @3037
1944 /* 3037 */ GIM_Try, /*On fail goto*//*Label 142*/ GIMT_Encode4(3074), // Rule ID 22925 //
1945 /* 3042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1946 /* 3045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1947 /* 3049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1948 /* 3053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1949 /* 3057 */ // MIs[1] Operand 1
1950 /* 3057 */ // No operand predicates
1951 /* 3057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1952 /* 3059 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1953 /* 3059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_ND),
1954 /* 3062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1955 /* 3064 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1956 /* 3066 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1957 /* 3069 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1958 /* 3072 */ GIR_RootConstrainSelectedInstOperands,
1959 /* 3073 */ // GIR_Coverage, 22925,
1960 /* 3073 */ GIR_EraseRootFromParent_Done,
1961 /* 3074 */ // Label 142: @3074
1962 /* 3074 */ GIM_Try, /*On fail goto*//*Label 143*/ GIMT_Encode4(3103), // Rule ID 22827 //
1963 /* 3079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1964 /* 3082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1965 /* 3086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1966 /* 3090 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1967 /* 3090 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
1968 /* 3095 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1969 /* 3101 */ GIR_RootConstrainSelectedInstOperands,
1970 /* 3102 */ // GIR_Coverage, 22827,
1971 /* 3102 */ GIR_Done,
1972 /* 3103 */ // Label 143: @3103
1973 /* 3103 */ GIM_Try, /*On fail goto*//*Label 144*/ GIMT_Encode4(3132), // Rule ID 22917 //
1974 /* 3108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1975 /* 3111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1976 /* 3115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1977 /* 3119 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1978 /* 3119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
1979 /* 3124 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1980 /* 3130 */ GIR_RootConstrainSelectedInstOperands,
1981 /* 3131 */ // GIR_Coverage, 22917,
1982 /* 3131 */ GIR_Done,
1983 /* 3132 */ // Label 144: @3132
1984 /* 3132 */ GIM_Reject,
1985 /* 3133 */ // Label 129: @3133
1986 /* 3133 */ GIM_Reject,
1987 /* 3134 */ // Label 86: @3134
1988 /* 3134 */ GIM_Try, /*On fail goto*//*Label 145*/ GIMT_Encode4(3957),
1989 /* 3139 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1990 /* 3142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1991 /* 3145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1992 /* 3149 */ GIM_Try, /*On fail goto*//*Label 146*/ GIMT_Encode4(3218), // Rule ID 22652 //
1993 /* 3154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1994 /* 3157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1995 /* 3161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1996 /* 3165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1997 /* 3168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1998 /* 3172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1999 /* 3176 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
2000 /* 3187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2001 /* 3189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2002 /* 3196 */ // (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 128:{ *:[i64] }) => (SUB64mi32_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -128:{ *:[i64] })
2003 /* 3196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32_ND),
2004 /* 3199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2005 /* 3201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
2006 /* 3205 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
2007 /* 3208 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2008 /* 3211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2009 /* 3216 */ GIR_RootConstrainSelectedInstOperands,
2010 /* 3217 */ // GIR_Coverage, 22652,
2011 /* 3217 */ GIR_EraseRootFromParent_Done,
2012 /* 3218 */ // Label 146: @3218
2013 /* 3218 */ GIM_Try, /*On fail goto*//*Label 147*/ GIMT_Encode4(3294), // Rule ID 22658 //
2014 /* 3223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2015 /* 3226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2016 /* 3230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2017 /* 3234 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2018 /* 3237 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2019 /* 3241 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2020 /* 3245 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
2021 /* 3256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2022 /* 3258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2023 /* 3265 */ // (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 2147483648:{ *:[i64] }) => (SUB64mi32_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src, -2147483648:{ *:[i64] })
2024 /* 3265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32_ND),
2025 /* 3268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2026 /* 3270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
2027 /* 3274 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
2028 /* 3284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2029 /* 3287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2030 /* 3292 */ GIR_RootConstrainSelectedInstOperands,
2031 /* 3293 */ // GIR_Coverage, 22658,
2032 /* 3293 */ GIR_EraseRootFromParent_Done,
2033 /* 3294 */ // Label 147: @3294
2034 /* 3294 */ GIM_Try, /*On fail goto*//*Label 148*/ GIMT_Encode4(3355), // Rule ID 26090 //
2035 /* 3299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2036 /* 3302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2037 /* 3306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2038 /* 3310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2039 /* 3313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2040 /* 3317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2041 /* 3321 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2042 /* 3325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2043 /* 3327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2044 /* 3334 */ // (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (ADD64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2045 /* 3334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
2046 /* 3337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2047 /* 3339 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2048 /* 3341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2049 /* 3345 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2050 /* 3348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2051 /* 3353 */ GIR_RootConstrainSelectedInstOperands,
2052 /* 3354 */ // GIR_Coverage, 26090,
2053 /* 3354 */ GIR_EraseRootFromParent_Done,
2054 /* 3355 */ // Label 148: @3355
2055 /* 3355 */ GIM_Try, /*On fail goto*//*Label 149*/ GIMT_Encode4(3416), // Rule ID 26109 //
2056 /* 3360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2057 /* 3363 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2058 /* 3367 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2059 /* 3371 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2060 /* 3374 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2061 /* 3378 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2062 /* 3382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2063 /* 3386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2064 /* 3388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2065 /* 3395 */ // (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (ADD64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2066 /* 3395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm_ND),
2067 /* 3398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2068 /* 3400 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2069 /* 3402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2070 /* 3406 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2071 /* 3409 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2072 /* 3414 */ GIR_RootConstrainSelectedInstOperands,
2073 /* 3415 */ // GIR_Coverage, 26109,
2074 /* 3415 */ GIR_EraseRootFromParent_Done,
2075 /* 3416 */ // Label 149: @3416
2076 /* 3416 */ GIM_Try, /*On fail goto*//*Label 150*/ GIMT_Encode4(3477), // Rule ID 22832 //
2077 /* 3421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2078 /* 3424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2079 /* 3428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2080 /* 3432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2081 /* 3436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2082 /* 3439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2083 /* 3443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2084 /* 3447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2085 /* 3449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2086 /* 3456 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADD64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2087 /* 3456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
2088 /* 3459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2089 /* 3461 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2090 /* 3463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2091 /* 3467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2092 /* 3470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2093 /* 3475 */ GIR_RootConstrainSelectedInstOperands,
2094 /* 3476 */ // GIR_Coverage, 22832,
2095 /* 3476 */ GIR_EraseRootFromParent_Done,
2096 /* 3477 */ // Label 150: @3477
2097 /* 3477 */ GIM_Try, /*On fail goto*//*Label 151*/ GIMT_Encode4(3538), // Rule ID 22922 //
2098 /* 3482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2099 /* 3485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2100 /* 3489 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2101 /* 3493 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2102 /* 3497 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2103 /* 3500 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2104 /* 3504 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2105 /* 3508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2106 /* 3510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2107 /* 3517 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADD64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2108 /* 3517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm_ND),
2109 /* 3520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2110 /* 3522 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2111 /* 3524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2112 /* 3528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2113 /* 3531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2114 /* 3536 */ GIR_RootConstrainSelectedInstOperands,
2115 /* 3537 */ // GIR_Coverage, 22922,
2116 /* 3537 */ GIR_EraseRootFromParent_Done,
2117 /* 3538 */ // Label 151: @3538
2118 /* 3538 */ GIM_Try, /*On fail goto*//*Label 152*/ GIMT_Encode4(3576), // Rule ID 22637 //
2119 /* 3543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2120 /* 3546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2121 /* 3550 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
2122 /* 3561 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
2123 /* 3561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
2124 /* 3564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2125 /* 3566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2126 /* 3568 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
2127 /* 3571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2128 /* 3574 */ GIR_RootConstrainSelectedInstOperands,
2129 /* 3575 */ // GIR_Coverage, 22637,
2130 /* 3575 */ GIR_EraseRootFromParent_Done,
2131 /* 3576 */ // Label 152: @3576
2132 /* 3576 */ GIM_Try, /*On fail goto*//*Label 153*/ GIMT_Encode4(3614), // Rule ID 22643 //
2133 /* 3581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2134 /* 3584 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2135 /* 3588 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
2136 /* 3599 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
2137 /* 3599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
2138 /* 3602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2139 /* 3604 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2140 /* 3606 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
2141 /* 3609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2142 /* 3612 */ GIR_RootConstrainSelectedInstOperands,
2143 /* 3613 */ // GIR_Coverage, 22643,
2144 /* 3613 */ GIR_EraseRootFromParent_Done,
2145 /* 3614 */ // Label 153: @3614
2146 /* 3614 */ GIM_Try, /*On fail goto*//*Label 154*/ GIMT_Encode4(3659), // Rule ID 22653 //
2147 /* 3619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2148 /* 3622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2149 /* 3626 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
2150 /* 3637 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
2151 /* 3637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
2152 /* 3640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2153 /* 3642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2154 /* 3644 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
2155 /* 3654 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2156 /* 3657 */ GIR_RootConstrainSelectedInstOperands,
2157 /* 3658 */ // GIR_Coverage, 22653,
2158 /* 3658 */ GIR_EraseRootFromParent_Done,
2159 /* 3659 */ // Label 154: @3659
2160 /* 3659 */ GIM_Try, /*On fail goto*//*Label 155*/ GIMT_Encode4(3704), // Rule ID 22655 //
2161 /* 3664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2162 /* 3667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2163 /* 3671 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
2164 /* 3682 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
2165 /* 3682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
2166 /* 3685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2167 /* 3687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2168 /* 3689 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
2169 /* 3699 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2170 /* 3702 */ GIR_RootConstrainSelectedInstOperands,
2171 /* 3703 */ // GIR_Coverage, 22655,
2172 /* 3703 */ GIR_EraseRootFromParent_Done,
2173 /* 3704 */ // Label 155: @3704
2174 /* 3704 */ GIM_Try, /*On fail goto*//*Label 156*/ GIMT_Encode4(3732), // Rule ID 22898 //
2175 /* 3709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
2176 /* 3712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2177 /* 3716 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
2178 /* 3720 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2179 /* 3720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
2180 /* 3723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2181 /* 3725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2182 /* 3727 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2183 /* 3730 */ GIR_RootConstrainSelectedInstOperands,
2184 /* 3731 */ // GIR_Coverage, 22898,
2185 /* 3731 */ GIR_EraseRootFromParent_Done,
2186 /* 3732 */ // Label 156: @3732
2187 /* 3732 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(3760), // Rule ID 22902 //
2188 /* 3737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
2189 /* 3740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2190 /* 3744 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2191 /* 3748 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2192 /* 3748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r),
2193 /* 3751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2194 /* 3753 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2195 /* 3755 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2196 /* 3758 */ GIR_RootConstrainSelectedInstOperands,
2197 /* 3759 */ // GIR_Coverage, 22902,
2198 /* 3759 */ GIR_EraseRootFromParent_Done,
2199 /* 3760 */ // Label 157: @3760
2200 /* 3760 */ GIM_Try, /*On fail goto*//*Label 158*/ GIMT_Encode4(3788), // Rule ID 22988 //
2201 /* 3765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
2202 /* 3768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2203 /* 3772 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
2204 /* 3776 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2205 /* 3776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
2206 /* 3779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2207 /* 3781 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2208 /* 3783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2209 /* 3786 */ GIR_RootConstrainSelectedInstOperands,
2210 /* 3787 */ // GIR_Coverage, 22988,
2211 /* 3787 */ GIR_EraseRootFromParent_Done,
2212 /* 3788 */ // Label 158: @3788
2213 /* 3788 */ GIM_Try, /*On fail goto*//*Label 159*/ GIMT_Encode4(3816), // Rule ID 22992 //
2214 /* 3793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
2215 /* 3796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2216 /* 3800 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
2217 /* 3804 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
2218 /* 3804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r_ND),
2219 /* 3807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2220 /* 3809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
2221 /* 3811 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2222 /* 3814 */ GIR_RootConstrainSelectedInstOperands,
2223 /* 3815 */ // GIR_Coverage, 22992,
2224 /* 3815 */ GIR_EraseRootFromParent_Done,
2225 /* 3816 */ // Label 159: @3816
2226 /* 3816 */ GIM_Try, /*On fail goto*//*Label 160*/ GIMT_Encode4(3857), // Rule ID 22836 //
2227 /* 3821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2228 /* 3824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2229 /* 3828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2230 /* 3832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2231 /* 3836 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2232 /* 3840 */ // MIs[1] Operand 1
2233 /* 3840 */ // No operand predicates
2234 /* 3840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2235 /* 3842 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2236 /* 3842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32),
2237 /* 3845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2238 /* 3847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2239 /* 3849 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2240 /* 3852 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2241 /* 3855 */ GIR_RootConstrainSelectedInstOperands,
2242 /* 3856 */ // GIR_Coverage, 22836,
2243 /* 3856 */ GIR_EraseRootFromParent_Done,
2244 /* 3857 */ // Label 160: @3857
2245 /* 3857 */ GIM_Try, /*On fail goto*//*Label 161*/ GIMT_Encode4(3898), // Rule ID 22926 //
2246 /* 3862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2247 /* 3865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2248 /* 3869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2249 /* 3873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2250 /* 3877 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2251 /* 3881 */ // MIs[1] Operand 1
2252 /* 3881 */ // No operand predicates
2253 /* 3881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2254 /* 3883 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2255 /* 3883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_ND),
2256 /* 3886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2257 /* 3888 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2258 /* 3890 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2259 /* 3893 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2260 /* 3896 */ GIR_RootConstrainSelectedInstOperands,
2261 /* 3897 */ // GIR_Coverage, 22926,
2262 /* 3897 */ GIR_EraseRootFromParent_Done,
2263 /* 3898 */ // Label 161: @3898
2264 /* 3898 */ GIM_Try, /*On fail goto*//*Label 162*/ GIMT_Encode4(3927), // Rule ID 22828 //
2265 /* 3903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2266 /* 3906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2267 /* 3910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2268 /* 3914 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2269 /* 3914 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
2270 /* 3919 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2271 /* 3925 */ GIR_RootConstrainSelectedInstOperands,
2272 /* 3926 */ // GIR_Coverage, 22828,
2273 /* 3926 */ GIR_Done,
2274 /* 3927 */ // Label 162: @3927
2275 /* 3927 */ GIM_Try, /*On fail goto*//*Label 163*/ GIMT_Encode4(3956), // Rule ID 22918 //
2276 /* 3932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2277 /* 3935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2278 /* 3939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2279 /* 3943 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2280 /* 3943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
2281 /* 3948 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2282 /* 3954 */ GIR_RootConstrainSelectedInstOperands,
2283 /* 3955 */ // GIR_Coverage, 22918,
2284 /* 3955 */ GIR_Done,
2285 /* 3956 */ // Label 163: @3956
2286 /* 3956 */ GIM_Reject,
2287 /* 3957 */ // Label 145: @3957
2288 /* 3957 */ GIM_Reject,
2289 /* 3958 */ // Label 87: @3958
2290 /* 3958 */ GIM_Try, /*On fail goto*//*Label 164*/ GIMT_Encode4(4299),
2291 /* 3963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
2292 /* 3966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
2293 /* 3969 */ GIM_Try, /*On fail goto*//*Label 165*/ GIMT_Encode4(4031), // Rule ID 23471 //
2294 /* 3974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2295 /* 3977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2296 /* 3981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2297 /* 3985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2298 /* 3989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2299 /* 3992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2300 /* 3996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2301 /* 4000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2302 /* 4004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2303 /* 4006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2304 /* 4013 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2305 /* 4013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2306 /* 4016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2307 /* 4018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2308 /* 4020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2309 /* 4024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2310 /* 4029 */ GIR_RootConstrainSelectedInstOperands,
2311 /* 4030 */ // GIR_Coverage, 23471,
2312 /* 4030 */ GIR_EraseRootFromParent_Done,
2313 /* 4031 */ // Label 165: @4031
2314 /* 4031 */ GIM_Try, /*On fail goto*//*Label 166*/ GIMT_Encode4(4093), // Rule ID 23741 //
2315 /* 4036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2316 /* 4039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2317 /* 4043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2318 /* 4047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2319 /* 4051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2320 /* 4054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2321 /* 4058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2322 /* 4062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2323 /* 4066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2324 /* 4068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2325 /* 4075 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2326 /* 4075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
2327 /* 4078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2328 /* 4080 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2329 /* 4082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2330 /* 4086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2331 /* 4091 */ GIR_RootConstrainSelectedInstOperands,
2332 /* 4092 */ // GIR_Coverage, 23741,
2333 /* 4092 */ GIR_EraseRootFromParent_Done,
2334 /* 4093 */ // Label 166: @4093
2335 /* 4093 */ GIM_Try, /*On fail goto*//*Label 167*/ GIMT_Encode4(4155), // Rule ID 2540 //
2336 /* 4098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2337 /* 4101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2338 /* 4105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2339 /* 4109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2340 /* 4113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2341 /* 4117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2342 /* 4120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2343 /* 4124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2344 /* 4128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2345 /* 4130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2346 /* 4137 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2347 /* 4137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
2348 /* 4140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2349 /* 4142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2350 /* 4144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2351 /* 4148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2352 /* 4153 */ GIR_RootConstrainSelectedInstOperands,
2353 /* 4154 */ // GIR_Coverage, 2540,
2354 /* 4154 */ GIR_EraseRootFromParent_Done,
2355 /* 4155 */ // Label 167: @4155
2356 /* 4155 */ GIM_Try, /*On fail goto*//*Label 168*/ GIMT_Encode4(4217), // Rule ID 4657 //
2357 /* 4160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2358 /* 4163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2359 /* 4167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2360 /* 4171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2361 /* 4175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2362 /* 4179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2363 /* 4182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2364 /* 4186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2365 /* 4190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2366 /* 4192 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2367 /* 4199 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2368 /* 4199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
2369 /* 4202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2370 /* 4204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2371 /* 4206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2372 /* 4210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2373 /* 4215 */ GIR_RootConstrainSelectedInstOperands,
2374 /* 4216 */ // GIR_Coverage, 4657,
2375 /* 4216 */ GIR_EraseRootFromParent_Done,
2376 /* 4217 */ // Label 168: @4217
2377 /* 4217 */ GIM_Try, /*On fail goto*//*Label 169*/ GIMT_Encode4(4244), // Rule ID 2539 //
2378 /* 4222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2379 /* 4225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2380 /* 4229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2381 /* 4233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2382 /* 4237 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
2383 /* 4237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQrr),
2384 /* 4242 */ GIR_RootConstrainSelectedInstOperands,
2385 /* 4243 */ // GIR_Coverage, 2539,
2386 /* 4243 */ GIR_Done,
2387 /* 4244 */ // Label 169: @4244
2388 /* 4244 */ GIM_Try, /*On fail goto*//*Label 170*/ GIMT_Encode4(4271), // Rule ID 2541 //
2389 /* 4249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2390 /* 4252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2391 /* 4256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2392 /* 4260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2393 /* 4264 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
2394 /* 4264 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDQrr),
2395 /* 4269 */ GIR_RootConstrainSelectedInstOperands,
2396 /* 4270 */ // GIR_Coverage, 2541,
2397 /* 4270 */ GIR_Done,
2398 /* 4271 */ // Label 170: @4271
2399 /* 4271 */ GIM_Try, /*On fail goto*//*Label 171*/ GIMT_Encode4(4298), // Rule ID 4654 //
2400 /* 4276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2401 /* 4279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2402 /* 4283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2403 /* 4287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2404 /* 4291 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPADDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
2405 /* 4291 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rr),
2406 /* 4296 */ GIR_RootConstrainSelectedInstOperands,
2407 /* 4297 */ // GIR_Coverage, 4654,
2408 /* 4297 */ GIR_Done,
2409 /* 4298 */ // Label 171: @4298
2410 /* 4298 */ GIM_Reject,
2411 /* 4299 */ // Label 164: @4299
2412 /* 4299 */ GIM_Reject,
2413 /* 4300 */ // Label 88: @4300
2414 /* 4300 */ GIM_Try, /*On fail goto*//*Label 172*/ GIMT_Encode4(4763),
2415 /* 4305 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2416 /* 4308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2417 /* 4311 */ GIM_Try, /*On fail goto*//*Label 173*/ GIMT_Encode4(4373), // Rule ID 23468 //
2418 /* 4316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2419 /* 4319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2420 /* 4323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2421 /* 4327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2422 /* 4331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2423 /* 4334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2424 /* 4338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2425 /* 4342 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2426 /* 4346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2427 /* 4348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2428 /* 4355 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2429 /* 4355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2430 /* 4358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2431 /* 4360 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2432 /* 4362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2433 /* 4366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2434 /* 4371 */ GIR_RootConstrainSelectedInstOperands,
2435 /* 4372 */ // GIR_Coverage, 23468,
2436 /* 4372 */ GIR_EraseRootFromParent_Done,
2437 /* 4373 */ // Label 173: @4373
2438 /* 4373 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(4435), // Rule ID 23759 //
2439 /* 4378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2440 /* 4381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2441 /* 4385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2442 /* 4389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2443 /* 4393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2444 /* 4396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2445 /* 4400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2446 /* 4404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2447 /* 4408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2448 /* 4410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2449 /* 4417 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2450 /* 4417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2451 /* 4420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2452 /* 4422 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2453 /* 4424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2454 /* 4428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2455 /* 4433 */ GIR_RootConstrainSelectedInstOperands,
2456 /* 4434 */ // GIR_Coverage, 23759,
2457 /* 4434 */ GIR_EraseRootFromParent_Done,
2458 /* 4435 */ // Label 174: @4435
2459 /* 4435 */ GIM_Try, /*On fail goto*//*Label 175*/ GIMT_Encode4(4497), // Rule ID 2534 //
2460 /* 4440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2461 /* 4443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2462 /* 4447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2463 /* 4451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2464 /* 4455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2465 /* 4459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2466 /* 4462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2467 /* 4466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2468 /* 4470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2469 /* 4472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2470 /* 4479 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2471 /* 4479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2472 /* 4482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2473 /* 4484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2474 /* 4486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2475 /* 4490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2476 /* 4495 */ GIR_RootConstrainSelectedInstOperands,
2477 /* 4496 */ // GIR_Coverage, 2534,
2478 /* 4496 */ GIR_EraseRootFromParent_Done,
2479 /* 4497 */ // Label 175: @4497
2480 /* 4497 */ GIM_Try, /*On fail goto*//*Label 176*/ GIMT_Encode4(4559), // Rule ID 4684 //
2481 /* 4502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2482 /* 4505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2483 /* 4509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2484 /* 4513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2485 /* 4517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2486 /* 4521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2487 /* 4524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2488 /* 4528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2489 /* 4532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2490 /* 4534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2491 /* 4541 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2492 /* 4541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2493 /* 4544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2494 /* 4546 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2495 /* 4548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2496 /* 4552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2497 /* 4557 */ GIR_RootConstrainSelectedInstOperands,
2498 /* 4558 */ // GIR_Coverage, 4684,
2499 /* 4558 */ GIR_EraseRootFromParent_Done,
2500 /* 4559 */ // Label 176: @4559
2501 /* 4559 */ GIM_Try, /*On fail goto*//*Label 177*/ GIMT_Encode4(4620), // Rule ID 17856 //
2502 /* 4564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2503 /* 4567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2504 /* 4571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2505 /* 4575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2506 /* 4579 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2507 /* 4583 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2508 /* 4587 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2509 /* 4592 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2510 /* 4597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2511 /* 4601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2512 /* 4603 */ // (add:{ *:[v4i32] } (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2), VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2513 /* 4603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2514 /* 4606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2515 /* 4608 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2516 /* 4612 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2517 /* 4616 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2518 /* 4618 */ GIR_RootConstrainSelectedInstOperands,
2519 /* 4619 */ // GIR_Coverage, 17856,
2520 /* 4619 */ GIR_EraseRootFromParent_Done,
2521 /* 4620 */ // Label 177: @4620
2522 /* 4620 */ GIM_Try, /*On fail goto*//*Label 178*/ GIMT_Encode4(4681), // Rule ID 25223 //
2523 /* 4625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2524 /* 4628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2525 /* 4632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2526 /* 4636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2527 /* 4640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2528 /* 4644 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2529 /* 4648 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2530 /* 4652 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2531 /* 4657 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2532 /* 4662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2533 /* 4664 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src3, (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2534 /* 4664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2535 /* 4667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2536 /* 4669 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2537 /* 4673 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2538 /* 4677 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2539 /* 4679 */ GIR_RootConstrainSelectedInstOperands,
2540 /* 4680 */ // GIR_Coverage, 25223,
2541 /* 4680 */ GIR_EraseRootFromParent_Done,
2542 /* 4681 */ // Label 178: @4681
2543 /* 4681 */ GIM_Try, /*On fail goto*//*Label 179*/ GIMT_Encode4(4708), // Rule ID 2533 //
2544 /* 4686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2545 /* 4689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2546 /* 4693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2547 /* 4697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2548 /* 4701 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2549 /* 4701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDrr),
2550 /* 4706 */ GIR_RootConstrainSelectedInstOperands,
2551 /* 4707 */ // GIR_Coverage, 2533,
2552 /* 4707 */ GIR_Done,
2553 /* 4708 */ // Label 179: @4708
2554 /* 4708 */ GIM_Try, /*On fail goto*//*Label 180*/ GIMT_Encode4(4735), // Rule ID 2535 //
2555 /* 4713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2556 /* 4716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2557 /* 4720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2558 /* 4724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2559 /* 4728 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2560 /* 4728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDDrr),
2561 /* 4733 */ GIR_RootConstrainSelectedInstOperands,
2562 /* 4734 */ // GIR_Coverage, 2535,
2563 /* 4734 */ GIR_Done,
2564 /* 4735 */ // Label 180: @4735
2565 /* 4735 */ GIM_Try, /*On fail goto*//*Label 181*/ GIMT_Encode4(4762), // Rule ID 4681 //
2566 /* 4740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2567 /* 4743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2568 /* 4747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2569 /* 4751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2570 /* 4755 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPADDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
2571 /* 4755 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rr),
2572 /* 4760 */ GIR_RootConstrainSelectedInstOperands,
2573 /* 4761 */ // GIR_Coverage, 4681,
2574 /* 4761 */ GIR_Done,
2575 /* 4762 */ // Label 181: @4762
2576 /* 4762 */ GIM_Reject,
2577 /* 4763 */ // Label 172: @4763
2578 /* 4763 */ GIM_Reject,
2579 /* 4764 */ // Label 89: @4764
2580 /* 4764 */ GIM_Try, /*On fail goto*//*Label 182*/ GIMT_Encode4(5078),
2581 /* 4769 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
2582 /* 4772 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
2583 /* 4775 */ GIM_Try, /*On fail goto*//*Label 183*/ GIMT_Encode4(4837), // Rule ID 23473 //
2584 /* 4780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2585 /* 4783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2586 /* 4787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2587 /* 4791 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2588 /* 4795 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2589 /* 4798 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2590 /* 4802 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2591 /* 4806 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2592 /* 4810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2593 /* 4812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2594 /* 4819 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2595 /* 4819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
2596 /* 4822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2597 /* 4824 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2598 /* 4826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2599 /* 4830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2600 /* 4835 */ GIR_RootConstrainSelectedInstOperands,
2601 /* 4836 */ // GIR_Coverage, 23473,
2602 /* 4836 */ GIR_EraseRootFromParent_Done,
2603 /* 4837 */ // Label 183: @4837
2604 /* 4837 */ GIM_Try, /*On fail goto*//*Label 184*/ GIMT_Encode4(4899), // Rule ID 23735 //
2605 /* 4842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2606 /* 4845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2607 /* 4849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2608 /* 4853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2609 /* 4857 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2610 /* 4860 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2611 /* 4864 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2612 /* 4868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2613 /* 4872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2614 /* 4874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2615 /* 4881 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2616 /* 4881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
2617 /* 4884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2618 /* 4886 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2619 /* 4888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2620 /* 4892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2621 /* 4897 */ GIR_RootConstrainSelectedInstOperands,
2622 /* 4898 */ // GIR_Coverage, 23735,
2623 /* 4898 */ GIR_EraseRootFromParent_Done,
2624 /* 4899 */ // Label 184: @4899
2625 /* 4899 */ GIM_Try, /*On fail goto*//*Label 185*/ GIMT_Encode4(4961), // Rule ID 2544 //
2626 /* 4904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2627 /* 4907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2628 /* 4911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2629 /* 4915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2630 /* 4919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2631 /* 4923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2632 /* 4926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2633 /* 4930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2634 /* 4934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2635 /* 4936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2636 /* 4943 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2637 /* 4943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
2638 /* 4946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2639 /* 4948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2640 /* 4950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2641 /* 4954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2642 /* 4959 */ GIR_RootConstrainSelectedInstOperands,
2643 /* 4960 */ // GIR_Coverage, 2544,
2644 /* 4960 */ GIR_EraseRootFromParent_Done,
2645 /* 4961 */ // Label 185: @4961
2646 /* 4961 */ GIM_Try, /*On fail goto*//*Label 186*/ GIMT_Encode4(5023), // Rule ID 4648 //
2647 /* 4966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2648 /* 4969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2649 /* 4973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2650 /* 4977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2651 /* 4981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2652 /* 4985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2653 /* 4988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2654 /* 4992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2655 /* 4996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2656 /* 4998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2657 /* 5005 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2658 /* 5005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
2659 /* 5008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2660 /* 5010 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2661 /* 5012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2662 /* 5016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2663 /* 5021 */ GIR_RootConstrainSelectedInstOperands,
2664 /* 5022 */ // GIR_Coverage, 4648,
2665 /* 5022 */ GIR_EraseRootFromParent_Done,
2666 /* 5023 */ // Label 186: @5023
2667 /* 5023 */ GIM_Try, /*On fail goto*//*Label 187*/ GIMT_Encode4(5050), // Rule ID 2543 //
2668 /* 5028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2669 /* 5031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2670 /* 5035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2671 /* 5039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2672 /* 5043 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPADDQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
2673 /* 5043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQYrr),
2674 /* 5048 */ GIR_RootConstrainSelectedInstOperands,
2675 /* 5049 */ // GIR_Coverage, 2543,
2676 /* 5049 */ GIR_Done,
2677 /* 5050 */ // Label 187: @5050
2678 /* 5050 */ GIM_Try, /*On fail goto*//*Label 188*/ GIMT_Encode4(5077), // Rule ID 4645 //
2679 /* 5055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2680 /* 5058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2681 /* 5062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2682 /* 5066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2683 /* 5070 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPADDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
2684 /* 5070 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rr),
2685 /* 5075 */ GIR_RootConstrainSelectedInstOperands,
2686 /* 5076 */ // GIR_Coverage, 4645,
2687 /* 5076 */ GIR_Done,
2688 /* 5077 */ // Label 188: @5077
2689 /* 5077 */ GIM_Reject,
2690 /* 5078 */ // Label 182: @5078
2691 /* 5078 */ GIM_Reject,
2692 /* 5079 */ // Label 90: @5079
2693 /* 5079 */ GIM_Try, /*On fail goto*//*Label 189*/ GIMT_Encode4(5542),
2694 /* 5084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2695 /* 5087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2696 /* 5090 */ GIM_Try, /*On fail goto*//*Label 190*/ GIMT_Encode4(5152), // Rule ID 23465 //
2697 /* 5095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2698 /* 5098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2699 /* 5102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2700 /* 5106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2701 /* 5110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2702 /* 5113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2703 /* 5117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2704 /* 5121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2705 /* 5125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2706 /* 5127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2707 /* 5134 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2708 /* 5134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2709 /* 5137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2710 /* 5139 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2711 /* 5141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2712 /* 5145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2713 /* 5150 */ GIR_RootConstrainSelectedInstOperands,
2714 /* 5151 */ // GIR_Coverage, 23465,
2715 /* 5151 */ GIR_EraseRootFromParent_Done,
2716 /* 5152 */ // Label 190: @5152
2717 /* 5152 */ GIM_Try, /*On fail goto*//*Label 191*/ GIMT_Encode4(5214), // Rule ID 23771 //
2718 /* 5157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2719 /* 5160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2720 /* 5164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2721 /* 5168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2722 /* 5172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2723 /* 5175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2724 /* 5179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2725 /* 5183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2726 /* 5187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2727 /* 5189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2728 /* 5196 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2729 /* 5196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2730 /* 5199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2731 /* 5201 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2732 /* 5203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2733 /* 5207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2734 /* 5212 */ GIR_RootConstrainSelectedInstOperands,
2735 /* 5213 */ // GIR_Coverage, 23771,
2736 /* 5213 */ GIR_EraseRootFromParent_Done,
2737 /* 5214 */ // Label 191: @5214
2738 /* 5214 */ GIM_Try, /*On fail goto*//*Label 192*/ GIMT_Encode4(5276), // Rule ID 2528 //
2739 /* 5219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2740 /* 5222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2741 /* 5226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2742 /* 5230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2743 /* 5234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2744 /* 5238 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2745 /* 5241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2746 /* 5245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2747 /* 5249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2748 /* 5251 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2749 /* 5258 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2750 /* 5258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2751 /* 5261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2752 /* 5263 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2753 /* 5265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2754 /* 5269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2755 /* 5274 */ GIR_RootConstrainSelectedInstOperands,
2756 /* 5275 */ // GIR_Coverage, 2528,
2757 /* 5275 */ GIR_EraseRootFromParent_Done,
2758 /* 5276 */ // Label 192: @5276
2759 /* 5276 */ GIM_Try, /*On fail goto*//*Label 193*/ GIMT_Encode4(5338), // Rule ID 4705 //
2760 /* 5281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2761 /* 5284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2762 /* 5288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2763 /* 5292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2764 /* 5296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2765 /* 5300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2766 /* 5303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2767 /* 5307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2768 /* 5311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2769 /* 5313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2770 /* 5320 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2771 /* 5320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2772 /* 5323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2773 /* 5325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2774 /* 5327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2775 /* 5331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2776 /* 5336 */ GIR_RootConstrainSelectedInstOperands,
2777 /* 5337 */ // GIR_Coverage, 4705,
2778 /* 5337 */ GIR_EraseRootFromParent_Done,
2779 /* 5338 */ // Label 193: @5338
2780 /* 5338 */ GIM_Try, /*On fail goto*//*Label 194*/ GIMT_Encode4(5399), // Rule ID 17855 //
2781 /* 5343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2782 /* 5346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2783 /* 5350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2784 /* 5354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2785 /* 5358 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2786 /* 5362 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2787 /* 5366 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2788 /* 5371 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2789 /* 5376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2790 /* 5380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2791 /* 5382 */ // (add:{ *:[v8i16] } (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2), VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2792 /* 5382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2793 /* 5385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2794 /* 5387 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2795 /* 5391 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2796 /* 5395 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2797 /* 5397 */ GIR_RootConstrainSelectedInstOperands,
2798 /* 5398 */ // GIR_Coverage, 17855,
2799 /* 5398 */ GIR_EraseRootFromParent_Done,
2800 /* 5399 */ // Label 194: @5399
2801 /* 5399 */ GIM_Try, /*On fail goto*//*Label 195*/ GIMT_Encode4(5460), // Rule ID 25222 //
2802 /* 5404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2803 /* 5407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2804 /* 5411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2805 /* 5415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2806 /* 5419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2807 /* 5423 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2808 /* 5427 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2809 /* 5431 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2810 /* 5436 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2811 /* 5441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2812 /* 5443 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src3, (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2813 /* 5443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2814 /* 5446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2815 /* 5448 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2816 /* 5452 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2817 /* 5456 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2818 /* 5458 */ GIR_RootConstrainSelectedInstOperands,
2819 /* 5459 */ // GIR_Coverage, 25222,
2820 /* 5459 */ GIR_EraseRootFromParent_Done,
2821 /* 5460 */ // Label 195: @5460
2822 /* 5460 */ GIM_Try, /*On fail goto*//*Label 196*/ GIMT_Encode4(5487), // Rule ID 2527 //
2823 /* 5465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2824 /* 5468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2825 /* 5472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2826 /* 5476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2827 /* 5480 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2828 /* 5480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWrr),
2829 /* 5485 */ GIR_RootConstrainSelectedInstOperands,
2830 /* 5486 */ // GIR_Coverage, 2527,
2831 /* 5486 */ GIR_Done,
2832 /* 5487 */ // Label 196: @5487
2833 /* 5487 */ GIM_Try, /*On fail goto*//*Label 197*/ GIMT_Encode4(5514), // Rule ID 2529 //
2834 /* 5492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2835 /* 5495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2836 /* 5499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2837 /* 5503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2838 /* 5507 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2839 /* 5507 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDWrr),
2840 /* 5512 */ GIR_RootConstrainSelectedInstOperands,
2841 /* 5513 */ // GIR_Coverage, 2529,
2842 /* 5513 */ GIR_Done,
2843 /* 5514 */ // Label 197: @5514
2844 /* 5514 */ GIM_Try, /*On fail goto*//*Label 198*/ GIMT_Encode4(5541), // Rule ID 4702 //
2845 /* 5519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2846 /* 5522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2847 /* 5526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2848 /* 5530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2849 /* 5534 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
2850 /* 5534 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rr),
2851 /* 5539 */ GIR_RootConstrainSelectedInstOperands,
2852 /* 5540 */ // GIR_Coverage, 4702,
2853 /* 5540 */ GIR_Done,
2854 /* 5541 */ // Label 198: @5541
2855 /* 5541 */ GIM_Reject,
2856 /* 5542 */ // Label 189: @5542
2857 /* 5542 */ GIM_Reject,
2858 /* 5543 */ // Label 91: @5543
2859 /* 5543 */ GIM_Try, /*On fail goto*//*Label 199*/ GIMT_Encode4(5857),
2860 /* 5548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
2861 /* 5551 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
2862 /* 5554 */ GIM_Try, /*On fail goto*//*Label 200*/ GIMT_Encode4(5616), // Rule ID 23470 //
2863 /* 5559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2864 /* 5562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2865 /* 5566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2866 /* 5570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2867 /* 5574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2868 /* 5577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2869 /* 5581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2870 /* 5585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2871 /* 5589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2872 /* 5591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2873 /* 5598 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2874 /* 5598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2875 /* 5601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2876 /* 5603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2877 /* 5605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2878 /* 5609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2879 /* 5614 */ GIR_RootConstrainSelectedInstOperands,
2880 /* 5615 */ // GIR_Coverage, 23470,
2881 /* 5615 */ GIR_EraseRootFromParent_Done,
2882 /* 5616 */ // Label 200: @5616
2883 /* 5616 */ GIM_Try, /*On fail goto*//*Label 201*/ GIMT_Encode4(5678), // Rule ID 23753 //
2884 /* 5621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2885 /* 5624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2886 /* 5628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2887 /* 5632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2888 /* 5636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2889 /* 5639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2890 /* 5643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2891 /* 5647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2892 /* 5651 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2893 /* 5653 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2894 /* 5660 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2895 /* 5660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2896 /* 5663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2897 /* 5665 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2898 /* 5667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2899 /* 5671 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2900 /* 5676 */ GIR_RootConstrainSelectedInstOperands,
2901 /* 5677 */ // GIR_Coverage, 23753,
2902 /* 5677 */ GIR_EraseRootFromParent_Done,
2903 /* 5678 */ // Label 201: @5678
2904 /* 5678 */ GIM_Try, /*On fail goto*//*Label 202*/ GIMT_Encode4(5740), // Rule ID 2538 //
2905 /* 5683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2906 /* 5686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2907 /* 5690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2908 /* 5694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2909 /* 5698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2910 /* 5702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2911 /* 5705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2912 /* 5709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2913 /* 5713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2914 /* 5715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2915 /* 5722 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2916 /* 5722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2917 /* 5725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2918 /* 5727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2919 /* 5729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2920 /* 5733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2921 /* 5738 */ GIR_RootConstrainSelectedInstOperands,
2922 /* 5739 */ // GIR_Coverage, 2538,
2923 /* 5739 */ GIR_EraseRootFromParent_Done,
2924 /* 5740 */ // Label 202: @5740
2925 /* 5740 */ GIM_Try, /*On fail goto*//*Label 203*/ GIMT_Encode4(5802), // Rule ID 4675 //
2926 /* 5745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2927 /* 5748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2928 /* 5752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2929 /* 5756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2930 /* 5760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2931 /* 5764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2932 /* 5767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2933 /* 5771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2934 /* 5775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2935 /* 5777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2936 /* 5784 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2937 /* 5784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2938 /* 5787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2939 /* 5789 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2940 /* 5791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2941 /* 5795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2942 /* 5800 */ GIR_RootConstrainSelectedInstOperands,
2943 /* 5801 */ // GIR_Coverage, 4675,
2944 /* 5801 */ GIR_EraseRootFromParent_Done,
2945 /* 5802 */ // Label 203: @5802
2946 /* 5802 */ GIM_Try, /*On fail goto*//*Label 204*/ GIMT_Encode4(5829), // Rule ID 2537 //
2947 /* 5807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2948 /* 5810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2949 /* 5814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2950 /* 5818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2951 /* 5822 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPADDDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
2952 /* 5822 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDYrr),
2953 /* 5827 */ GIR_RootConstrainSelectedInstOperands,
2954 /* 5828 */ // GIR_Coverage, 2537,
2955 /* 5828 */ GIR_Done,
2956 /* 5829 */ // Label 204: @5829
2957 /* 5829 */ GIM_Try, /*On fail goto*//*Label 205*/ GIMT_Encode4(5856), // Rule ID 4672 //
2958 /* 5834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2959 /* 5837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2960 /* 5841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2961 /* 5845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2962 /* 5849 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPADDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
2963 /* 5849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rr),
2964 /* 5854 */ GIR_RootConstrainSelectedInstOperands,
2965 /* 5855 */ // GIR_Coverage, 4672,
2966 /* 5855 */ GIR_Done,
2967 /* 5856 */ // Label 205: @5856
2968 /* 5856 */ GIM_Reject,
2969 /* 5857 */ // Label 199: @5857
2970 /* 5857 */ GIM_Reject,
2971 /* 5858 */ // Label 92: @5858
2972 /* 5858 */ GIM_Try, /*On fail goto*//*Label 206*/ GIMT_Encode4(6013),
2973 /* 5863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
2974 /* 5866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
2975 /* 5869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2976 /* 5873 */ GIM_Try, /*On fail goto*//*Label 207*/ GIMT_Encode4(5931), // Rule ID 23729 //
2977 /* 5878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2978 /* 5881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2979 /* 5885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2980 /* 5889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2981 /* 5892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2982 /* 5896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2983 /* 5900 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2984 /* 5904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2985 /* 5906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2986 /* 5913 */ // (add:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
2987 /* 5913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
2988 /* 5916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2989 /* 5918 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2990 /* 5920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2991 /* 5924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2992 /* 5929 */ GIR_RootConstrainSelectedInstOperands,
2993 /* 5930 */ // GIR_Coverage, 23729,
2994 /* 5930 */ GIR_EraseRootFromParent_Done,
2995 /* 5931 */ // Label 207: @5931
2996 /* 5931 */ GIM_Try, /*On fail goto*//*Label 208*/ GIMT_Encode4(5989), // Rule ID 4639 //
2997 /* 5936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2998 /* 5939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2999 /* 5943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3000 /* 5947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3001 /* 5951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3002 /* 5954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3003 /* 5958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3004 /* 5962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3005 /* 5964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3006 /* 5971 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3007 /* 5971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
3008 /* 5974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3009 /* 5976 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3010 /* 5978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3011 /* 5982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3012 /* 5987 */ GIR_RootConstrainSelectedInstOperands,
3013 /* 5988 */ // GIR_Coverage, 4639,
3014 /* 5988 */ GIR_EraseRootFromParent_Done,
3015 /* 5989 */ // Label 208: @5989
3016 /* 5989 */ GIM_Try, /*On fail goto*//*Label 209*/ GIMT_Encode4(6012), // Rule ID 4636 //
3017 /* 5994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3018 /* 5997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3019 /* 6001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3020 /* 6005 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPADDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
3021 /* 6005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZrr),
3022 /* 6010 */ GIR_RootConstrainSelectedInstOperands,
3023 /* 6011 */ // GIR_Coverage, 4636,
3024 /* 6011 */ GIR_Done,
3025 /* 6012 */ // Label 209: @6012
3026 /* 6012 */ GIM_Reject,
3027 /* 6013 */ // Label 206: @6013
3028 /* 6013 */ GIM_Reject,
3029 /* 6014 */ // Label 93: @6014
3030 /* 6014 */ GIM_Try, /*On fail goto*//*Label 210*/ GIMT_Encode4(6355),
3031 /* 6019 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3032 /* 6022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
3033 /* 6025 */ GIM_Try, /*On fail goto*//*Label 211*/ GIMT_Encode4(6087), // Rule ID 23462 //
3034 /* 6030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3035 /* 6033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3036 /* 6037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3037 /* 6041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3038 /* 6045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3039 /* 6048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3040 /* 6052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3041 /* 6056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3042 /* 6060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3043 /* 6062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3044 /* 6069 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3045 /* 6069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
3046 /* 6072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3047 /* 6074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3048 /* 6076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3049 /* 6080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3050 /* 6085 */ GIR_RootConstrainSelectedInstOperands,
3051 /* 6086 */ // GIR_Coverage, 23462,
3052 /* 6086 */ GIR_EraseRootFromParent_Done,
3053 /* 6087 */ // Label 211: @6087
3054 /* 6087 */ GIM_Try, /*On fail goto*//*Label 212*/ GIMT_Encode4(6149), // Rule ID 23780 //
3055 /* 6092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3056 /* 6095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3057 /* 6099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3058 /* 6103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3059 /* 6107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3060 /* 6110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3061 /* 6114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3062 /* 6118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3063 /* 6122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3064 /* 6124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3065 /* 6131 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3066 /* 6131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
3067 /* 6134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3068 /* 6136 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3069 /* 6138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3070 /* 6142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3071 /* 6147 */ GIR_RootConstrainSelectedInstOperands,
3072 /* 6148 */ // GIR_Coverage, 23780,
3073 /* 6148 */ GIR_EraseRootFromParent_Done,
3074 /* 6149 */ // Label 212: @6149
3075 /* 6149 */ GIM_Try, /*On fail goto*//*Label 213*/ GIMT_Encode4(6211), // Rule ID 2522 //
3076 /* 6154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3077 /* 6157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3078 /* 6161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3079 /* 6165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3080 /* 6169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3081 /* 6173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3082 /* 6176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3083 /* 6180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3084 /* 6184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3085 /* 6186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3086 /* 6193 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3087 /* 6193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
3088 /* 6196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3089 /* 6198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3090 /* 6200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3091 /* 6204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3092 /* 6209 */ GIR_RootConstrainSelectedInstOperands,
3093 /* 6210 */ // GIR_Coverage, 2522,
3094 /* 6210 */ GIR_EraseRootFromParent_Done,
3095 /* 6211 */ // Label 213: @6211
3096 /* 6211 */ GIM_Try, /*On fail goto*//*Label 214*/ GIMT_Encode4(6273), // Rule ID 4723 //
3097 /* 6216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3098 /* 6219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3099 /* 6223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3100 /* 6227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3101 /* 6231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3102 /* 6235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3103 /* 6238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3104 /* 6242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3105 /* 6246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3106 /* 6248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3107 /* 6255 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3108 /* 6255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
3109 /* 6258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3110 /* 6260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3111 /* 6262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3112 /* 6266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3113 /* 6271 */ GIR_RootConstrainSelectedInstOperands,
3114 /* 6272 */ // GIR_Coverage, 4723,
3115 /* 6272 */ GIR_EraseRootFromParent_Done,
3116 /* 6273 */ // Label 214: @6273
3117 /* 6273 */ GIM_Try, /*On fail goto*//*Label 215*/ GIMT_Encode4(6300), // Rule ID 2521 //
3118 /* 6278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3119 /* 6281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3120 /* 6285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3121 /* 6289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3122 /* 6293 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3123 /* 6293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBrr),
3124 /* 6298 */ GIR_RootConstrainSelectedInstOperands,
3125 /* 6299 */ // GIR_Coverage, 2521,
3126 /* 6299 */ GIR_Done,
3127 /* 6300 */ // Label 215: @6300
3128 /* 6300 */ GIM_Try, /*On fail goto*//*Label 216*/ GIMT_Encode4(6327), // Rule ID 2523 //
3129 /* 6305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
3130 /* 6308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3131 /* 6312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3132 /* 6316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3133 /* 6320 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3134 /* 6320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDBrr),
3135 /* 6325 */ GIR_RootConstrainSelectedInstOperands,
3136 /* 6326 */ // GIR_Coverage, 2523,
3137 /* 6326 */ GIR_Done,
3138 /* 6327 */ // Label 216: @6327
3139 /* 6327 */ GIM_Try, /*On fail goto*//*Label 217*/ GIMT_Encode4(6354), // Rule ID 4720 //
3140 /* 6332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3141 /* 6335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3142 /* 6339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3143 /* 6343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3144 /* 6347 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
3145 /* 6347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rr),
3146 /* 6352 */ GIR_RootConstrainSelectedInstOperands,
3147 /* 6353 */ // GIR_Coverage, 4720,
3148 /* 6353 */ GIR_Done,
3149 /* 6354 */ // Label 217: @6354
3150 /* 6354 */ GIM_Reject,
3151 /* 6355 */ // Label 210: @6355
3152 /* 6355 */ GIM_Reject,
3153 /* 6356 */ // Label 94: @6356
3154 /* 6356 */ GIM_Try, /*On fail goto*//*Label 218*/ GIMT_Encode4(6670),
3155 /* 6361 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
3156 /* 6364 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
3157 /* 6367 */ GIM_Try, /*On fail goto*//*Label 219*/ GIMT_Encode4(6429), // Rule ID 23467 //
3158 /* 6372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3159 /* 6375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3160 /* 6379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3161 /* 6383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3162 /* 6387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3163 /* 6390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3164 /* 6394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3165 /* 6398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3166 /* 6402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3167 /* 6404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3168 /* 6411 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3169 /* 6411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
3170 /* 6414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3171 /* 6416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3172 /* 6418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3173 /* 6422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3174 /* 6427 */ GIR_RootConstrainSelectedInstOperands,
3175 /* 6428 */ // GIR_Coverage, 23467,
3176 /* 6428 */ GIR_EraseRootFromParent_Done,
3177 /* 6429 */ // Label 219: @6429
3178 /* 6429 */ GIM_Try, /*On fail goto*//*Label 220*/ GIMT_Encode4(6491), // Rule ID 23768 //
3179 /* 6434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3180 /* 6437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3181 /* 6441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3182 /* 6445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3183 /* 6449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3184 /* 6452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3185 /* 6456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3186 /* 6460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3187 /* 6464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3188 /* 6466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3189 /* 6473 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3190 /* 6473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
3191 /* 6476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3192 /* 6478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3193 /* 6480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3194 /* 6484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3195 /* 6489 */ GIR_RootConstrainSelectedInstOperands,
3196 /* 6490 */ // GIR_Coverage, 23768,
3197 /* 6490 */ GIR_EraseRootFromParent_Done,
3198 /* 6491 */ // Label 220: @6491
3199 /* 6491 */ GIM_Try, /*On fail goto*//*Label 221*/ GIMT_Encode4(6553), // Rule ID 2532 //
3200 /* 6496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3201 /* 6499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3202 /* 6503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3203 /* 6507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3204 /* 6511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3205 /* 6515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3206 /* 6518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3207 /* 6522 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3208 /* 6526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3209 /* 6528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3210 /* 6535 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3211 /* 6535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
3212 /* 6538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3213 /* 6540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3214 /* 6542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3215 /* 6546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3216 /* 6551 */ GIR_RootConstrainSelectedInstOperands,
3217 /* 6552 */ // GIR_Coverage, 2532,
3218 /* 6552 */ GIR_EraseRootFromParent_Done,
3219 /* 6553 */ // Label 221: @6553
3220 /* 6553 */ GIM_Try, /*On fail goto*//*Label 222*/ GIMT_Encode4(6615), // Rule ID 4699 //
3221 /* 6558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3222 /* 6561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3223 /* 6565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3224 /* 6569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3225 /* 6573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3226 /* 6577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3227 /* 6580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3228 /* 6584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3229 /* 6588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3230 /* 6590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3231 /* 6597 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3232 /* 6597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
3233 /* 6600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3234 /* 6602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3235 /* 6604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3236 /* 6608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3237 /* 6613 */ GIR_RootConstrainSelectedInstOperands,
3238 /* 6614 */ // GIR_Coverage, 4699,
3239 /* 6614 */ GIR_EraseRootFromParent_Done,
3240 /* 6615 */ // Label 222: @6615
3241 /* 6615 */ GIM_Try, /*On fail goto*//*Label 223*/ GIMT_Encode4(6642), // Rule ID 2531 //
3242 /* 6620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3243 /* 6623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3244 /* 6627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3245 /* 6631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3246 /* 6635 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
3247 /* 6635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWYrr),
3248 /* 6640 */ GIR_RootConstrainSelectedInstOperands,
3249 /* 6641 */ // GIR_Coverage, 2531,
3250 /* 6641 */ GIR_Done,
3251 /* 6642 */ // Label 223: @6642
3252 /* 6642 */ GIM_Try, /*On fail goto*//*Label 224*/ GIMT_Encode4(6669), // Rule ID 4696 //
3253 /* 6647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3254 /* 6650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3255 /* 6654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3256 /* 6658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3257 /* 6662 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
3258 /* 6662 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rr),
3259 /* 6667 */ GIR_RootConstrainSelectedInstOperands,
3260 /* 6668 */ // GIR_Coverage, 4696,
3261 /* 6668 */ GIR_Done,
3262 /* 6669 */ // Label 224: @6669
3263 /* 6669 */ GIM_Reject,
3264 /* 6670 */ // Label 218: @6670
3265 /* 6670 */ GIM_Reject,
3266 /* 6671 */ // Label 95: @6671
3267 /* 6671 */ GIM_Try, /*On fail goto*//*Label 225*/ GIMT_Encode4(6826),
3268 /* 6676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
3269 /* 6679 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
3270 /* 6682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3271 /* 6686 */ GIM_Try, /*On fail goto*//*Label 226*/ GIMT_Encode4(6744), // Rule ID 23747 //
3272 /* 6691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3273 /* 6694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3274 /* 6698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3275 /* 6702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3276 /* 6705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3277 /* 6709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3278 /* 6713 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3279 /* 6717 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3280 /* 6719 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3281 /* 6726 */ // (add:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3282 /* 6726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
3283 /* 6729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3284 /* 6731 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3285 /* 6733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3286 /* 6737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3287 /* 6742 */ GIR_RootConstrainSelectedInstOperands,
3288 /* 6743 */ // GIR_Coverage, 23747,
3289 /* 6743 */ GIR_EraseRootFromParent_Done,
3290 /* 6744 */ // Label 226: @6744
3291 /* 6744 */ GIM_Try, /*On fail goto*//*Label 227*/ GIMT_Encode4(6802), // Rule ID 4666 //
3292 /* 6749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3293 /* 6752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3294 /* 6756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3295 /* 6760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3296 /* 6764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3297 /* 6767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3298 /* 6771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3299 /* 6775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3300 /* 6777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3301 /* 6784 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3302 /* 6784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
3303 /* 6787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3304 /* 6789 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3305 /* 6791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3306 /* 6795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3307 /* 6800 */ GIR_RootConstrainSelectedInstOperands,
3308 /* 6801 */ // GIR_Coverage, 4666,
3309 /* 6801 */ GIR_EraseRootFromParent_Done,
3310 /* 6802 */ // Label 227: @6802
3311 /* 6802 */ GIM_Try, /*On fail goto*//*Label 228*/ GIMT_Encode4(6825), // Rule ID 4663 //
3312 /* 6807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3313 /* 6810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3314 /* 6814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3315 /* 6818 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPADDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
3316 /* 6818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZrr),
3317 /* 6823 */ GIR_RootConstrainSelectedInstOperands,
3318 /* 6824 */ // GIR_Coverage, 4663,
3319 /* 6824 */ GIR_Done,
3320 /* 6825 */ // Label 228: @6825
3321 /* 6825 */ GIM_Reject,
3322 /* 6826 */ // Label 225: @6826
3323 /* 6826 */ GIM_Reject,
3324 /* 6827 */ // Label 96: @6827
3325 /* 6827 */ GIM_Try, /*On fail goto*//*Label 229*/ GIMT_Encode4(7141),
3326 /* 6832 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
3327 /* 6835 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
3328 /* 6838 */ GIM_Try, /*On fail goto*//*Label 230*/ GIMT_Encode4(6900), // Rule ID 23464 //
3329 /* 6843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3330 /* 6846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3331 /* 6850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3332 /* 6854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3333 /* 6858 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3334 /* 6861 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3335 /* 6865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3336 /* 6869 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3337 /* 6873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3338 /* 6875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3339 /* 6882 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3340 /* 6882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
3341 /* 6885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3342 /* 6887 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3343 /* 6889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3344 /* 6893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3345 /* 6898 */ GIR_RootConstrainSelectedInstOperands,
3346 /* 6899 */ // GIR_Coverage, 23464,
3347 /* 6899 */ GIR_EraseRootFromParent_Done,
3348 /* 6900 */ // Label 230: @6900
3349 /* 6900 */ GIM_Try, /*On fail goto*//*Label 231*/ GIMT_Encode4(6962), // Rule ID 23777 //
3350 /* 6905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3351 /* 6908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3352 /* 6912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3353 /* 6916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3354 /* 6920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3355 /* 6923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3356 /* 6927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3357 /* 6931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3358 /* 6935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3359 /* 6937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3360 /* 6944 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3361 /* 6944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
3362 /* 6947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3363 /* 6949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3364 /* 6951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3365 /* 6955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3366 /* 6960 */ GIR_RootConstrainSelectedInstOperands,
3367 /* 6961 */ // GIR_Coverage, 23777,
3368 /* 6961 */ GIR_EraseRootFromParent_Done,
3369 /* 6962 */ // Label 231: @6962
3370 /* 6962 */ GIM_Try, /*On fail goto*//*Label 232*/ GIMT_Encode4(7024), // Rule ID 2526 //
3371 /* 6967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3372 /* 6970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3373 /* 6974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3374 /* 6978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3375 /* 6982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3376 /* 6986 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3377 /* 6989 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3378 /* 6993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3379 /* 6997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3380 /* 6999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3381 /* 7006 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3382 /* 7006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
3383 /* 7009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3384 /* 7011 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3385 /* 7013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3386 /* 7017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3387 /* 7022 */ GIR_RootConstrainSelectedInstOperands,
3388 /* 7023 */ // GIR_Coverage, 2526,
3389 /* 7023 */ GIR_EraseRootFromParent_Done,
3390 /* 7024 */ // Label 232: @7024
3391 /* 7024 */ GIM_Try, /*On fail goto*//*Label 233*/ GIMT_Encode4(7086), // Rule ID 4717 //
3392 /* 7029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3393 /* 7032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3394 /* 7036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3395 /* 7040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3396 /* 7044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3397 /* 7048 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3398 /* 7051 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3399 /* 7055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3400 /* 7059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3401 /* 7061 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3402 /* 7068 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3403 /* 7068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
3404 /* 7071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3405 /* 7073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3406 /* 7075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3407 /* 7079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3408 /* 7084 */ GIR_RootConstrainSelectedInstOperands,
3409 /* 7085 */ // GIR_Coverage, 4717,
3410 /* 7085 */ GIR_EraseRootFromParent_Done,
3411 /* 7086 */ // Label 233: @7086
3412 /* 7086 */ GIM_Try, /*On fail goto*//*Label 234*/ GIMT_Encode4(7113), // Rule ID 2525 //
3413 /* 7091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3414 /* 7094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3415 /* 7098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3416 /* 7102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3417 /* 7106 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
3418 /* 7106 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBYrr),
3419 /* 7111 */ GIR_RootConstrainSelectedInstOperands,
3420 /* 7112 */ // GIR_Coverage, 2525,
3421 /* 7112 */ GIR_Done,
3422 /* 7113 */ // Label 234: @7113
3423 /* 7113 */ GIM_Try, /*On fail goto*//*Label 235*/ GIMT_Encode4(7140), // Rule ID 4714 //
3424 /* 7118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3425 /* 7121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3426 /* 7125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3427 /* 7129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3428 /* 7133 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
3429 /* 7133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rr),
3430 /* 7138 */ GIR_RootConstrainSelectedInstOperands,
3431 /* 7139 */ // GIR_Coverage, 4714,
3432 /* 7139 */ GIR_Done,
3433 /* 7140 */ // Label 235: @7140
3434 /* 7140 */ GIM_Reject,
3435 /* 7141 */ // Label 229: @7141
3436 /* 7141 */ GIM_Reject,
3437 /* 7142 */ // Label 97: @7142
3438 /* 7142 */ GIM_Try, /*On fail goto*//*Label 236*/ GIMT_Encode4(7297),
3439 /* 7147 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
3440 /* 7150 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
3441 /* 7153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3442 /* 7157 */ GIM_Try, /*On fail goto*//*Label 237*/ GIMT_Encode4(7215), // Rule ID 23765 //
3443 /* 7162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3444 /* 7165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3445 /* 7169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3446 /* 7173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3447 /* 7176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3448 /* 7180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3449 /* 7184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3450 /* 7188 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3451 /* 7190 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3452 /* 7197 */ // (add:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3453 /* 7197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
3454 /* 7200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3455 /* 7202 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3456 /* 7204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3457 /* 7208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3458 /* 7213 */ GIR_RootConstrainSelectedInstOperands,
3459 /* 7214 */ // GIR_Coverage, 23765,
3460 /* 7214 */ GIR_EraseRootFromParent_Done,
3461 /* 7215 */ // Label 237: @7215
3462 /* 7215 */ GIM_Try, /*On fail goto*//*Label 238*/ GIMT_Encode4(7273), // Rule ID 4693 //
3463 /* 7220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3464 /* 7223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3465 /* 7227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3466 /* 7231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3467 /* 7235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3468 /* 7238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3469 /* 7242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3470 /* 7246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3471 /* 7248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3472 /* 7255 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3473 /* 7255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
3474 /* 7258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3475 /* 7260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3476 /* 7262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3477 /* 7266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3478 /* 7271 */ GIR_RootConstrainSelectedInstOperands,
3479 /* 7272 */ // GIR_Coverage, 4693,
3480 /* 7272 */ GIR_EraseRootFromParent_Done,
3481 /* 7273 */ // Label 238: @7273
3482 /* 7273 */ GIM_Try, /*On fail goto*//*Label 239*/ GIMT_Encode4(7296), // Rule ID 4690 //
3483 /* 7278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3484 /* 7281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3485 /* 7285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3486 /* 7289 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
3487 /* 7289 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZrr),
3488 /* 7294 */ GIR_RootConstrainSelectedInstOperands,
3489 /* 7295 */ // GIR_Coverage, 4690,
3490 /* 7295 */ GIR_Done,
3491 /* 7296 */ // Label 239: @7296
3492 /* 7296 */ GIM_Reject,
3493 /* 7297 */ // Label 236: @7297
3494 /* 7297 */ GIM_Reject,
3495 /* 7298 */ // Label 98: @7298
3496 /* 7298 */ GIM_Try, /*On fail goto*//*Label 240*/ GIMT_Encode4(7453),
3497 /* 7303 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
3498 /* 7306 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
3499 /* 7309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3500 /* 7313 */ GIM_Try, /*On fail goto*//*Label 241*/ GIMT_Encode4(7371), // Rule ID 23774 //
3501 /* 7318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3502 /* 7321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3503 /* 7325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3504 /* 7329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3505 /* 7332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3506 /* 7336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3507 /* 7340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3508 /* 7344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3509 /* 7346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3510 /* 7353 */ // (add:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3511 /* 7353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
3512 /* 7356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3513 /* 7358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3514 /* 7360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3515 /* 7364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3516 /* 7369 */ GIR_RootConstrainSelectedInstOperands,
3517 /* 7370 */ // GIR_Coverage, 23774,
3518 /* 7370 */ GIR_EraseRootFromParent_Done,
3519 /* 7371 */ // Label 241: @7371
3520 /* 7371 */ GIM_Try, /*On fail goto*//*Label 242*/ GIMT_Encode4(7429), // Rule ID 4711 //
3521 /* 7376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3522 /* 7379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3523 /* 7383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3524 /* 7387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3525 /* 7391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3526 /* 7394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3527 /* 7398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3528 /* 7402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3529 /* 7404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3530 /* 7411 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3531 /* 7411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
3532 /* 7414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3533 /* 7416 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3534 /* 7418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3535 /* 7422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3536 /* 7427 */ GIR_RootConstrainSelectedInstOperands,
3537 /* 7428 */ // GIR_Coverage, 4711,
3538 /* 7428 */ GIR_EraseRootFromParent_Done,
3539 /* 7429 */ // Label 242: @7429
3540 /* 7429 */ GIM_Try, /*On fail goto*//*Label 243*/ GIMT_Encode4(7452), // Rule ID 4708 //
3541 /* 7434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
3542 /* 7437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3543 /* 7441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3544 /* 7445 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
3545 /* 7445 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZrr),
3546 /* 7450 */ GIR_RootConstrainSelectedInstOperands,
3547 /* 7451 */ // GIR_Coverage, 4708,
3548 /* 7451 */ GIR_Done,
3549 /* 7452 */ // Label 243: @7452
3550 /* 7452 */ GIM_Reject,
3551 /* 7453 */ // Label 240: @7453
3552 /* 7453 */ GIM_Reject,
3553 /* 7454 */ // Label 99: @7454
3554 /* 7454 */ GIM_Reject,
3555 /* 7455 */ // Label 1: @7455
3556 /* 7455 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 260*/ GIMT_Encode4(10990),
3557 /* 7466 */ /*GILLT_s8*//*Label 244*/ GIMT_Encode4(7562),
3558 /* 7470 */ /*GILLT_s16*//*Label 245*/ GIMT_Encode4(7914),
3559 /* 7474 */ /*GILLT_s32*//*Label 246*/ GIMT_Encode4(8266),
3560 /* 7478 */ /*GILLT_s64*//*Label 247*/ GIMT_Encode4(8618), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
3561 /* 7494 */ /*GILLT_v2s64*//*Label 248*/ GIMT_Encode4(8978), GIMT_Encode4(0),
3562 /* 7502 */ /*GILLT_v4s32*//*Label 249*/ GIMT_Encode4(9196),
3563 /* 7506 */ /*GILLT_v4s64*//*Label 250*/ GIMT_Encode4(9414), GIMT_Encode4(0),
3564 /* 7514 */ /*GILLT_v8s16*//*Label 251*/ GIMT_Encode4(9605),
3565 /* 7518 */ /*GILLT_v8s32*//*Label 252*/ GIMT_Encode4(9823),
3566 /* 7522 */ /*GILLT_v8s64*//*Label 253*/ GIMT_Encode4(10014), GIMT_Encode4(0),
3567 /* 7530 */ /*GILLT_v16s8*//*Label 254*/ GIMT_Encode4(10108),
3568 /* 7534 */ /*GILLT_v16s16*//*Label 255*/ GIMT_Encode4(10326),
3569 /* 7538 */ /*GILLT_v16s32*//*Label 256*/ GIMT_Encode4(10517), GIMT_Encode4(0),
3570 /* 7546 */ /*GILLT_v32s8*//*Label 257*/ GIMT_Encode4(10611),
3571 /* 7550 */ /*GILLT_v32s16*//*Label 258*/ GIMT_Encode4(10802), GIMT_Encode4(0),
3572 /* 7558 */ /*GILLT_v64s8*//*Label 259*/ GIMT_Encode4(10896),
3573 /* 7562 */ // Label 244: @7562
3574 /* 7562 */ GIM_Try, /*On fail goto*//*Label 261*/ GIMT_Encode4(7913),
3575 /* 7567 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
3576 /* 7570 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
3577 /* 7573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3578 /* 7577 */ GIM_Try, /*On fail goto*//*Label 262*/ GIMT_Encode4(7638), // Rule ID 22841 //
3579 /* 7582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3580 /* 7585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3581 /* 7589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3582 /* 7593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3583 /* 7597 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3584 /* 7600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3585 /* 7604 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3586 /* 7608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3587 /* 7610 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3588 /* 7617 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (SUB8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3589 /* 7617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm),
3590 /* 7620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3591 /* 7622 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3592 /* 7624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3593 /* 7628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3594 /* 7631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3595 /* 7636 */ GIR_RootConstrainSelectedInstOperands,
3596 /* 7637 */ // GIR_Coverage, 22841,
3597 /* 7637 */ GIR_EraseRootFromParent_Done,
3598 /* 7638 */ // Label 262: @7638
3599 /* 7638 */ GIM_Try, /*On fail goto*//*Label 263*/ GIMT_Encode4(7699), // Rule ID 22931 //
3600 /* 7643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3601 /* 7646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3602 /* 7650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3603 /* 7654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3604 /* 7658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3605 /* 7661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3606 /* 7665 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3607 /* 7669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3608 /* 7671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3609 /* 7678 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (SUB8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3610 /* 7678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm_ND),
3611 /* 7681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3612 /* 7683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3613 /* 7685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3614 /* 7689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3615 /* 7692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3616 /* 7697 */ GIR_RootConstrainSelectedInstOperands,
3617 /* 7698 */ // GIR_Coverage, 22931,
3618 /* 7698 */ GIR_EraseRootFromParent_Done,
3619 /* 7699 */ // Label 263: @7699
3620 /* 7699 */ GIM_Try, /*On fail goto*//*Label 264*/ GIMT_Encode4(7727), // Rule ID 239 //
3621 /* 7704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3622 /* 7707 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3623 /* 7711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3624 /* 7715 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3625 /* 7715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r),
3626 /* 7718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3627 /* 7720 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3628 /* 7722 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3629 /* 7725 */ GIR_RootConstrainSelectedInstOperands,
3630 /* 7726 */ // GIR_Coverage, 239,
3631 /* 7726 */ GIR_EraseRootFromParent_Done,
3632 /* 7727 */ // Label 264: @7727
3633 /* 7727 */ GIM_Try, /*On fail goto*//*Label 265*/ GIMT_Encode4(7755), // Rule ID 247 //
3634 /* 7732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3635 /* 7735 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3636 /* 7739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3637 /* 7743 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3638 /* 7743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_ND),
3639 /* 7746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3640 /* 7748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3641 /* 7750 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3642 /* 7753 */ GIR_RootConstrainSelectedInstOperands,
3643 /* 7754 */ // GIR_Coverage, 247,
3644 /* 7754 */ GIR_EraseRootFromParent_Done,
3645 /* 7755 */ // Label 265: @7755
3646 /* 7755 */ GIM_Try, /*On fail goto*//*Label 266*/ GIMT_Encode4(7780), // Rule ID 255 //
3647 /* 7760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3648 /* 7763 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3649 /* 7767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3650 /* 7771 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_NF_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
3651 /* 7771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_NF_ND),
3652 /* 7774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3653 /* 7776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3654 /* 7778 */ GIR_RootConstrainSelectedInstOperands,
3655 /* 7779 */ // GIR_Coverage, 255,
3656 /* 7779 */ GIR_EraseRootFromParent_Done,
3657 /* 7780 */ // Label 266: @7780
3658 /* 7780 */ GIM_Try, /*On fail goto*//*Label 267*/ GIMT_Encode4(7817), // Rule ID 22845 //
3659 /* 7785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3660 /* 7788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3661 /* 7792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3662 /* 7796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3663 /* 7800 */ // MIs[1] Operand 1
3664 /* 7800 */ // No operand predicates
3665 /* 7800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3666 /* 7802 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3667 /* 7802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri),
3668 /* 7805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3669 /* 7807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3670 /* 7809 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3671 /* 7812 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3672 /* 7815 */ GIR_RootConstrainSelectedInstOperands,
3673 /* 7816 */ // GIR_Coverage, 22845,
3674 /* 7816 */ GIR_EraseRootFromParent_Done,
3675 /* 7817 */ // Label 267: @7817
3676 /* 7817 */ GIM_Try, /*On fail goto*//*Label 268*/ GIMT_Encode4(7854), // Rule ID 22935 //
3677 /* 7822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3678 /* 7825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3679 /* 7829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3680 /* 7833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3681 /* 7837 */ // MIs[1] Operand 1
3682 /* 7837 */ // No operand predicates
3683 /* 7837 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3684 /* 7839 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3685 /* 7839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri_ND),
3686 /* 7842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3687 /* 7844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3688 /* 7846 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3689 /* 7849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3690 /* 7852 */ GIR_RootConstrainSelectedInstOperands,
3691 /* 7853 */ // GIR_Coverage, 22935,
3692 /* 7853 */ GIR_EraseRootFromParent_Done,
3693 /* 7854 */ // Label 268: @7854
3694 /* 7854 */ GIM_Try, /*On fail goto*//*Label 269*/ GIMT_Encode4(7883), // Rule ID 22837 //
3695 /* 7859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3696 /* 7862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3697 /* 7866 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3698 /* 7870 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3699 /* 7870 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr),
3700 /* 7875 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3701 /* 7881 */ GIR_RootConstrainSelectedInstOperands,
3702 /* 7882 */ // GIR_Coverage, 22837,
3703 /* 7882 */ GIR_Done,
3704 /* 7883 */ // Label 269: @7883
3705 /* 7883 */ GIM_Try, /*On fail goto*//*Label 270*/ GIMT_Encode4(7912), // Rule ID 22927 //
3706 /* 7888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3707 /* 7891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3708 /* 7895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3709 /* 7899 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3710 /* 7899 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr_ND),
3711 /* 7904 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3712 /* 7910 */ GIR_RootConstrainSelectedInstOperands,
3713 /* 7911 */ // GIR_Coverage, 22927,
3714 /* 7911 */ GIR_Done,
3715 /* 7912 */ // Label 270: @7912
3716 /* 7912 */ GIM_Reject,
3717 /* 7913 */ // Label 261: @7913
3718 /* 7913 */ GIM_Reject,
3719 /* 7914 */ // Label 245: @7914
3720 /* 7914 */ GIM_Try, /*On fail goto*//*Label 271*/ GIMT_Encode4(8265),
3721 /* 7919 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
3722 /* 7922 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
3723 /* 7925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3724 /* 7929 */ GIM_Try, /*On fail goto*//*Label 272*/ GIMT_Encode4(7990), // Rule ID 22842 //
3725 /* 7934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3726 /* 7937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3727 /* 7941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3728 /* 7945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3729 /* 7949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3730 /* 7952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3731 /* 7956 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3732 /* 7960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3733 /* 7962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3734 /* 7969 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (SUB16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3735 /* 7969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm),
3736 /* 7972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3737 /* 7974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3738 /* 7976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3739 /* 7980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3740 /* 7983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3741 /* 7988 */ GIR_RootConstrainSelectedInstOperands,
3742 /* 7989 */ // GIR_Coverage, 22842,
3743 /* 7989 */ GIR_EraseRootFromParent_Done,
3744 /* 7990 */ // Label 272: @7990
3745 /* 7990 */ GIM_Try, /*On fail goto*//*Label 273*/ GIMT_Encode4(8051), // Rule ID 22932 //
3746 /* 7995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3747 /* 7998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3748 /* 8002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3749 /* 8006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3750 /* 8010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3751 /* 8013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3752 /* 8017 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3753 /* 8021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3754 /* 8023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3755 /* 8030 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (SUB16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
3756 /* 8030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm_ND),
3757 /* 8033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3758 /* 8035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3759 /* 8037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3760 /* 8041 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3761 /* 8044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3762 /* 8049 */ GIR_RootConstrainSelectedInstOperands,
3763 /* 8050 */ // GIR_Coverage, 22932,
3764 /* 8050 */ GIR_EraseRootFromParent_Done,
3765 /* 8051 */ // Label 273: @8051
3766 /* 8051 */ GIM_Try, /*On fail goto*//*Label 274*/ GIMT_Encode4(8079), // Rule ID 240 //
3767 /* 8056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3768 /* 8059 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3769 /* 8063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3770 /* 8067 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3771 /* 8067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r),
3772 /* 8070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3773 /* 8072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3774 /* 8074 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3775 /* 8077 */ GIR_RootConstrainSelectedInstOperands,
3776 /* 8078 */ // GIR_Coverage, 240,
3777 /* 8078 */ GIR_EraseRootFromParent_Done,
3778 /* 8079 */ // Label 274: @8079
3779 /* 8079 */ GIM_Try, /*On fail goto*//*Label 275*/ GIMT_Encode4(8107), // Rule ID 248 //
3780 /* 8084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3781 /* 8087 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3782 /* 8091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3783 /* 8095 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3784 /* 8095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_ND),
3785 /* 8098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3786 /* 8100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3787 /* 8102 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3788 /* 8105 */ GIR_RootConstrainSelectedInstOperands,
3789 /* 8106 */ // GIR_Coverage, 248,
3790 /* 8106 */ GIR_EraseRootFromParent_Done,
3791 /* 8107 */ // Label 275: @8107
3792 /* 8107 */ GIM_Try, /*On fail goto*//*Label 276*/ GIMT_Encode4(8132), // Rule ID 256 //
3793 /* 8112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3794 /* 8115 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3795 /* 8119 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3796 /* 8123 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_NF_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
3797 /* 8123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_NF_ND),
3798 /* 8126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3799 /* 8128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3800 /* 8130 */ GIR_RootConstrainSelectedInstOperands,
3801 /* 8131 */ // GIR_Coverage, 256,
3802 /* 8131 */ GIR_EraseRootFromParent_Done,
3803 /* 8132 */ // Label 276: @8132
3804 /* 8132 */ GIM_Try, /*On fail goto*//*Label 277*/ GIMT_Encode4(8169), // Rule ID 22846 //
3805 /* 8137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3806 /* 8140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3807 /* 8144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3808 /* 8148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3809 /* 8152 */ // MIs[1] Operand 1
3810 /* 8152 */ // No operand predicates
3811 /* 8152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3812 /* 8154 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3813 /* 8154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
3814 /* 8157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3815 /* 8159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3816 /* 8161 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3817 /* 8164 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3818 /* 8167 */ GIR_RootConstrainSelectedInstOperands,
3819 /* 8168 */ // GIR_Coverage, 22846,
3820 /* 8168 */ GIR_EraseRootFromParent_Done,
3821 /* 8169 */ // Label 277: @8169
3822 /* 8169 */ GIM_Try, /*On fail goto*//*Label 278*/ GIMT_Encode4(8206), // Rule ID 22936 //
3823 /* 8174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3824 /* 8177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3825 /* 8181 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3826 /* 8185 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3827 /* 8189 */ // MIs[1] Operand 1
3828 /* 8189 */ // No operand predicates
3829 /* 8189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3830 /* 8191 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3831 /* 8191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
3832 /* 8194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3833 /* 8196 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3834 /* 8198 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3835 /* 8201 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3836 /* 8204 */ GIR_RootConstrainSelectedInstOperands,
3837 /* 8205 */ // GIR_Coverage, 22936,
3838 /* 8205 */ GIR_EraseRootFromParent_Done,
3839 /* 8206 */ // Label 278: @8206
3840 /* 8206 */ GIM_Try, /*On fail goto*//*Label 279*/ GIMT_Encode4(8235), // Rule ID 22838 //
3841 /* 8211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3842 /* 8214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3843 /* 8218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3844 /* 8222 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3845 /* 8222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr),
3846 /* 8227 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3847 /* 8233 */ GIR_RootConstrainSelectedInstOperands,
3848 /* 8234 */ // GIR_Coverage, 22838,
3849 /* 8234 */ GIR_Done,
3850 /* 8235 */ // Label 279: @8235
3851 /* 8235 */ GIM_Try, /*On fail goto*//*Label 280*/ GIMT_Encode4(8264), // Rule ID 22928 //
3852 /* 8240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3853 /* 8243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3854 /* 8247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3855 /* 8251 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3856 /* 8251 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr_ND),
3857 /* 8256 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3858 /* 8262 */ GIR_RootConstrainSelectedInstOperands,
3859 /* 8263 */ // GIR_Coverage, 22928,
3860 /* 8263 */ GIR_Done,
3861 /* 8264 */ // Label 280: @8264
3862 /* 8264 */ GIM_Reject,
3863 /* 8265 */ // Label 271: @8265
3864 /* 8265 */ GIM_Reject,
3865 /* 8266 */ // Label 246: @8266
3866 /* 8266 */ GIM_Try, /*On fail goto*//*Label 281*/ GIMT_Encode4(8617),
3867 /* 8271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3868 /* 8274 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
3869 /* 8277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3870 /* 8281 */ GIM_Try, /*On fail goto*//*Label 282*/ GIMT_Encode4(8342), // Rule ID 22843 //
3871 /* 8286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3872 /* 8289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3873 /* 8293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3874 /* 8297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3875 /* 8301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3876 /* 8304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3877 /* 8308 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3878 /* 8312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3879 /* 8314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3880 /* 8321 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (SUB32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3881 /* 8321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm),
3882 /* 8324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3883 /* 8326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3884 /* 8328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3885 /* 8332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3886 /* 8335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3887 /* 8340 */ GIR_RootConstrainSelectedInstOperands,
3888 /* 8341 */ // GIR_Coverage, 22843,
3889 /* 8341 */ GIR_EraseRootFromParent_Done,
3890 /* 8342 */ // Label 282: @8342
3891 /* 8342 */ GIM_Try, /*On fail goto*//*Label 283*/ GIMT_Encode4(8403), // Rule ID 22933 //
3892 /* 8347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3893 /* 8350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3894 /* 8354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3895 /* 8358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3896 /* 8362 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3897 /* 8365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3898 /* 8369 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3899 /* 8373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3900 /* 8375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3901 /* 8382 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (SUB32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3902 /* 8382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm_ND),
3903 /* 8385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3904 /* 8387 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3905 /* 8389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3906 /* 8393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3907 /* 8396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3908 /* 8401 */ GIR_RootConstrainSelectedInstOperands,
3909 /* 8402 */ // GIR_Coverage, 22933,
3910 /* 8402 */ GIR_EraseRootFromParent_Done,
3911 /* 8403 */ // Label 283: @8403
3912 /* 8403 */ GIM_Try, /*On fail goto*//*Label 284*/ GIMT_Encode4(8431), // Rule ID 241 //
3913 /* 8408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3914 /* 8411 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3915 /* 8415 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3916 /* 8419 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3917 /* 8419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r),
3918 /* 8422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3919 /* 8424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3920 /* 8426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3921 /* 8429 */ GIR_RootConstrainSelectedInstOperands,
3922 /* 8430 */ // GIR_Coverage, 241,
3923 /* 8430 */ GIR_EraseRootFromParent_Done,
3924 /* 8431 */ // Label 284: @8431
3925 /* 8431 */ GIM_Try, /*On fail goto*//*Label 285*/ GIMT_Encode4(8459), // Rule ID 249 //
3926 /* 8436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3927 /* 8439 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3928 /* 8443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3929 /* 8447 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3930 /* 8447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_ND),
3931 /* 8450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3932 /* 8452 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3933 /* 8454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3934 /* 8457 */ GIR_RootConstrainSelectedInstOperands,
3935 /* 8458 */ // GIR_Coverage, 249,
3936 /* 8458 */ GIR_EraseRootFromParent_Done,
3937 /* 8459 */ // Label 285: @8459
3938 /* 8459 */ GIM_Try, /*On fail goto*//*Label 286*/ GIMT_Encode4(8484), // Rule ID 257 //
3939 /* 8464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3940 /* 8467 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3941 /* 8471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3942 /* 8475 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_NF_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3943 /* 8475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_NF_ND),
3944 /* 8478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3945 /* 8480 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3946 /* 8482 */ GIR_RootConstrainSelectedInstOperands,
3947 /* 8483 */ // GIR_Coverage, 257,
3948 /* 8483 */ GIR_EraseRootFromParent_Done,
3949 /* 8484 */ // Label 286: @8484
3950 /* 8484 */ GIM_Try, /*On fail goto*//*Label 287*/ GIMT_Encode4(8521), // Rule ID 22847 //
3951 /* 8489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3952 /* 8492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3953 /* 8496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3954 /* 8500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3955 /* 8504 */ // MIs[1] Operand 1
3956 /* 8504 */ // No operand predicates
3957 /* 8504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3958 /* 8506 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3959 /* 8506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
3960 /* 8509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3961 /* 8511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3962 /* 8513 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3963 /* 8516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3964 /* 8519 */ GIR_RootConstrainSelectedInstOperands,
3965 /* 8520 */ // GIR_Coverage, 22847,
3966 /* 8520 */ GIR_EraseRootFromParent_Done,
3967 /* 8521 */ // Label 287: @8521
3968 /* 8521 */ GIM_Try, /*On fail goto*//*Label 288*/ GIMT_Encode4(8558), // Rule ID 22937 //
3969 /* 8526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3970 /* 8529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3971 /* 8533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3972 /* 8537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3973 /* 8541 */ // MIs[1] Operand 1
3974 /* 8541 */ // No operand predicates
3975 /* 8541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3976 /* 8543 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3977 /* 8543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
3978 /* 8546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3979 /* 8548 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3980 /* 8550 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3981 /* 8553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3982 /* 8556 */ GIR_RootConstrainSelectedInstOperands,
3983 /* 8557 */ // GIR_Coverage, 22937,
3984 /* 8557 */ GIR_EraseRootFromParent_Done,
3985 /* 8558 */ // Label 288: @8558
3986 /* 8558 */ GIM_Try, /*On fail goto*//*Label 289*/ GIMT_Encode4(8587), // Rule ID 22839 //
3987 /* 8563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3988 /* 8566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3989 /* 8570 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3990 /* 8574 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3991 /* 8574 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr),
3992 /* 8579 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3993 /* 8585 */ GIR_RootConstrainSelectedInstOperands,
3994 /* 8586 */ // GIR_Coverage, 22839,
3995 /* 8586 */ GIR_Done,
3996 /* 8587 */ // Label 289: @8587
3997 /* 8587 */ GIM_Try, /*On fail goto*//*Label 290*/ GIMT_Encode4(8616), // Rule ID 22929 //
3998 /* 8592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3999 /* 8595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4000 /* 8599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4001 /* 8603 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4002 /* 8603 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr_ND),
4003 /* 8608 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4004 /* 8614 */ GIR_RootConstrainSelectedInstOperands,
4005 /* 8615 */ // GIR_Coverage, 22929,
4006 /* 8615 */ GIR_Done,
4007 /* 8616 */ // Label 290: @8616
4008 /* 8616 */ GIM_Reject,
4009 /* 8617 */ // Label 281: @8617
4010 /* 8617 */ GIM_Reject,
4011 /* 8618 */ // Label 247: @8618
4012 /* 8618 */ GIM_Try, /*On fail goto*//*Label 291*/ GIMT_Encode4(8977),
4013 /* 8623 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
4014 /* 8626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4015 /* 8629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4016 /* 8633 */ GIM_Try, /*On fail goto*//*Label 292*/ GIMT_Encode4(8694), // Rule ID 22844 //
4017 /* 8638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4018 /* 8641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4019 /* 8645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4020 /* 8649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4021 /* 8653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4022 /* 8656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4023 /* 8660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4024 /* 8664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4025 /* 8666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4026 /* 8673 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUB64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4027 /* 8673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm),
4028 /* 8676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4029 /* 8678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4030 /* 8680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4031 /* 8684 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4032 /* 8687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4033 /* 8692 */ GIR_RootConstrainSelectedInstOperands,
4034 /* 8693 */ // GIR_Coverage, 22844,
4035 /* 8693 */ GIR_EraseRootFromParent_Done,
4036 /* 8694 */ // Label 292: @8694
4037 /* 8694 */ GIM_Try, /*On fail goto*//*Label 293*/ GIMT_Encode4(8755), // Rule ID 22934 //
4038 /* 8699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4039 /* 8702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4040 /* 8706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4041 /* 8710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4042 /* 8714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4043 /* 8717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4044 /* 8721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4045 /* 8725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4046 /* 8727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4047 /* 8734 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUB64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4048 /* 8734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm_ND),
4049 /* 8737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4050 /* 8739 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4051 /* 8741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4052 /* 8745 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4053 /* 8748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4054 /* 8753 */ GIR_RootConstrainSelectedInstOperands,
4055 /* 8754 */ // GIR_Coverage, 22934,
4056 /* 8754 */ GIR_EraseRootFromParent_Done,
4057 /* 8755 */ // Label 293: @8755
4058 /* 8755 */ GIM_Try, /*On fail goto*//*Label 294*/ GIMT_Encode4(8783), // Rule ID 242 //
4059 /* 8760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4060 /* 8763 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
4061 /* 8767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4062 /* 8771 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
4063 /* 8771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r),
4064 /* 8774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4065 /* 8776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4066 /* 8778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4067 /* 8781 */ GIR_RootConstrainSelectedInstOperands,
4068 /* 8782 */ // GIR_Coverage, 242,
4069 /* 8782 */ GIR_EraseRootFromParent_Done,
4070 /* 8783 */ // Label 294: @8783
4071 /* 8783 */ GIM_Try, /*On fail goto*//*Label 295*/ GIMT_Encode4(8811), // Rule ID 250 //
4072 /* 8788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
4073 /* 8791 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
4074 /* 8795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4075 /* 8799 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
4076 /* 8799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_ND),
4077 /* 8802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4078 /* 8804 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4079 /* 8806 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4080 /* 8809 */ GIR_RootConstrainSelectedInstOperands,
4081 /* 8810 */ // GIR_Coverage, 250,
4082 /* 8810 */ GIR_EraseRootFromParent_Done,
4083 /* 8811 */ // Label 295: @8811
4084 /* 8811 */ GIM_Try, /*On fail goto*//*Label 296*/ GIMT_Encode4(8836), // Rule ID 258 //
4085 /* 8816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
4086 /* 8819 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
4087 /* 8823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4088 /* 8827 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_NF_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
4089 /* 8827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_NF_ND),
4090 /* 8830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4091 /* 8832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4092 /* 8834 */ GIR_RootConstrainSelectedInstOperands,
4093 /* 8835 */ // GIR_Coverage, 258,
4094 /* 8835 */ GIR_EraseRootFromParent_Done,
4095 /* 8836 */ // Label 296: @8836
4096 /* 8836 */ GIM_Try, /*On fail goto*//*Label 297*/ GIMT_Encode4(8877), // Rule ID 22848 //
4097 /* 8841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4098 /* 8844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4099 /* 8848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4100 /* 8852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4101 /* 8856 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4102 /* 8860 */ // MIs[1] Operand 1
4103 /* 8860 */ // No operand predicates
4104 /* 8860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4105 /* 8862 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4106 /* 8862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
4107 /* 8865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4108 /* 8867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4109 /* 8869 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4110 /* 8872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4111 /* 8875 */ GIR_RootConstrainSelectedInstOperands,
4112 /* 8876 */ // GIR_Coverage, 22848,
4113 /* 8876 */ GIR_EraseRootFromParent_Done,
4114 /* 8877 */ // Label 297: @8877
4115 /* 8877 */ GIM_Try, /*On fail goto*//*Label 298*/ GIMT_Encode4(8918), // Rule ID 22938 //
4116 /* 8882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4117 /* 8885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4118 /* 8889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4119 /* 8893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4120 /* 8897 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4121 /* 8901 */ // MIs[1] Operand 1
4122 /* 8901 */ // No operand predicates
4123 /* 8901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4124 /* 8903 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4125 /* 8903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
4126 /* 8906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4127 /* 8908 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4128 /* 8910 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4129 /* 8913 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4130 /* 8916 */ GIR_RootConstrainSelectedInstOperands,
4131 /* 8917 */ // GIR_Coverage, 22938,
4132 /* 8917 */ GIR_EraseRootFromParent_Done,
4133 /* 8918 */ // Label 298: @8918
4134 /* 8918 */ GIM_Try, /*On fail goto*//*Label 299*/ GIMT_Encode4(8947), // Rule ID 22840 //
4135 /* 8923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4136 /* 8926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4137 /* 8930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4138 /* 8934 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4139 /* 8934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr),
4140 /* 8939 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4141 /* 8945 */ GIR_RootConstrainSelectedInstOperands,
4142 /* 8946 */ // GIR_Coverage, 22840,
4143 /* 8946 */ GIR_Done,
4144 /* 8947 */ // Label 299: @8947
4145 /* 8947 */ GIM_Try, /*On fail goto*//*Label 300*/ GIMT_Encode4(8976), // Rule ID 22930 //
4146 /* 8952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4147 /* 8955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4148 /* 8959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4149 /* 8963 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4150 /* 8963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr_ND),
4151 /* 8968 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4152 /* 8974 */ GIR_RootConstrainSelectedInstOperands,
4153 /* 8975 */ // GIR_Coverage, 22930,
4154 /* 8975 */ GIR_Done,
4155 /* 8976 */ // Label 300: @8976
4156 /* 8976 */ GIM_Reject,
4157 /* 8977 */ // Label 291: @8977
4158 /* 8977 */ GIM_Reject,
4159 /* 8978 */ // Label 248: @8978
4160 /* 8978 */ GIM_Try, /*On fail goto*//*Label 301*/ GIMT_Encode4(9195),
4161 /* 8983 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4162 /* 8986 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
4163 /* 8989 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(9051), // Rule ID 2606 //
4164 /* 8994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4165 /* 8997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4166 /* 9001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4167 /* 9005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4168 /* 9009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4169 /* 9013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4170 /* 9016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4171 /* 9020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4172 /* 9024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4173 /* 9026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4174 /* 9033 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4175 /* 9033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQrm),
4176 /* 9036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4177 /* 9038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4178 /* 9040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4179 /* 9044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4180 /* 9049 */ GIR_RootConstrainSelectedInstOperands,
4181 /* 9050 */ // GIR_Coverage, 2606,
4182 /* 9050 */ GIR_EraseRootFromParent_Done,
4183 /* 9051 */ // Label 302: @9051
4184 /* 9051 */ GIM_Try, /*On fail goto*//*Label 303*/ GIMT_Encode4(9113), // Rule ID 4747 //
4185 /* 9056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4186 /* 9059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4187 /* 9063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4188 /* 9067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4189 /* 9071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4190 /* 9075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4191 /* 9078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4192 /* 9082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4193 /* 9086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4194 /* 9088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4195 /* 9095 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4196 /* 9095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rm),
4197 /* 9098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4198 /* 9100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4199 /* 9102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4200 /* 9106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4201 /* 9111 */ GIR_RootConstrainSelectedInstOperands,
4202 /* 9112 */ // GIR_Coverage, 4747,
4203 /* 9112 */ GIR_EraseRootFromParent_Done,
4204 /* 9113 */ // Label 303: @9113
4205 /* 9113 */ GIM_Try, /*On fail goto*//*Label 304*/ GIMT_Encode4(9140), // Rule ID 2605 //
4206 /* 9118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4207 /* 9121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4208 /* 9125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4209 /* 9129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4210 /* 9133 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4211 /* 9133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQrr),
4212 /* 9138 */ GIR_RootConstrainSelectedInstOperands,
4213 /* 9139 */ // GIR_Coverage, 2605,
4214 /* 9139 */ GIR_Done,
4215 /* 9140 */ // Label 304: @9140
4216 /* 9140 */ GIM_Try, /*On fail goto*//*Label 305*/ GIMT_Encode4(9167), // Rule ID 2607 //
4217 /* 9145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4218 /* 9148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4219 /* 9152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4220 /* 9156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4221 /* 9160 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4222 /* 9160 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBQrr),
4223 /* 9165 */ GIR_RootConstrainSelectedInstOperands,
4224 /* 9166 */ // GIR_Coverage, 2607,
4225 /* 9166 */ GIR_Done,
4226 /* 9167 */ // Label 305: @9167
4227 /* 9167 */ GIM_Try, /*On fail goto*//*Label 306*/ GIMT_Encode4(9194), // Rule ID 4744 //
4228 /* 9172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4229 /* 9175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4230 /* 9179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4231 /* 9183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4232 /* 9187 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPSUBQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
4233 /* 9187 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rr),
4234 /* 9192 */ GIR_RootConstrainSelectedInstOperands,
4235 /* 9193 */ // GIR_Coverage, 4744,
4236 /* 9193 */ GIR_Done,
4237 /* 9194 */ // Label 306: @9194
4238 /* 9194 */ GIM_Reject,
4239 /* 9195 */ // Label 301: @9195
4240 /* 9195 */ GIM_Reject,
4241 /* 9196 */ // Label 249: @9196
4242 /* 9196 */ GIM_Try, /*On fail goto*//*Label 307*/ GIMT_Encode4(9413),
4243 /* 9201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4244 /* 9204 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
4245 /* 9207 */ GIM_Try, /*On fail goto*//*Label 308*/ GIMT_Encode4(9269), // Rule ID 2600 //
4246 /* 9212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4247 /* 9215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4248 /* 9219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4249 /* 9223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4250 /* 9227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4251 /* 9231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4252 /* 9234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4253 /* 9238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4254 /* 9242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4255 /* 9244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4256 /* 9251 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4257 /* 9251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDrm),
4258 /* 9254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4259 /* 9256 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4260 /* 9258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4261 /* 9262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4262 /* 9267 */ GIR_RootConstrainSelectedInstOperands,
4263 /* 9268 */ // GIR_Coverage, 2600,
4264 /* 9268 */ GIR_EraseRootFromParent_Done,
4265 /* 9269 */ // Label 308: @9269
4266 /* 9269 */ GIM_Try, /*On fail goto*//*Label 309*/ GIMT_Encode4(9331), // Rule ID 4774 //
4267 /* 9274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4268 /* 9277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4269 /* 9281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4270 /* 9285 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4271 /* 9289 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4272 /* 9293 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4273 /* 9296 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4274 /* 9300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4275 /* 9304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4276 /* 9306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4277 /* 9313 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4278 /* 9313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rm),
4279 /* 9316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4280 /* 9318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4281 /* 9320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4282 /* 9324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4283 /* 9329 */ GIR_RootConstrainSelectedInstOperands,
4284 /* 9330 */ // GIR_Coverage, 4774,
4285 /* 9330 */ GIR_EraseRootFromParent_Done,
4286 /* 9331 */ // Label 309: @9331
4287 /* 9331 */ GIM_Try, /*On fail goto*//*Label 310*/ GIMT_Encode4(9358), // Rule ID 2599 //
4288 /* 9336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4289 /* 9339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4290 /* 9343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4291 /* 9347 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4292 /* 9351 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4293 /* 9351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDrr),
4294 /* 9356 */ GIR_RootConstrainSelectedInstOperands,
4295 /* 9357 */ // GIR_Coverage, 2599,
4296 /* 9357 */ GIR_Done,
4297 /* 9358 */ // Label 310: @9358
4298 /* 9358 */ GIM_Try, /*On fail goto*//*Label 311*/ GIMT_Encode4(9385), // Rule ID 2601 //
4299 /* 9363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4300 /* 9366 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4301 /* 9370 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4302 /* 9374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4303 /* 9378 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4304 /* 9378 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBDrr),
4305 /* 9383 */ GIR_RootConstrainSelectedInstOperands,
4306 /* 9384 */ // GIR_Coverage, 2601,
4307 /* 9384 */ GIR_Done,
4308 /* 9385 */ // Label 311: @9385
4309 /* 9385 */ GIM_Try, /*On fail goto*//*Label 312*/ GIMT_Encode4(9412), // Rule ID 4771 //
4310 /* 9390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4311 /* 9393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4312 /* 9397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4313 /* 9401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4314 /* 9405 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPSUBDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
4315 /* 9405 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rr),
4316 /* 9410 */ GIR_RootConstrainSelectedInstOperands,
4317 /* 9411 */ // GIR_Coverage, 4771,
4318 /* 9411 */ GIR_Done,
4319 /* 9412 */ // Label 312: @9412
4320 /* 9412 */ GIM_Reject,
4321 /* 9413 */ // Label 307: @9413
4322 /* 9413 */ GIM_Reject,
4323 /* 9414 */ // Label 250: @9414
4324 /* 9414 */ GIM_Try, /*On fail goto*//*Label 313*/ GIMT_Encode4(9604),
4325 /* 9419 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
4326 /* 9422 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
4327 /* 9425 */ GIM_Try, /*On fail goto*//*Label 314*/ GIMT_Encode4(9487), // Rule ID 2610 //
4328 /* 9430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4329 /* 9433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4330 /* 9437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4331 /* 9441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4332 /* 9445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4333 /* 9449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4334 /* 9452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4335 /* 9456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4336 /* 9460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4337 /* 9462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4338 /* 9469 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4339 /* 9469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrm),
4340 /* 9472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4341 /* 9474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4342 /* 9476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4343 /* 9480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4344 /* 9485 */ GIR_RootConstrainSelectedInstOperands,
4345 /* 9486 */ // GIR_Coverage, 2610,
4346 /* 9486 */ GIR_EraseRootFromParent_Done,
4347 /* 9487 */ // Label 314: @9487
4348 /* 9487 */ GIM_Try, /*On fail goto*//*Label 315*/ GIMT_Encode4(9549), // Rule ID 4738 //
4349 /* 9492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4350 /* 9495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4351 /* 9499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4352 /* 9503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4353 /* 9507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4354 /* 9511 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4355 /* 9514 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4356 /* 9518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4357 /* 9522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4358 /* 9524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4359 /* 9531 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4360 /* 9531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rm),
4361 /* 9534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4362 /* 9536 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4363 /* 9538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4364 /* 9542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4365 /* 9547 */ GIR_RootConstrainSelectedInstOperands,
4366 /* 9548 */ // GIR_Coverage, 4738,
4367 /* 9548 */ GIR_EraseRootFromParent_Done,
4368 /* 9549 */ // Label 315: @9549
4369 /* 9549 */ GIM_Try, /*On fail goto*//*Label 316*/ GIMT_Encode4(9576), // Rule ID 2609 //
4370 /* 9554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4371 /* 9557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4372 /* 9561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4373 /* 9565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4374 /* 9569 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPSUBQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
4375 /* 9569 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrr),
4376 /* 9574 */ GIR_RootConstrainSelectedInstOperands,
4377 /* 9575 */ // GIR_Coverage, 2609,
4378 /* 9575 */ GIR_Done,
4379 /* 9576 */ // Label 316: @9576
4380 /* 9576 */ GIM_Try, /*On fail goto*//*Label 317*/ GIMT_Encode4(9603), // Rule ID 4735 //
4381 /* 9581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4382 /* 9584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4383 /* 9588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4384 /* 9592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4385 /* 9596 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPSUBQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
4386 /* 9596 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rr),
4387 /* 9601 */ GIR_RootConstrainSelectedInstOperands,
4388 /* 9602 */ // GIR_Coverage, 4735,
4389 /* 9602 */ GIR_Done,
4390 /* 9603 */ // Label 317: @9603
4391 /* 9603 */ GIM_Reject,
4392 /* 9604 */ // Label 313: @9604
4393 /* 9604 */ GIM_Reject,
4394 /* 9605 */ // Label 251: @9605
4395 /* 9605 */ GIM_Try, /*On fail goto*//*Label 318*/ GIMT_Encode4(9822),
4396 /* 9610 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4397 /* 9613 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
4398 /* 9616 */ GIM_Try, /*On fail goto*//*Label 319*/ GIMT_Encode4(9678), // Rule ID 2594 //
4399 /* 9621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4400 /* 9624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4401 /* 9628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4402 /* 9632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4403 /* 9636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4404 /* 9640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4405 /* 9643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4406 /* 9647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4407 /* 9651 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4408 /* 9653 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4409 /* 9660 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4410 /* 9660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWrm),
4411 /* 9663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4412 /* 9665 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4413 /* 9667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4414 /* 9671 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4415 /* 9676 */ GIR_RootConstrainSelectedInstOperands,
4416 /* 9677 */ // GIR_Coverage, 2594,
4417 /* 9677 */ GIR_EraseRootFromParent_Done,
4418 /* 9678 */ // Label 319: @9678
4419 /* 9678 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(9740), // Rule ID 4795 //
4420 /* 9683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4421 /* 9686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4422 /* 9690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4423 /* 9694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4424 /* 9698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4425 /* 9702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4426 /* 9705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4427 /* 9709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4428 /* 9713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4429 /* 9715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4430 /* 9722 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4431 /* 9722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rm),
4432 /* 9725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4433 /* 9727 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4434 /* 9729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4435 /* 9733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4436 /* 9738 */ GIR_RootConstrainSelectedInstOperands,
4437 /* 9739 */ // GIR_Coverage, 4795,
4438 /* 9739 */ GIR_EraseRootFromParent_Done,
4439 /* 9740 */ // Label 320: @9740
4440 /* 9740 */ GIM_Try, /*On fail goto*//*Label 321*/ GIMT_Encode4(9767), // Rule ID 2593 //
4441 /* 9745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4442 /* 9748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4443 /* 9752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4444 /* 9756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4445 /* 9760 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4446 /* 9760 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWrr),
4447 /* 9765 */ GIR_RootConstrainSelectedInstOperands,
4448 /* 9766 */ // GIR_Coverage, 2593,
4449 /* 9766 */ GIR_Done,
4450 /* 9767 */ // Label 321: @9767
4451 /* 9767 */ GIM_Try, /*On fail goto*//*Label 322*/ GIMT_Encode4(9794), // Rule ID 2595 //
4452 /* 9772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4453 /* 9775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4454 /* 9779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4455 /* 9783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4456 /* 9787 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4457 /* 9787 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBWrr),
4458 /* 9792 */ GIR_RootConstrainSelectedInstOperands,
4459 /* 9793 */ // GIR_Coverage, 2595,
4460 /* 9793 */ GIR_Done,
4461 /* 9794 */ // Label 322: @9794
4462 /* 9794 */ GIM_Try, /*On fail goto*//*Label 323*/ GIMT_Encode4(9821), // Rule ID 4792 //
4463 /* 9799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4464 /* 9802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4465 /* 9806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4466 /* 9810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4467 /* 9814 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
4468 /* 9814 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rr),
4469 /* 9819 */ GIR_RootConstrainSelectedInstOperands,
4470 /* 9820 */ // GIR_Coverage, 4792,
4471 /* 9820 */ GIR_Done,
4472 /* 9821 */ // Label 323: @9821
4473 /* 9821 */ GIM_Reject,
4474 /* 9822 */ // Label 318: @9822
4475 /* 9822 */ GIM_Reject,
4476 /* 9823 */ // Label 252: @9823
4477 /* 9823 */ GIM_Try, /*On fail goto*//*Label 324*/ GIMT_Encode4(10013),
4478 /* 9828 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
4479 /* 9831 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
4480 /* 9834 */ GIM_Try, /*On fail goto*//*Label 325*/ GIMT_Encode4(9896), // Rule ID 2604 //
4481 /* 9839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4482 /* 9842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4483 /* 9846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4484 /* 9850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4485 /* 9854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4486 /* 9858 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4487 /* 9861 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4488 /* 9865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4489 /* 9869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4490 /* 9871 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4491 /* 9878 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4492 /* 9878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrm),
4493 /* 9881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4494 /* 9883 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4495 /* 9885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4496 /* 9889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4497 /* 9894 */ GIR_RootConstrainSelectedInstOperands,
4498 /* 9895 */ // GIR_Coverage, 2604,
4499 /* 9895 */ GIR_EraseRootFromParent_Done,
4500 /* 9896 */ // Label 325: @9896
4501 /* 9896 */ GIM_Try, /*On fail goto*//*Label 326*/ GIMT_Encode4(9958), // Rule ID 4765 //
4502 /* 9901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4503 /* 9904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4504 /* 9908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4505 /* 9912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4506 /* 9916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4507 /* 9920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4508 /* 9923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4509 /* 9927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4510 /* 9931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4511 /* 9933 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4512 /* 9940 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4513 /* 9940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rm),
4514 /* 9943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4515 /* 9945 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4516 /* 9947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4517 /* 9951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4518 /* 9956 */ GIR_RootConstrainSelectedInstOperands,
4519 /* 9957 */ // GIR_Coverage, 4765,
4520 /* 9957 */ GIR_EraseRootFromParent_Done,
4521 /* 9958 */ // Label 326: @9958
4522 /* 9958 */ GIM_Try, /*On fail goto*//*Label 327*/ GIMT_Encode4(9985), // Rule ID 2603 //
4523 /* 9963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4524 /* 9966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4525 /* 9970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4526 /* 9974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4527 /* 9978 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSUBDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
4528 /* 9978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrr),
4529 /* 9983 */ GIR_RootConstrainSelectedInstOperands,
4530 /* 9984 */ // GIR_Coverage, 2603,
4531 /* 9984 */ GIR_Done,
4532 /* 9985 */ // Label 327: @9985
4533 /* 9985 */ GIM_Try, /*On fail goto*//*Label 328*/ GIMT_Encode4(10012), // Rule ID 4762 //
4534 /* 9990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4535 /* 9993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4536 /* 9997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4537 /* 10001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4538 /* 10005 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPSUBDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
4539 /* 10005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rr),
4540 /* 10010 */ GIR_RootConstrainSelectedInstOperands,
4541 /* 10011 */ // GIR_Coverage, 4762,
4542 /* 10011 */ GIR_Done,
4543 /* 10012 */ // Label 328: @10012
4544 /* 10012 */ GIM_Reject,
4545 /* 10013 */ // Label 324: @10013
4546 /* 10013 */ GIM_Reject,
4547 /* 10014 */ // Label 253: @10014
4548 /* 10014 */ GIM_Try, /*On fail goto*//*Label 329*/ GIMT_Encode4(10107),
4549 /* 10019 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
4550 /* 10022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
4551 /* 10025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4552 /* 10029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4553 /* 10033 */ GIM_Try, /*On fail goto*//*Label 330*/ GIMT_Encode4(10087), // Rule ID 4729 //
4554 /* 10038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4555 /* 10041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4556 /* 10045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4557 /* 10049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4558 /* 10052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4559 /* 10056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4560 /* 10060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4561 /* 10062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4562 /* 10069 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4563 /* 10069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrm),
4564 /* 10072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4565 /* 10074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4566 /* 10076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4567 /* 10080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4568 /* 10085 */ GIR_RootConstrainSelectedInstOperands,
4569 /* 10086 */ // GIR_Coverage, 4729,
4570 /* 10086 */ GIR_EraseRootFromParent_Done,
4571 /* 10087 */ // Label 330: @10087
4572 /* 10087 */ GIM_Try, /*On fail goto*//*Label 331*/ GIMT_Encode4(10106), // Rule ID 4726 //
4573 /* 10092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4574 /* 10095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4575 /* 10099 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPSUBQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
4576 /* 10099 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrr),
4577 /* 10104 */ GIR_RootConstrainSelectedInstOperands,
4578 /* 10105 */ // GIR_Coverage, 4726,
4579 /* 10105 */ GIR_Done,
4580 /* 10106 */ // Label 331: @10106
4581 /* 10106 */ GIM_Reject,
4582 /* 10107 */ // Label 329: @10107
4583 /* 10107 */ GIM_Reject,
4584 /* 10108 */ // Label 254: @10108
4585 /* 10108 */ GIM_Try, /*On fail goto*//*Label 332*/ GIMT_Encode4(10325),
4586 /* 10113 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
4587 /* 10116 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
4588 /* 10119 */ GIM_Try, /*On fail goto*//*Label 333*/ GIMT_Encode4(10181), // Rule ID 2588 //
4589 /* 10124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4590 /* 10127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4591 /* 10131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4592 /* 10135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4593 /* 10139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4594 /* 10143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4595 /* 10146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4596 /* 10150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4597 /* 10154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4598 /* 10156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4599 /* 10163 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4600 /* 10163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBrm),
4601 /* 10166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4602 /* 10168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4603 /* 10170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4604 /* 10174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4605 /* 10179 */ GIR_RootConstrainSelectedInstOperands,
4606 /* 10180 */ // GIR_Coverage, 2588,
4607 /* 10180 */ GIR_EraseRootFromParent_Done,
4608 /* 10181 */ // Label 333: @10181
4609 /* 10181 */ GIM_Try, /*On fail goto*//*Label 334*/ GIMT_Encode4(10243), // Rule ID 4813 //
4610 /* 10186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4611 /* 10189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4612 /* 10193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4613 /* 10197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4614 /* 10201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4615 /* 10205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4616 /* 10208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4617 /* 10212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4618 /* 10216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4619 /* 10218 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4620 /* 10225 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4621 /* 10225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rm),
4622 /* 10228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4623 /* 10230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4624 /* 10232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4625 /* 10236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4626 /* 10241 */ GIR_RootConstrainSelectedInstOperands,
4627 /* 10242 */ // GIR_Coverage, 4813,
4628 /* 10242 */ GIR_EraseRootFromParent_Done,
4629 /* 10243 */ // Label 334: @10243
4630 /* 10243 */ GIM_Try, /*On fail goto*//*Label 335*/ GIMT_Encode4(10270), // Rule ID 2587 //
4631 /* 10248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4632 /* 10251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4633 /* 10255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4634 /* 10259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4635 /* 10263 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
4636 /* 10263 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBrr),
4637 /* 10268 */ GIR_RootConstrainSelectedInstOperands,
4638 /* 10269 */ // GIR_Coverage, 2587,
4639 /* 10269 */ GIR_Done,
4640 /* 10270 */ // Label 335: @10270
4641 /* 10270 */ GIM_Try, /*On fail goto*//*Label 336*/ GIMT_Encode4(10297), // Rule ID 2589 //
4642 /* 10275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4643 /* 10278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4644 /* 10282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4645 /* 10286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4646 /* 10290 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
4647 /* 10290 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBBrr),
4648 /* 10295 */ GIR_RootConstrainSelectedInstOperands,
4649 /* 10296 */ // GIR_Coverage, 2589,
4650 /* 10296 */ GIR_Done,
4651 /* 10297 */ // Label 336: @10297
4652 /* 10297 */ GIM_Try, /*On fail goto*//*Label 337*/ GIMT_Encode4(10324), // Rule ID 4810 //
4653 /* 10302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4654 /* 10305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4655 /* 10309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4656 /* 10313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4657 /* 10317 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
4658 /* 10317 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rr),
4659 /* 10322 */ GIR_RootConstrainSelectedInstOperands,
4660 /* 10323 */ // GIR_Coverage, 4810,
4661 /* 10323 */ GIR_Done,
4662 /* 10324 */ // Label 337: @10324
4663 /* 10324 */ GIM_Reject,
4664 /* 10325 */ // Label 332: @10325
4665 /* 10325 */ GIM_Reject,
4666 /* 10326 */ // Label 255: @10326
4667 /* 10326 */ GIM_Try, /*On fail goto*//*Label 338*/ GIMT_Encode4(10516),
4668 /* 10331 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
4669 /* 10334 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
4670 /* 10337 */ GIM_Try, /*On fail goto*//*Label 339*/ GIMT_Encode4(10399), // Rule ID 2598 //
4671 /* 10342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4672 /* 10345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4673 /* 10349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4674 /* 10353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4675 /* 10357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4676 /* 10361 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4677 /* 10364 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4678 /* 10368 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4679 /* 10372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4680 /* 10374 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4681 /* 10381 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4682 /* 10381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrm),
4683 /* 10384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4684 /* 10386 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4685 /* 10388 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4686 /* 10392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4687 /* 10397 */ GIR_RootConstrainSelectedInstOperands,
4688 /* 10398 */ // GIR_Coverage, 2598,
4689 /* 10398 */ GIR_EraseRootFromParent_Done,
4690 /* 10399 */ // Label 339: @10399
4691 /* 10399 */ GIM_Try, /*On fail goto*//*Label 340*/ GIMT_Encode4(10461), // Rule ID 4789 //
4692 /* 10404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4693 /* 10407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4694 /* 10411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4695 /* 10415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4696 /* 10419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4697 /* 10423 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4698 /* 10426 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4699 /* 10430 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4700 /* 10434 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4701 /* 10436 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4702 /* 10443 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4703 /* 10443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rm),
4704 /* 10446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4705 /* 10448 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4706 /* 10450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4707 /* 10454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4708 /* 10459 */ GIR_RootConstrainSelectedInstOperands,
4709 /* 10460 */ // GIR_Coverage, 4789,
4710 /* 10460 */ GIR_EraseRootFromParent_Done,
4711 /* 10461 */ // Label 340: @10461
4712 /* 10461 */ GIM_Try, /*On fail goto*//*Label 341*/ GIMT_Encode4(10488), // Rule ID 2597 //
4713 /* 10466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4714 /* 10469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4715 /* 10473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4716 /* 10477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4717 /* 10481 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
4718 /* 10481 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrr),
4719 /* 10486 */ GIR_RootConstrainSelectedInstOperands,
4720 /* 10487 */ // GIR_Coverage, 2597,
4721 /* 10487 */ GIR_Done,
4722 /* 10488 */ // Label 341: @10488
4723 /* 10488 */ GIM_Try, /*On fail goto*//*Label 342*/ GIMT_Encode4(10515), // Rule ID 4786 //
4724 /* 10493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4725 /* 10496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4726 /* 10500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4727 /* 10504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4728 /* 10508 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
4729 /* 10508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rr),
4730 /* 10513 */ GIR_RootConstrainSelectedInstOperands,
4731 /* 10514 */ // GIR_Coverage, 4786,
4732 /* 10514 */ GIR_Done,
4733 /* 10515 */ // Label 342: @10515
4734 /* 10515 */ GIM_Reject,
4735 /* 10516 */ // Label 338: @10516
4736 /* 10516 */ GIM_Reject,
4737 /* 10517 */ // Label 256: @10517
4738 /* 10517 */ GIM_Try, /*On fail goto*//*Label 343*/ GIMT_Encode4(10610),
4739 /* 10522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
4740 /* 10525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
4741 /* 10528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4742 /* 10532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4743 /* 10536 */ GIM_Try, /*On fail goto*//*Label 344*/ GIMT_Encode4(10590), // Rule ID 4756 //
4744 /* 10541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4745 /* 10544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4746 /* 10548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4747 /* 10552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4748 /* 10555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4749 /* 10559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4750 /* 10563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4751 /* 10565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4752 /* 10572 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4753 /* 10572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrm),
4754 /* 10575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4755 /* 10577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4756 /* 10579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4757 /* 10583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4758 /* 10588 */ GIR_RootConstrainSelectedInstOperands,
4759 /* 10589 */ // GIR_Coverage, 4756,
4760 /* 10589 */ GIR_EraseRootFromParent_Done,
4761 /* 10590 */ // Label 344: @10590
4762 /* 10590 */ GIM_Try, /*On fail goto*//*Label 345*/ GIMT_Encode4(10609), // Rule ID 4753 //
4763 /* 10595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4764 /* 10598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4765 /* 10602 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPSUBDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
4766 /* 10602 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrr),
4767 /* 10607 */ GIR_RootConstrainSelectedInstOperands,
4768 /* 10608 */ // GIR_Coverage, 4753,
4769 /* 10608 */ GIR_Done,
4770 /* 10609 */ // Label 345: @10609
4771 /* 10609 */ GIM_Reject,
4772 /* 10610 */ // Label 343: @10610
4773 /* 10610 */ GIM_Reject,
4774 /* 10611 */ // Label 257: @10611
4775 /* 10611 */ GIM_Try, /*On fail goto*//*Label 346*/ GIMT_Encode4(10801),
4776 /* 10616 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
4777 /* 10619 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
4778 /* 10622 */ GIM_Try, /*On fail goto*//*Label 347*/ GIMT_Encode4(10684), // Rule ID 2592 //
4779 /* 10627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4780 /* 10630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4781 /* 10634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4782 /* 10638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4783 /* 10642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4784 /* 10646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4785 /* 10649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4786 /* 10653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4787 /* 10657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4788 /* 10659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4789 /* 10666 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4790 /* 10666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrm),
4791 /* 10669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4792 /* 10671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4793 /* 10673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4794 /* 10677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4795 /* 10682 */ GIR_RootConstrainSelectedInstOperands,
4796 /* 10683 */ // GIR_Coverage, 2592,
4797 /* 10683 */ GIR_EraseRootFromParent_Done,
4798 /* 10684 */ // Label 347: @10684
4799 /* 10684 */ GIM_Try, /*On fail goto*//*Label 348*/ GIMT_Encode4(10746), // Rule ID 4807 //
4800 /* 10689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4801 /* 10692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4802 /* 10696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4803 /* 10700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4804 /* 10704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4805 /* 10708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4806 /* 10711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4807 /* 10715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4808 /* 10719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4809 /* 10721 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4810 /* 10728 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4811 /* 10728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rm),
4812 /* 10731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4813 /* 10733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4814 /* 10735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4815 /* 10739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4816 /* 10744 */ GIR_RootConstrainSelectedInstOperands,
4817 /* 10745 */ // GIR_Coverage, 4807,
4818 /* 10745 */ GIR_EraseRootFromParent_Done,
4819 /* 10746 */ // Label 348: @10746
4820 /* 10746 */ GIM_Try, /*On fail goto*//*Label 349*/ GIMT_Encode4(10773), // Rule ID 2591 //
4821 /* 10751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4822 /* 10754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4823 /* 10758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4824 /* 10762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4825 /* 10766 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
4826 /* 10766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrr),
4827 /* 10771 */ GIR_RootConstrainSelectedInstOperands,
4828 /* 10772 */ // GIR_Coverage, 2591,
4829 /* 10772 */ GIR_Done,
4830 /* 10773 */ // Label 349: @10773
4831 /* 10773 */ GIM_Try, /*On fail goto*//*Label 350*/ GIMT_Encode4(10800), // Rule ID 4804 //
4832 /* 10778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4833 /* 10781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4834 /* 10785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4835 /* 10789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4836 /* 10793 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
4837 /* 10793 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rr),
4838 /* 10798 */ GIR_RootConstrainSelectedInstOperands,
4839 /* 10799 */ // GIR_Coverage, 4804,
4840 /* 10799 */ GIR_Done,
4841 /* 10800 */ // Label 350: @10800
4842 /* 10800 */ GIM_Reject,
4843 /* 10801 */ // Label 346: @10801
4844 /* 10801 */ GIM_Reject,
4845 /* 10802 */ // Label 258: @10802
4846 /* 10802 */ GIM_Try, /*On fail goto*//*Label 351*/ GIMT_Encode4(10895),
4847 /* 10807 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
4848 /* 10810 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
4849 /* 10813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4850 /* 10817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4851 /* 10821 */ GIM_Try, /*On fail goto*//*Label 352*/ GIMT_Encode4(10875), // Rule ID 4783 //
4852 /* 10826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4853 /* 10829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4854 /* 10833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4855 /* 10837 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4856 /* 10840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4857 /* 10844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4858 /* 10848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4859 /* 10850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4860 /* 10857 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4861 /* 10857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrm),
4862 /* 10860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4863 /* 10862 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4864 /* 10864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4865 /* 10868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4866 /* 10873 */ GIR_RootConstrainSelectedInstOperands,
4867 /* 10874 */ // GIR_Coverage, 4783,
4868 /* 10874 */ GIR_EraseRootFromParent_Done,
4869 /* 10875 */ // Label 352: @10875
4870 /* 10875 */ GIM_Try, /*On fail goto*//*Label 353*/ GIMT_Encode4(10894), // Rule ID 4780 //
4871 /* 10880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4872 /* 10883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4873 /* 10887 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
4874 /* 10887 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrr),
4875 /* 10892 */ GIR_RootConstrainSelectedInstOperands,
4876 /* 10893 */ // GIR_Coverage, 4780,
4877 /* 10893 */ GIR_Done,
4878 /* 10894 */ // Label 353: @10894
4879 /* 10894 */ GIM_Reject,
4880 /* 10895 */ // Label 351: @10895
4881 /* 10895 */ GIM_Reject,
4882 /* 10896 */ // Label 259: @10896
4883 /* 10896 */ GIM_Try, /*On fail goto*//*Label 354*/ GIMT_Encode4(10989),
4884 /* 10901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
4885 /* 10904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
4886 /* 10907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4887 /* 10911 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4888 /* 10915 */ GIM_Try, /*On fail goto*//*Label 355*/ GIMT_Encode4(10969), // Rule ID 4801 //
4889 /* 10920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4890 /* 10923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4891 /* 10927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4892 /* 10931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4893 /* 10934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4894 /* 10938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4895 /* 10942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4896 /* 10944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4897 /* 10951 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4898 /* 10951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrm),
4899 /* 10954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4900 /* 10956 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4901 /* 10958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4902 /* 10962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4903 /* 10967 */ GIR_RootConstrainSelectedInstOperands,
4904 /* 10968 */ // GIR_Coverage, 4801,
4905 /* 10968 */ GIR_EraseRootFromParent_Done,
4906 /* 10969 */ // Label 355: @10969
4907 /* 10969 */ GIM_Try, /*On fail goto*//*Label 356*/ GIMT_Encode4(10988), // Rule ID 4798 //
4908 /* 10974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4909 /* 10977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4910 /* 10981 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
4911 /* 10981 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrr),
4912 /* 10986 */ GIR_RootConstrainSelectedInstOperands,
4913 /* 10987 */ // GIR_Coverage, 4798,
4914 /* 10987 */ GIR_Done,
4915 /* 10988 */ // Label 356: @10988
4916 /* 10988 */ GIM_Reject,
4917 /* 10989 */ // Label 354: @10989
4918 /* 10989 */ GIM_Reject,
4919 /* 10990 */ // Label 260: @10990
4920 /* 10990 */ GIM_Reject,
4921 /* 10991 */ // Label 2: @10991
4922 /* 10991 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 369*/ GIMT_Encode4(14773),
4923 /* 11002 */ /*GILLT_s16*//*Label 357*/ GIMT_Encode4(11086),
4924 /* 11006 */ /*GILLT_s32*//*Label 358*/ GIMT_Encode4(11503),
4925 /* 11010 */ /*GILLT_s64*//*Label 359*/ GIMT_Encode4(11920), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
4926 /* 11026 */ /*GILLT_v2s64*//*Label 360*/ GIMT_Encode4(12345), GIMT_Encode4(0),
4927 /* 11034 */ /*GILLT_v4s32*//*Label 361*/ GIMT_Encode4(12674),
4928 /* 11038 */ /*GILLT_v4s64*//*Label 362*/ GIMT_Encode4(13016), GIMT_Encode4(0),
4929 /* 11046 */ /*GILLT_v8s16*//*Label 363*/ GIMT_Encode4(13333),
4930 /* 11050 */ /*GILLT_v8s32*//*Label 364*/ GIMT_Encode4(13675),
4931 /* 11054 */ /*GILLT_v8s64*//*Label 365*/ GIMT_Encode4(13990), GIMT_Encode4(0), GIMT_Encode4(0),
4932 /* 11066 */ /*GILLT_v16s16*//*Label 366*/ GIMT_Encode4(14146),
4933 /* 11070 */ /*GILLT_v16s32*//*Label 367*/ GIMT_Encode4(14461), GIMT_Encode4(0), GIMT_Encode4(0),
4934 /* 11082 */ /*GILLT_v32s16*//*Label 368*/ GIMT_Encode4(14617),
4935 /* 11086 */ // Label 357: @11086
4936 /* 11086 */ GIM_Try, /*On fail goto*//*Label 370*/ GIMT_Encode4(11502),
4937 /* 11091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
4938 /* 11094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
4939 /* 11097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4940 /* 11101 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(11165), // Rule ID 23012 //
4941 /* 11106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4942 /* 11110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4943 /* 11114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4944 /* 11117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4945 /* 11121 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4946 /* 11125 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4947 /* 11129 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4948 /* 11133 */ // MIs[2] Operand 1
4949 /* 11133 */ // No operand predicates
4950 /* 11133 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4951 /* 11135 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4952 /* 11142 */ // (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i16] }):$src2) => (IMUL16rmi:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2)
4953 /* 11142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rmi),
4954 /* 11145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4955 /* 11147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4956 /* 11151 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4957 /* 11154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4958 /* 11157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4959 /* 11163 */ GIR_RootConstrainSelectedInstOperands,
4960 /* 11164 */ // GIR_Coverage, 23012,
4961 /* 11164 */ GIR_EraseRootFromParent_Done,
4962 /* 11165 */ // Label 371: @11165
4963 /* 11165 */ GIM_Try, /*On fail goto*//*Label 372*/ GIMT_Encode4(11226), // Rule ID 26091 //
4964 /* 11170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4965 /* 11173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4966 /* 11177 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4967 /* 11181 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4968 /* 11184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4969 /* 11188 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4970 /* 11192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4971 /* 11196 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4972 /* 11198 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4973 /* 11205 */ // (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (IMUL16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4974 /* 11205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4975 /* 11208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4976 /* 11210 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4977 /* 11212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4978 /* 11216 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4979 /* 11219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4980 /* 11224 */ GIR_RootConstrainSelectedInstOperands,
4981 /* 11225 */ // GIR_Coverage, 26091,
4982 /* 11225 */ GIR_EraseRootFromParent_Done,
4983 /* 11226 */ // Label 372: @11226
4984 /* 11226 */ GIM_Try, /*On fail goto*//*Label 373*/ GIMT_Encode4(11287), // Rule ID 26110 //
4985 /* 11231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4986 /* 11234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4987 /* 11238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4988 /* 11242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4989 /* 11245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4990 /* 11249 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4991 /* 11253 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4992 /* 11257 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4993 /* 11259 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4994 /* 11266 */ // (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (IMUL16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4995 /* 11266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm_ND),
4996 /* 11269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4997 /* 11271 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4998 /* 11273 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4999 /* 11277 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5000 /* 11280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5001 /* 11285 */ GIR_RootConstrainSelectedInstOperands,
5002 /* 11286 */ // GIR_Coverage, 26110,
5003 /* 11286 */ GIR_EraseRootFromParent_Done,
5004 /* 11287 */ // Label 373: @11287
5005 /* 11287 */ GIM_Try, /*On fail goto*//*Label 374*/ GIMT_Encode4(11348), // Rule ID 22856 //
5006 /* 11292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5007 /* 11295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5008 /* 11299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5009 /* 11303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5010 /* 11307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5011 /* 11310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5012 /* 11314 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5013 /* 11318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5014 /* 11320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5015 /* 11327 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (IMUL16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5016 /* 11327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
5017 /* 11330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5018 /* 11332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5019 /* 11334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5020 /* 11338 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5021 /* 11341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5022 /* 11346 */ GIR_RootConstrainSelectedInstOperands,
5023 /* 11347 */ // GIR_Coverage, 22856,
5024 /* 11347 */ GIR_EraseRootFromParent_Done,
5025 /* 11348 */ // Label 374: @11348
5026 /* 11348 */ GIM_Try, /*On fail goto*//*Label 375*/ GIMT_Encode4(11409), // Rule ID 22946 //
5027 /* 11353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5028 /* 11356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5029 /* 11360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5030 /* 11364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5031 /* 11368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5032 /* 11371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5033 /* 11375 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
5034 /* 11379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5035 /* 11381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5036 /* 11388 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (IMUL16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5037 /* 11388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm_ND),
5038 /* 11391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5039 /* 11393 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5040 /* 11395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5041 /* 11399 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5042 /* 11402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5043 /* 11407 */ GIR_RootConstrainSelectedInstOperands,
5044 /* 11408 */ // GIR_Coverage, 22946,
5045 /* 11408 */ GIR_EraseRootFromParent_Done,
5046 /* 11409 */ // Label 375: @11409
5047 /* 11409 */ GIM_Try, /*On fail goto*//*Label 376*/ GIMT_Encode4(11443), // Rule ID 23009 //
5048 /* 11414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5049 /* 11418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5050 /* 11422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5051 /* 11426 */ // MIs[1] Operand 1
5052 /* 11426 */ // No operand predicates
5053 /* 11426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5054 /* 11428 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (IMUL16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
5055 /* 11428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rri),
5056 /* 11431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5057 /* 11433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5058 /* 11435 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5059 /* 11438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5060 /* 11441 */ GIR_RootConstrainSelectedInstOperands,
5061 /* 11442 */ // GIR_Coverage, 23009,
5062 /* 11442 */ GIR_EraseRootFromParent_Done,
5063 /* 11443 */ // Label 376: @11443
5064 /* 11443 */ GIM_Try, /*On fail goto*//*Label 377*/ GIMT_Encode4(11472), // Rule ID 22853 //
5065 /* 11448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5066 /* 11451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5067 /* 11455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5068 /* 11459 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
5069 /* 11459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr),
5070 /* 11464 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5071 /* 11470 */ GIR_RootConstrainSelectedInstOperands,
5072 /* 11471 */ // GIR_Coverage, 22853,
5073 /* 11471 */ GIR_Done,
5074 /* 11472 */ // Label 377: @11472
5075 /* 11472 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(11501), // Rule ID 22943 //
5076 /* 11477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5077 /* 11480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5078 /* 11484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
5079 /* 11488 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
5080 /* 11488 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr_ND),
5081 /* 11493 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5082 /* 11499 */ GIR_RootConstrainSelectedInstOperands,
5083 /* 11500 */ // GIR_Coverage, 22943,
5084 /* 11500 */ GIR_Done,
5085 /* 11501 */ // Label 378: @11501
5086 /* 11501 */ GIM_Reject,
5087 /* 11502 */ // Label 370: @11502
5088 /* 11502 */ GIM_Reject,
5089 /* 11503 */ // Label 358: @11503
5090 /* 11503 */ GIM_Try, /*On fail goto*//*Label 379*/ GIMT_Encode4(11919),
5091 /* 11508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
5092 /* 11511 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
5093 /* 11514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5094 /* 11518 */ GIM_Try, /*On fail goto*//*Label 380*/ GIMT_Encode4(11582), // Rule ID 23013 //
5095 /* 11523 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5096 /* 11527 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5097 /* 11531 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5098 /* 11534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5099 /* 11538 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5100 /* 11542 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
5101 /* 11546 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5102 /* 11550 */ // MIs[2] Operand 1
5103 /* 11550 */ // No operand predicates
5104 /* 11550 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5105 /* 11552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5106 /* 11559 */ // (mul:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i32] }):$src2) => (IMUL32rmi:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i32] }):$src2)
5107 /* 11559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rmi),
5108 /* 11562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5109 /* 11564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
5110 /* 11568 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
5111 /* 11571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5112 /* 11574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
5113 /* 11580 */ GIR_RootConstrainSelectedInstOperands,
5114 /* 11581 */ // GIR_Coverage, 23013,
5115 /* 11581 */ GIR_EraseRootFromParent_Done,
5116 /* 11582 */ // Label 380: @11582
5117 /* 11582 */ GIM_Try, /*On fail goto*//*Label 381*/ GIMT_Encode4(11643), // Rule ID 26092 //
5118 /* 11587 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5119 /* 11590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5120 /* 11594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5121 /* 11598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5122 /* 11601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5123 /* 11605 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5124 /* 11609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5125 /* 11613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5126 /* 11615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5127 /* 11622 */ // (mul:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (IMUL32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5128 /* 11622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
5129 /* 11625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5130 /* 11627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5131 /* 11629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5132 /* 11633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5133 /* 11636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5134 /* 11641 */ GIR_RootConstrainSelectedInstOperands,
5135 /* 11642 */ // GIR_Coverage, 26092,
5136 /* 11642 */ GIR_EraseRootFromParent_Done,
5137 /* 11643 */ // Label 381: @11643
5138 /* 11643 */ GIM_Try, /*On fail goto*//*Label 382*/ GIMT_Encode4(11704), // Rule ID 26111 //
5139 /* 11648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5140 /* 11651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5141 /* 11655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5142 /* 11659 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5143 /* 11662 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5144 /* 11666 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5145 /* 11670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5146 /* 11674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5147 /* 11676 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5148 /* 11683 */ // (mul:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (IMUL32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5149 /* 11683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm_ND),
5150 /* 11686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5151 /* 11688 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5152 /* 11690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5153 /* 11694 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5154 /* 11697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5155 /* 11702 */ GIR_RootConstrainSelectedInstOperands,
5156 /* 11703 */ // GIR_Coverage, 26111,
5157 /* 11703 */ GIR_EraseRootFromParent_Done,
5158 /* 11704 */ // Label 382: @11704
5159 /* 11704 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(11765), // Rule ID 22857 //
5160 /* 11709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5161 /* 11712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5162 /* 11716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5163 /* 11720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5164 /* 11724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5165 /* 11727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5166 /* 11731 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5167 /* 11735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5168 /* 11737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5169 /* 11744 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (IMUL32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5170 /* 11744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
5171 /* 11747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5172 /* 11749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5173 /* 11751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5174 /* 11755 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5175 /* 11758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5176 /* 11763 */ GIR_RootConstrainSelectedInstOperands,
5177 /* 11764 */ // GIR_Coverage, 22857,
5178 /* 11764 */ GIR_EraseRootFromParent_Done,
5179 /* 11765 */ // Label 383: @11765
5180 /* 11765 */ GIM_Try, /*On fail goto*//*Label 384*/ GIMT_Encode4(11826), // Rule ID 22947 //
5181 /* 11770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5182 /* 11773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5183 /* 11777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5184 /* 11781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5185 /* 11785 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5186 /* 11788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5187 /* 11792 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
5188 /* 11796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5189 /* 11798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5190 /* 11805 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (IMUL32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5191 /* 11805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm_ND),
5192 /* 11808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5193 /* 11810 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5194 /* 11812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5195 /* 11816 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5196 /* 11819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5197 /* 11824 */ GIR_RootConstrainSelectedInstOperands,
5198 /* 11825 */ // GIR_Coverage, 22947,
5199 /* 11825 */ GIR_EraseRootFromParent_Done,
5200 /* 11826 */ // Label 384: @11826
5201 /* 11826 */ GIM_Try, /*On fail goto*//*Label 385*/ GIMT_Encode4(11860), // Rule ID 23010 //
5202 /* 11831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5203 /* 11835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5204 /* 11839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5205 /* 11843 */ // MIs[1] Operand 1
5206 /* 11843 */ // No operand predicates
5207 /* 11843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5208 /* 11845 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (IMUL32rri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
5209 /* 11845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rri),
5210 /* 11848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5211 /* 11850 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5212 /* 11852 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5213 /* 11855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5214 /* 11858 */ GIR_RootConstrainSelectedInstOperands,
5215 /* 11859 */ // GIR_Coverage, 23010,
5216 /* 11859 */ GIR_EraseRootFromParent_Done,
5217 /* 11860 */ // Label 385: @11860
5218 /* 11860 */ GIM_Try, /*On fail goto*//*Label 386*/ GIMT_Encode4(11889), // Rule ID 22854 //
5219 /* 11865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5220 /* 11868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5221 /* 11872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5222 /* 11876 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
5223 /* 11876 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr),
5224 /* 11881 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5225 /* 11887 */ GIR_RootConstrainSelectedInstOperands,
5226 /* 11888 */ // GIR_Coverage, 22854,
5227 /* 11888 */ GIR_Done,
5228 /* 11889 */ // Label 386: @11889
5229 /* 11889 */ GIM_Try, /*On fail goto*//*Label 387*/ GIMT_Encode4(11918), // Rule ID 22944 //
5230 /* 11894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5231 /* 11897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5232 /* 11901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
5233 /* 11905 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
5234 /* 11905 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr_ND),
5235 /* 11910 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5236 /* 11916 */ GIR_RootConstrainSelectedInstOperands,
5237 /* 11917 */ // GIR_Coverage, 22944,
5238 /* 11917 */ GIR_Done,
5239 /* 11918 */ // Label 387: @11918
5240 /* 11918 */ GIM_Reject,
5241 /* 11919 */ // Label 379: @11919
5242 /* 11919 */ GIM_Reject,
5243 /* 11920 */ // Label 359: @11920
5244 /* 11920 */ GIM_Try, /*On fail goto*//*Label 388*/ GIMT_Encode4(12344),
5245 /* 11925 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
5246 /* 11928 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
5247 /* 11931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5248 /* 11935 */ GIM_Try, /*On fail goto*//*Label 389*/ GIMT_Encode4(12003), // Rule ID 23014 //
5249 /* 11940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5250 /* 11944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5251 /* 11948 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5252 /* 11951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5253 /* 11955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5254 /* 11959 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
5255 /* 11963 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5256 /* 11967 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
5257 /* 11971 */ // MIs[2] Operand 1
5258 /* 11971 */ // No operand predicates
5259 /* 11971 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5260 /* 11973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5261 /* 11980 */ // (mul:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (IMUL64rmi32:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
5262 /* 11980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rmi32),
5263 /* 11983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5264 /* 11985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
5265 /* 11989 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
5266 /* 11992 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5267 /* 11995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
5268 /* 12001 */ GIR_RootConstrainSelectedInstOperands,
5269 /* 12002 */ // GIR_Coverage, 23014,
5270 /* 12002 */ GIR_EraseRootFromParent_Done,
5271 /* 12003 */ // Label 389: @12003
5272 /* 12003 */ GIM_Try, /*On fail goto*//*Label 390*/ GIMT_Encode4(12064), // Rule ID 26093 //
5273 /* 12008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5274 /* 12011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5275 /* 12015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5276 /* 12019 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5277 /* 12022 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5278 /* 12026 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5279 /* 12030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5280 /* 12034 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5281 /* 12036 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5282 /* 12043 */ // (mul:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (IMUL64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5283 /* 12043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
5284 /* 12046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5285 /* 12048 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5286 /* 12050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5287 /* 12054 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5288 /* 12057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5289 /* 12062 */ GIR_RootConstrainSelectedInstOperands,
5290 /* 12063 */ // GIR_Coverage, 26093,
5291 /* 12063 */ GIR_EraseRootFromParent_Done,
5292 /* 12064 */ // Label 390: @12064
5293 /* 12064 */ GIM_Try, /*On fail goto*//*Label 391*/ GIMT_Encode4(12125), // Rule ID 26112 //
5294 /* 12069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5295 /* 12072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5296 /* 12076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5297 /* 12080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5298 /* 12083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5299 /* 12087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5300 /* 12091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5301 /* 12095 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5302 /* 12097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5303 /* 12104 */ // (mul:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (IMUL64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5304 /* 12104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm_ND),
5305 /* 12107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5306 /* 12109 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5307 /* 12111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5308 /* 12115 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5309 /* 12118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5310 /* 12123 */ GIR_RootConstrainSelectedInstOperands,
5311 /* 12124 */ // GIR_Coverage, 26112,
5312 /* 12124 */ GIR_EraseRootFromParent_Done,
5313 /* 12125 */ // Label 391: @12125
5314 /* 12125 */ GIM_Try, /*On fail goto*//*Label 392*/ GIMT_Encode4(12186), // Rule ID 22858 //
5315 /* 12130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5316 /* 12133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5317 /* 12137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5318 /* 12141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5319 /* 12145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5320 /* 12148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5321 /* 12152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5322 /* 12156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5323 /* 12158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5324 /* 12165 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (IMUL64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5325 /* 12165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
5326 /* 12168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5327 /* 12170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5328 /* 12172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5329 /* 12176 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5330 /* 12179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5331 /* 12184 */ GIR_RootConstrainSelectedInstOperands,
5332 /* 12185 */ // GIR_Coverage, 22858,
5333 /* 12185 */ GIR_EraseRootFromParent_Done,
5334 /* 12186 */ // Label 392: @12186
5335 /* 12186 */ GIM_Try, /*On fail goto*//*Label 393*/ GIMT_Encode4(12247), // Rule ID 22948 //
5336 /* 12191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5337 /* 12194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5338 /* 12198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5339 /* 12202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5340 /* 12206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5341 /* 12209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5342 /* 12213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5343 /* 12217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5344 /* 12219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5345 /* 12226 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (IMUL64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5346 /* 12226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm_ND),
5347 /* 12229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5348 /* 12231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5349 /* 12233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5350 /* 12237 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5351 /* 12240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5352 /* 12245 */ GIR_RootConstrainSelectedInstOperands,
5353 /* 12246 */ // GIR_Coverage, 22948,
5354 /* 12246 */ GIR_EraseRootFromParent_Done,
5355 /* 12247 */ // Label 393: @12247
5356 /* 12247 */ GIM_Try, /*On fail goto*//*Label 394*/ GIMT_Encode4(12285), // Rule ID 23011 //
5357 /* 12252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5358 /* 12256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5359 /* 12260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
5360 /* 12264 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
5361 /* 12268 */ // MIs[1] Operand 1
5362 /* 12268 */ // No operand predicates
5363 /* 12268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5364 /* 12270 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (IMUL64rri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
5365 /* 12270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rri32),
5366 /* 12273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5367 /* 12275 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5368 /* 12277 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
5369 /* 12280 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5370 /* 12283 */ GIR_RootConstrainSelectedInstOperands,
5371 /* 12284 */ // GIR_Coverage, 23011,
5372 /* 12284 */ GIR_EraseRootFromParent_Done,
5373 /* 12285 */ // Label 394: @12285
5374 /* 12285 */ GIM_Try, /*On fail goto*//*Label 395*/ GIMT_Encode4(12314), // Rule ID 22855 //
5375 /* 12290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5376 /* 12293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5377 /* 12297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5378 /* 12301 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
5379 /* 12301 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr),
5380 /* 12306 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5381 /* 12312 */ GIR_RootConstrainSelectedInstOperands,
5382 /* 12313 */ // GIR_Coverage, 22855,
5383 /* 12313 */ GIR_Done,
5384 /* 12314 */ // Label 395: @12314
5385 /* 12314 */ GIM_Try, /*On fail goto*//*Label 396*/ GIMT_Encode4(12343), // Rule ID 22945 //
5386 /* 12319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
5387 /* 12322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5388 /* 12326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
5389 /* 12330 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
5390 /* 12330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr_ND),
5391 /* 12335 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
5392 /* 12341 */ GIR_RootConstrainSelectedInstOperands,
5393 /* 12342 */ // GIR_Coverage, 22945,
5394 /* 12342 */ GIR_Done,
5395 /* 12343 */ // Label 396: @12343
5396 /* 12343 */ GIM_Reject,
5397 /* 12344 */ // Label 388: @12344
5398 /* 12344 */ GIM_Reject,
5399 /* 12345 */ // Label 360: @12345
5400 /* 12345 */ GIM_Try, /*On fail goto*//*Label 397*/ GIMT_Encode4(12673),
5401 /* 12350 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
5402 /* 12353 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
5403 /* 12356 */ GIM_Try, /*On fail goto*//*Label 398*/ GIMT_Encode4(12418), // Rule ID 23858 //
5404 /* 12361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5405 /* 12364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5406 /* 12368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5407 /* 12372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5408 /* 12376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5409 /* 12379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5410 /* 12383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5411 /* 12387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5412 /* 12391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5413 /* 12393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5414 /* 12400 */ // (mul:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5415 /* 12400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5416 /* 12403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5417 /* 12405 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5418 /* 12407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5419 /* 12411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5420 /* 12416 */ GIR_RootConstrainSelectedInstOperands,
5421 /* 12417 */ // GIR_Coverage, 23858,
5422 /* 12417 */ GIR_EraseRootFromParent_Done,
5423 /* 12418 */ // Label 398: @12418
5424 /* 12418 */ GIM_Try, /*On fail goto*//*Label 399*/ GIMT_Encode4(12480), // Rule ID 5026 //
5425 /* 12423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5426 /* 12426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5427 /* 12430 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5428 /* 12434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5429 /* 12438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5430 /* 12442 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5431 /* 12445 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5432 /* 12449 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5433 /* 12453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5434 /* 12455 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5435 /* 12462 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5436 /* 12462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5437 /* 12465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5438 /* 12467 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5439 /* 12469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5440 /* 12473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5441 /* 12478 */ GIR_RootConstrainSelectedInstOperands,
5442 /* 12479 */ // GIR_Coverage, 5026,
5443 /* 12479 */ GIR_EraseRootFromParent_Done,
5444 /* 12480 */ // Label 399: @12480
5445 /* 12480 */ GIM_Try, /*On fail goto*//*Label 400*/ GIMT_Encode4(12507), // Rule ID 5023 //
5446 /* 12485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5447 /* 12488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5448 /* 12492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5449 /* 12496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5450 /* 12500 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMULLQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
5451 /* 12500 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rr),
5452 /* 12505 */ GIR_RootConstrainSelectedInstOperands,
5453 /* 12506 */ // GIR_Coverage, 5023,
5454 /* 12506 */ GIR_Done,
5455 /* 12507 */ // Label 400: @12507
5456 /* 12507 */ GIM_Try, /*On fail goto*//*Label 401*/ GIMT_Encode4(12672), // Rule ID 20006 //
5457 /* 12512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
5458 /* 12515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
5459 /* 12519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5460 /* 12523 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5461 /* 12527 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPMULLQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
5462 /* 12527 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5463 /* 12530 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5464 /* 12534 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5465 /* 12539 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5466 /* 12541 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5467 /* 12544 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5468 /* 12548 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5469 /* 12553 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5470 /* 12556 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5471 /* 12560 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
5472 /* 12563 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5473 /* 12568 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5474 /* 12573 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5475 /* 12578 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5476 /* 12581 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5477 /* 12585 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5478 /* 12590 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5479 /* 12592 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5480 /* 12595 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5481 /* 12599 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5482 /* 12604 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5483 /* 12607 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5484 /* 12611 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
5485 /* 12614 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5486 /* 12619 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5487 /* 12624 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5488 /* 12629 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5489 /* 12632 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5490 /* 12636 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5491 /* 12641 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5492 /* 12644 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5493 /* 12647 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5494 /* 12649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5495 /* 12652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5496 /* 12654 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
5497 /* 12661 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
5498 /* 12666 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5499 /* 12671 */ // GIR_Coverage, 20006,
5500 /* 12671 */ GIR_EraseRootFromParent_Done,
5501 /* 12672 */ // Label 401: @12672
5502 /* 12672 */ GIM_Reject,
5503 /* 12673 */ // Label 397: @12673
5504 /* 12673 */ GIM_Reject,
5505 /* 12674 */ // Label 361: @12674
5506 /* 12674 */ GIM_Try, /*On fail goto*//*Label 402*/ GIMT_Encode4(13015),
5507 /* 12679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
5508 /* 12682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
5509 /* 12685 */ GIM_Try, /*On fail goto*//*Label 403*/ GIMT_Encode4(12747), // Rule ID 23561 //
5510 /* 12690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5511 /* 12693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5512 /* 12697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5513 /* 12701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5514 /* 12705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5515 /* 12708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5516 /* 12712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5517 /* 12716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5518 /* 12720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5519 /* 12722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5520 /* 12729 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5521 /* 12729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5522 /* 12732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5523 /* 12734 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5524 /* 12736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5525 /* 12740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5526 /* 12745 */ GIR_RootConstrainSelectedInstOperands,
5527 /* 12746 */ // GIR_Coverage, 23561,
5528 /* 12746 */ GIR_EraseRootFromParent_Done,
5529 /* 12747 */ // Label 403: @12747
5530 /* 12747 */ GIM_Try, /*On fail goto*//*Label 404*/ GIMT_Encode4(12809), // Rule ID 23831 //
5531 /* 12752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5532 /* 12755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5533 /* 12759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5534 /* 12763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5535 /* 12767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5536 /* 12770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5537 /* 12774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5538 /* 12778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5539 /* 12782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5540 /* 12784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5541 /* 12791 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5542 /* 12791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5543 /* 12794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5544 /* 12796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5545 /* 12798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5546 /* 12802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5547 /* 12807 */ GIR_RootConstrainSelectedInstOperands,
5548 /* 12808 */ // GIR_Coverage, 23831,
5549 /* 12808 */ GIR_EraseRootFromParent_Done,
5550 /* 12809 */ // Label 404: @12809
5551 /* 12809 */ GIM_Try, /*On fail goto*//*Label 405*/ GIMT_Encode4(12871), // Rule ID 3239 //
5552 /* 12814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5553 /* 12817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5554 /* 12821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5555 /* 12825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5556 /* 12829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5557 /* 12833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5558 /* 12836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5559 /* 12840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5560 /* 12844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5561 /* 12846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5562 /* 12853 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5563 /* 12853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5564 /* 12856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5565 /* 12858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5566 /* 12860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5567 /* 12864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5568 /* 12869 */ GIR_RootConstrainSelectedInstOperands,
5569 /* 12870 */ // GIR_Coverage, 3239,
5570 /* 12870 */ GIR_EraseRootFromParent_Done,
5571 /* 12871 */ // Label 405: @12871
5572 /* 12871 */ GIM_Try, /*On fail goto*//*Label 406*/ GIMT_Encode4(12933), // Rule ID 4981 //
5573 /* 12876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5574 /* 12879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5575 /* 12883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5576 /* 12887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5577 /* 12891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5578 /* 12895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5579 /* 12898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5580 /* 12902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5581 /* 12906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5582 /* 12908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5583 /* 12915 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5584 /* 12915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5585 /* 12918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5586 /* 12920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5587 /* 12922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5588 /* 12926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5589 /* 12931 */ GIR_RootConstrainSelectedInstOperands,
5590 /* 12932 */ // GIR_Coverage, 4981,
5591 /* 12932 */ GIR_EraseRootFromParent_Done,
5592 /* 12933 */ // Label 406: @12933
5593 /* 12933 */ GIM_Try, /*On fail goto*//*Label 407*/ GIMT_Encode4(12960), // Rule ID 3238 //
5594 /* 12938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5595 /* 12941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5596 /* 12945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5597 /* 12949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5598 /* 12953 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5599 /* 12953 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDrr),
5600 /* 12958 */ GIR_RootConstrainSelectedInstOperands,
5601 /* 12959 */ // GIR_Coverage, 3238,
5602 /* 12959 */ GIR_Done,
5603 /* 12960 */ // Label 407: @12960
5604 /* 12960 */ GIM_Try, /*On fail goto*//*Label 408*/ GIMT_Encode4(12987), // Rule ID 3246 //
5605 /* 12965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
5606 /* 12968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5607 /* 12972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5608 /* 12976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5609 /* 12980 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5610 /* 12980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLDrr),
5611 /* 12985 */ GIR_RootConstrainSelectedInstOperands,
5612 /* 12986 */ // GIR_Coverage, 3246,
5613 /* 12986 */ GIR_Done,
5614 /* 12987 */ // Label 408: @12987
5615 /* 12987 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(13014), // Rule ID 4978 //
5616 /* 12992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5617 /* 12995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5618 /* 12999 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5619 /* 13003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5620 /* 13007 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMULLDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
5621 /* 13007 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rr),
5622 /* 13012 */ GIR_RootConstrainSelectedInstOperands,
5623 /* 13013 */ // GIR_Coverage, 4978,
5624 /* 13013 */ GIR_Done,
5625 /* 13014 */ // Label 409: @13014
5626 /* 13014 */ GIM_Reject,
5627 /* 13015 */ // Label 402: @13015
5628 /* 13015 */ GIM_Reject,
5629 /* 13016 */ // Label 362: @13016
5630 /* 13016 */ GIM_Try, /*On fail goto*//*Label 410*/ GIMT_Encode4(13332),
5631 /* 13021 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
5632 /* 13024 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
5633 /* 13027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5634 /* 13031 */ GIM_Try, /*On fail goto*//*Label 411*/ GIMT_Encode4(13089), // Rule ID 23852 //
5635 /* 13036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5636 /* 13039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5637 /* 13043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5638 /* 13047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5639 /* 13050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5640 /* 13054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5641 /* 13058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5642 /* 13062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5643 /* 13064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5644 /* 13071 */ // (mul:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5645 /* 13071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5646 /* 13074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5647 /* 13076 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5648 /* 13078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5649 /* 13082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5650 /* 13087 */ GIR_RootConstrainSelectedInstOperands,
5651 /* 13088 */ // GIR_Coverage, 23852,
5652 /* 13088 */ GIR_EraseRootFromParent_Done,
5653 /* 13089 */ // Label 411: @13089
5654 /* 13089 */ GIM_Try, /*On fail goto*//*Label 412*/ GIMT_Encode4(13147), // Rule ID 5017 //
5655 /* 13094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5656 /* 13097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5657 /* 13101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5658 /* 13105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5659 /* 13109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5660 /* 13112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5661 /* 13116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5662 /* 13120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5663 /* 13122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5664 /* 13129 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5665 /* 13129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5666 /* 13132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5667 /* 13134 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5668 /* 13136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5669 /* 13140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5670 /* 13145 */ GIR_RootConstrainSelectedInstOperands,
5671 /* 13146 */ // GIR_Coverage, 5017,
5672 /* 13146 */ GIR_EraseRootFromParent_Done,
5673 /* 13147 */ // Label 412: @13147
5674 /* 13147 */ GIM_Try, /*On fail goto*//*Label 413*/ GIMT_Encode4(13170), // Rule ID 5014 //
5675 /* 13152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5676 /* 13155 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5677 /* 13159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5678 /* 13163 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMULLQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
5679 /* 13163 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rr),
5680 /* 13168 */ GIR_RootConstrainSelectedInstOperands,
5681 /* 13169 */ // GIR_Coverage, 5014,
5682 /* 13169 */ GIR_Done,
5683 /* 13170 */ // Label 413: @13170
5684 /* 13170 */ GIM_Try, /*On fail goto*//*Label 414*/ GIMT_Encode4(13331), // Rule ID 20004 //
5685 /* 13175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
5686 /* 13178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5687 /* 13182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5688 /* 13186 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPMULLQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
5689 /* 13186 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5690 /* 13189 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5691 /* 13193 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5692 /* 13198 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5693 /* 13200 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5694 /* 13203 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5695 /* 13207 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5696 /* 13212 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5697 /* 13215 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5698 /* 13219 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
5699 /* 13222 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5700 /* 13227 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5701 /* 13232 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5702 /* 13237 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5703 /* 13240 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5704 /* 13244 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5705 /* 13249 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5706 /* 13251 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5707 /* 13254 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5708 /* 13258 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5709 /* 13263 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5710 /* 13266 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5711 /* 13270 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
5712 /* 13273 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5713 /* 13278 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5714 /* 13283 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5715 /* 13288 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5716 /* 13291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5717 /* 13295 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5718 /* 13300 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5719 /* 13303 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5720 /* 13306 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5721 /* 13308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5722 /* 13311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5723 /* 13313 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
5724 /* 13320 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
5725 /* 13325 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5726 /* 13330 */ // GIR_Coverage, 20004,
5727 /* 13330 */ GIR_EraseRootFromParent_Done,
5728 /* 13331 */ // Label 414: @13331
5729 /* 13331 */ GIM_Reject,
5730 /* 13332 */ // Label 410: @13332
5731 /* 13332 */ GIM_Reject,
5732 /* 13333 */ // Label 363: @13333
5733 /* 13333 */ GIM_Try, /*On fail goto*//*Label 415*/ GIMT_Encode4(13674),
5734 /* 13338 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
5735 /* 13341 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
5736 /* 13344 */ GIM_Try, /*On fail goto*//*Label 416*/ GIMT_Encode4(13406), // Rule ID 23486 //
5737 /* 13349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5738 /* 13352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5739 /* 13356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5740 /* 13360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5741 /* 13364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5742 /* 13367 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5743 /* 13371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5744 /* 13375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5745 /* 13379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5746 /* 13381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5747 /* 13388 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5748 /* 13388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
5749 /* 13391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5750 /* 13393 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5751 /* 13395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5752 /* 13399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5753 /* 13404 */ GIR_RootConstrainSelectedInstOperands,
5754 /* 13405 */ // GIR_Coverage, 23486,
5755 /* 13405 */ GIR_EraseRootFromParent_Done,
5756 /* 13406 */ // Label 416: @13406
5757 /* 13406 */ GIM_Try, /*On fail goto*//*Label 417*/ GIMT_Encode4(13468), // Rule ID 23843 //
5758 /* 13411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5759 /* 13414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5760 /* 13418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5761 /* 13422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5762 /* 13426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5763 /* 13429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5764 /* 13433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5765 /* 13437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5766 /* 13441 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5767 /* 13443 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5768 /* 13450 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5769 /* 13450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5770 /* 13453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5771 /* 13455 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5772 /* 13457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5773 /* 13461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5774 /* 13466 */ GIR_RootConstrainSelectedInstOperands,
5775 /* 13467 */ // GIR_Coverage, 23843,
5776 /* 13467 */ GIR_EraseRootFromParent_Done,
5777 /* 13468 */ // Label 417: @13468
5778 /* 13468 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(13530), // Rule ID 2570 //
5779 /* 13473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5780 /* 13476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5781 /* 13480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5782 /* 13484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5783 /* 13488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5784 /* 13492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5785 /* 13495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5786 /* 13499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5787 /* 13503 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5788 /* 13505 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5789 /* 13512 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5790 /* 13512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
5791 /* 13515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5792 /* 13517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5793 /* 13519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5794 /* 13523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5795 /* 13528 */ GIR_RootConstrainSelectedInstOperands,
5796 /* 13529 */ // GIR_Coverage, 2570,
5797 /* 13529 */ GIR_EraseRootFromParent_Done,
5798 /* 13530 */ // Label 418: @13530
5799 /* 13530 */ GIM_Try, /*On fail goto*//*Label 419*/ GIMT_Encode4(13592), // Rule ID 5002 //
5800 /* 13535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5801 /* 13538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5802 /* 13542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5803 /* 13546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5804 /* 13550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5805 /* 13554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5806 /* 13557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5807 /* 13561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5808 /* 13565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5809 /* 13567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5810 /* 13574 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5811 /* 13574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5812 /* 13577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5813 /* 13579 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5814 /* 13581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5815 /* 13585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5816 /* 13590 */ GIR_RootConstrainSelectedInstOperands,
5817 /* 13591 */ // GIR_Coverage, 5002,
5818 /* 13591 */ GIR_EraseRootFromParent_Done,
5819 /* 13592 */ // Label 419: @13592
5820 /* 13592 */ GIM_Try, /*On fail goto*//*Label 420*/ GIMT_Encode4(13619), // Rule ID 2569 //
5821 /* 13597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5822 /* 13600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5823 /* 13604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5824 /* 13608 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5825 /* 13612 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5826 /* 13612 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWrr),
5827 /* 13617 */ GIR_RootConstrainSelectedInstOperands,
5828 /* 13618 */ // GIR_Coverage, 2569,
5829 /* 13618 */ GIR_Done,
5830 /* 13619 */ // Label 420: @13619
5831 /* 13619 */ GIM_Try, /*On fail goto*//*Label 421*/ GIMT_Encode4(13646), // Rule ID 2571 //
5832 /* 13624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
5833 /* 13627 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5834 /* 13631 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5835 /* 13635 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5836 /* 13639 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5837 /* 13639 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLWrr),
5838 /* 13644 */ GIR_RootConstrainSelectedInstOperands,
5839 /* 13645 */ // GIR_Coverage, 2571,
5840 /* 13645 */ GIR_Done,
5841 /* 13646 */ // Label 421: @13646
5842 /* 13646 */ GIM_Try, /*On fail goto*//*Label 422*/ GIMT_Encode4(13673), // Rule ID 4999 //
5843 /* 13651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5844 /* 13654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5845 /* 13658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5846 /* 13662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5847 /* 13666 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULLWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
5848 /* 13666 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rr),
5849 /* 13671 */ GIR_RootConstrainSelectedInstOperands,
5850 /* 13672 */ // GIR_Coverage, 4999,
5851 /* 13672 */ GIR_Done,
5852 /* 13673 */ // Label 422: @13673
5853 /* 13673 */ GIM_Reject,
5854 /* 13674 */ // Label 415: @13674
5855 /* 13674 */ GIM_Reject,
5856 /* 13675 */ // Label 364: @13675
5857 /* 13675 */ GIM_Try, /*On fail goto*//*Label 423*/ GIMT_Encode4(13989),
5858 /* 13680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
5859 /* 13683 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
5860 /* 13686 */ GIM_Try, /*On fail goto*//*Label 424*/ GIMT_Encode4(13748), // Rule ID 23563 //
5861 /* 13691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5862 /* 13694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5863 /* 13698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5864 /* 13702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5865 /* 13706 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5866 /* 13709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5867 /* 13713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5868 /* 13717 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5869 /* 13721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5870 /* 13723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5871 /* 13730 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5872 /* 13730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5873 /* 13733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5874 /* 13735 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5875 /* 13737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5876 /* 13741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5877 /* 13746 */ GIR_RootConstrainSelectedInstOperands,
5878 /* 13747 */ // GIR_Coverage, 23563,
5879 /* 13747 */ GIR_EraseRootFromParent_Done,
5880 /* 13748 */ // Label 424: @13748
5881 /* 13748 */ GIM_Try, /*On fail goto*//*Label 425*/ GIMT_Encode4(13810), // Rule ID 23825 //
5882 /* 13753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5883 /* 13756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5884 /* 13760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5885 /* 13764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5886 /* 13768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5887 /* 13771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5888 /* 13775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5889 /* 13779 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5890 /* 13783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5891 /* 13785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5892 /* 13792 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5893 /* 13792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5894 /* 13795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5895 /* 13797 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5896 /* 13799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5897 /* 13803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5898 /* 13808 */ GIR_RootConstrainSelectedInstOperands,
5899 /* 13809 */ // GIR_Coverage, 23825,
5900 /* 13809 */ GIR_EraseRootFromParent_Done,
5901 /* 13810 */ // Label 425: @13810
5902 /* 13810 */ GIM_Try, /*On fail goto*//*Label 426*/ GIMT_Encode4(13872), // Rule ID 3243 //
5903 /* 13815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5904 /* 13818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5905 /* 13822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5906 /* 13826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5907 /* 13830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5908 /* 13834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5909 /* 13837 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5910 /* 13841 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5911 /* 13845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5912 /* 13847 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5913 /* 13854 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5914 /* 13854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5915 /* 13857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5916 /* 13859 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5917 /* 13861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5918 /* 13865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5919 /* 13870 */ GIR_RootConstrainSelectedInstOperands,
5920 /* 13871 */ // GIR_Coverage, 3243,
5921 /* 13871 */ GIR_EraseRootFromParent_Done,
5922 /* 13872 */ // Label 426: @13872
5923 /* 13872 */ GIM_Try, /*On fail goto*//*Label 427*/ GIMT_Encode4(13934), // Rule ID 4972 //
5924 /* 13877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5925 /* 13880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5926 /* 13884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5927 /* 13888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5928 /* 13892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5929 /* 13896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5930 /* 13899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5931 /* 13903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5932 /* 13907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5933 /* 13909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5934 /* 13916 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5935 /* 13916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5936 /* 13919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5937 /* 13921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5938 /* 13923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5939 /* 13927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5940 /* 13932 */ GIR_RootConstrainSelectedInstOperands,
5941 /* 13933 */ // GIR_Coverage, 4972,
5942 /* 13933 */ GIR_EraseRootFromParent_Done,
5943 /* 13934 */ // Label 427: @13934
5944 /* 13934 */ GIM_Try, /*On fail goto*//*Label 428*/ GIMT_Encode4(13961), // Rule ID 3242 //
5945 /* 13939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5946 /* 13942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5947 /* 13946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5948 /* 13950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5949 /* 13954 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMULLDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
5950 /* 13954 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrr),
5951 /* 13959 */ GIR_RootConstrainSelectedInstOperands,
5952 /* 13960 */ // GIR_Coverage, 3242,
5953 /* 13960 */ GIR_Done,
5954 /* 13961 */ // Label 428: @13961
5955 /* 13961 */ GIM_Try, /*On fail goto*//*Label 429*/ GIMT_Encode4(13988), // Rule ID 4969 //
5956 /* 13966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5957 /* 13969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5958 /* 13973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5959 /* 13977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5960 /* 13981 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMULLDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
5961 /* 13981 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rr),
5962 /* 13986 */ GIR_RootConstrainSelectedInstOperands,
5963 /* 13987 */ // GIR_Coverage, 4969,
5964 /* 13987 */ GIR_Done,
5965 /* 13988 */ // Label 429: @13988
5966 /* 13988 */ GIM_Reject,
5967 /* 13989 */ // Label 423: @13989
5968 /* 13989 */ GIM_Reject,
5969 /* 13990 */ // Label 365: @13990
5970 /* 13990 */ GIM_Try, /*On fail goto*//*Label 430*/ GIMT_Encode4(14145),
5971 /* 13995 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
5972 /* 13998 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
5973 /* 14001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5974 /* 14005 */ GIM_Try, /*On fail goto*//*Label 431*/ GIMT_Encode4(14063), // Rule ID 23846 //
5975 /* 14010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5976 /* 14013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5977 /* 14017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5978 /* 14021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5979 /* 14024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5980 /* 14028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5981 /* 14032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5982 /* 14036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5983 /* 14038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5984 /* 14045 */ // (mul:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5985 /* 14045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5986 /* 14048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5987 /* 14050 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5988 /* 14052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5989 /* 14056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5990 /* 14061 */ GIR_RootConstrainSelectedInstOperands,
5991 /* 14062 */ // GIR_Coverage, 23846,
5992 /* 14062 */ GIR_EraseRootFromParent_Done,
5993 /* 14063 */ // Label 431: @14063
5994 /* 14063 */ GIM_Try, /*On fail goto*//*Label 432*/ GIMT_Encode4(14121), // Rule ID 5008 //
5995 /* 14068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5996 /* 14071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5997 /* 14075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5998 /* 14079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5999 /* 14083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6000 /* 14086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6001 /* 14090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6002 /* 14094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6003 /* 14096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6004 /* 14103 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
6005 /* 14103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
6006 /* 14106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6007 /* 14108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6008 /* 14110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6009 /* 14114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6010 /* 14119 */ GIR_RootConstrainSelectedInstOperands,
6011 /* 14120 */ // GIR_Coverage, 5008,
6012 /* 14120 */ GIR_EraseRootFromParent_Done,
6013 /* 14121 */ // Label 432: @14121
6014 /* 14121 */ GIM_Try, /*On fail goto*//*Label 433*/ GIMT_Encode4(14144), // Rule ID 5005 //
6015 /* 14126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
6016 /* 14129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6017 /* 14133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6018 /* 14137 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMULLQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
6019 /* 14137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
6020 /* 14142 */ GIR_RootConstrainSelectedInstOperands,
6021 /* 14143 */ // GIR_Coverage, 5005,
6022 /* 14143 */ GIR_Done,
6023 /* 14144 */ // Label 433: @14144
6024 /* 14144 */ GIM_Reject,
6025 /* 14145 */ // Label 430: @14145
6026 /* 14145 */ GIM_Reject,
6027 /* 14146 */ // Label 366: @14146
6028 /* 14146 */ GIM_Try, /*On fail goto*//*Label 434*/ GIMT_Encode4(14460),
6029 /* 14151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
6030 /* 14154 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
6031 /* 14157 */ GIM_Try, /*On fail goto*//*Label 435*/ GIMT_Encode4(14219), // Rule ID 23488 //
6032 /* 14162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
6033 /* 14165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6034 /* 14169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6035 /* 14173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6036 /* 14177 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6037 /* 14180 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6038 /* 14184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6039 /* 14188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6040 /* 14192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6041 /* 14194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6042 /* 14201 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6043 /* 14201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
6044 /* 14204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6045 /* 14206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6046 /* 14208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6047 /* 14212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6048 /* 14217 */ GIR_RootConstrainSelectedInstOperands,
6049 /* 14218 */ // GIR_Coverage, 23488,
6050 /* 14218 */ GIR_EraseRootFromParent_Done,
6051 /* 14219 */ // Label 435: @14219
6052 /* 14219 */ GIM_Try, /*On fail goto*//*Label 436*/ GIMT_Encode4(14281), // Rule ID 23840 //
6053 /* 14224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
6054 /* 14227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6055 /* 14231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6056 /* 14235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6057 /* 14239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6058 /* 14242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6059 /* 14246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6060 /* 14250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6061 /* 14254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6062 /* 14256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6063 /* 14263 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6064 /* 14263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
6065 /* 14266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6066 /* 14268 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6067 /* 14270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6068 /* 14274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6069 /* 14279 */ GIR_RootConstrainSelectedInstOperands,
6070 /* 14280 */ // GIR_Coverage, 23840,
6071 /* 14280 */ GIR_EraseRootFromParent_Done,
6072 /* 14281 */ // Label 436: @14281
6073 /* 14281 */ GIM_Try, /*On fail goto*//*Label 437*/ GIMT_Encode4(14343), // Rule ID 2574 //
6074 /* 14286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
6075 /* 14289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6076 /* 14293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6077 /* 14297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6078 /* 14301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6079 /* 14305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6080 /* 14308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6081 /* 14312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6082 /* 14316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6083 /* 14318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6084 /* 14325 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6085 /* 14325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
6086 /* 14328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6087 /* 14330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6088 /* 14332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6089 /* 14336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6090 /* 14341 */ GIR_RootConstrainSelectedInstOperands,
6091 /* 14342 */ // GIR_Coverage, 2574,
6092 /* 14342 */ GIR_EraseRootFromParent_Done,
6093 /* 14343 */ // Label 437: @14343
6094 /* 14343 */ GIM_Try, /*On fail goto*//*Label 438*/ GIMT_Encode4(14405), // Rule ID 4996 //
6095 /* 14348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
6096 /* 14351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6097 /* 14355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6098 /* 14359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6099 /* 14363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6100 /* 14367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6101 /* 14370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6102 /* 14374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6103 /* 14378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6104 /* 14380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6105 /* 14387 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6106 /* 14387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
6107 /* 14390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6108 /* 14392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6109 /* 14394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6110 /* 14398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6111 /* 14403 */ GIR_RootConstrainSelectedInstOperands,
6112 /* 14404 */ // GIR_Coverage, 4996,
6113 /* 14404 */ GIR_EraseRootFromParent_Done,
6114 /* 14405 */ // Label 438: @14405
6115 /* 14405 */ GIM_Try, /*On fail goto*//*Label 439*/ GIMT_Encode4(14432), // Rule ID 2573 //
6116 /* 14410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
6117 /* 14413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6118 /* 14417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6119 /* 14421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
6120 /* 14425 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULLWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
6121 /* 14425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrr),
6122 /* 14430 */ GIR_RootConstrainSelectedInstOperands,
6123 /* 14431 */ // GIR_Coverage, 2573,
6124 /* 14431 */ GIR_Done,
6125 /* 14432 */ // Label 439: @14432
6126 /* 14432 */ GIM_Try, /*On fail goto*//*Label 440*/ GIMT_Encode4(14459), // Rule ID 4993 //
6127 /* 14437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
6128 /* 14440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6129 /* 14444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6130 /* 14448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
6131 /* 14452 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULLWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
6132 /* 14452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rr),
6133 /* 14457 */ GIR_RootConstrainSelectedInstOperands,
6134 /* 14458 */ // GIR_Coverage, 4993,
6135 /* 14458 */ GIR_Done,
6136 /* 14459 */ // Label 440: @14459
6137 /* 14459 */ GIM_Reject,
6138 /* 14460 */ // Label 434: @14460
6139 /* 14460 */ GIM_Reject,
6140 /* 14461 */ // Label 367: @14461
6141 /* 14461 */ GIM_Try, /*On fail goto*//*Label 441*/ GIMT_Encode4(14616),
6142 /* 14466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
6143 /* 14469 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
6144 /* 14472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6145 /* 14476 */ GIM_Try, /*On fail goto*//*Label 442*/ GIMT_Encode4(14534), // Rule ID 23819 //
6146 /* 14481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
6147 /* 14484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6148 /* 14488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6149 /* 14492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6150 /* 14495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6151 /* 14499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6152 /* 14503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6153 /* 14507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6154 /* 14509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6155 /* 14516 */ // (mul:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6156 /* 14516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
6157 /* 14519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6158 /* 14521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6159 /* 14523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6160 /* 14527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6161 /* 14532 */ GIR_RootConstrainSelectedInstOperands,
6162 /* 14533 */ // GIR_Coverage, 23819,
6163 /* 14533 */ GIR_EraseRootFromParent_Done,
6164 /* 14534 */ // Label 442: @14534
6165 /* 14534 */ GIM_Try, /*On fail goto*//*Label 443*/ GIMT_Encode4(14592), // Rule ID 4963 //
6166 /* 14539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
6167 /* 14542 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6168 /* 14546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6169 /* 14550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6170 /* 14554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6171 /* 14557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6172 /* 14561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6173 /* 14565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6174 /* 14567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6175 /* 14574 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6176 /* 14574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
6177 /* 14577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6178 /* 14579 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6179 /* 14581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6180 /* 14585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6181 /* 14590 */ GIR_RootConstrainSelectedInstOperands,
6182 /* 14591 */ // GIR_Coverage, 4963,
6183 /* 14591 */ GIR_EraseRootFromParent_Done,
6184 /* 14592 */ // Label 443: @14592
6185 /* 14592 */ GIM_Try, /*On fail goto*//*Label 444*/ GIMT_Encode4(14615), // Rule ID 4960 //
6186 /* 14597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
6187 /* 14600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6188 /* 14604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6189 /* 14608 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMULLDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
6190 /* 14608 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrr),
6191 /* 14613 */ GIR_RootConstrainSelectedInstOperands,
6192 /* 14614 */ // GIR_Coverage, 4960,
6193 /* 14614 */ GIR_Done,
6194 /* 14615 */ // Label 444: @14615
6195 /* 14615 */ GIM_Reject,
6196 /* 14616 */ // Label 441: @14616
6197 /* 14616 */ GIM_Reject,
6198 /* 14617 */ // Label 368: @14617
6199 /* 14617 */ GIM_Try, /*On fail goto*//*Label 445*/ GIMT_Encode4(14772),
6200 /* 14622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
6201 /* 14625 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
6202 /* 14628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6203 /* 14632 */ GIM_Try, /*On fail goto*//*Label 446*/ GIMT_Encode4(14690), // Rule ID 23837 //
6204 /* 14637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
6205 /* 14640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6206 /* 14644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6207 /* 14648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6208 /* 14651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6209 /* 14655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6210 /* 14659 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6211 /* 14663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6212 /* 14665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6213 /* 14672 */ // (mul:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6214 /* 14672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
6215 /* 14675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6216 /* 14677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6217 /* 14679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6218 /* 14683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6219 /* 14688 */ GIR_RootConstrainSelectedInstOperands,
6220 /* 14689 */ // GIR_Coverage, 23837,
6221 /* 14689 */ GIR_EraseRootFromParent_Done,
6222 /* 14690 */ // Label 446: @14690
6223 /* 14690 */ GIM_Try, /*On fail goto*//*Label 447*/ GIMT_Encode4(14748), // Rule ID 4990 //
6224 /* 14695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
6225 /* 14698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6226 /* 14702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6227 /* 14706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6228 /* 14710 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6229 /* 14713 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6230 /* 14717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6231 /* 14721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6232 /* 14723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6233 /* 14730 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6234 /* 14730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
6235 /* 14733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6236 /* 14735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6237 /* 14737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6238 /* 14741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6239 /* 14746 */ GIR_RootConstrainSelectedInstOperands,
6240 /* 14747 */ // GIR_Coverage, 4990,
6241 /* 14747 */ GIR_EraseRootFromParent_Done,
6242 /* 14748 */ // Label 447: @14748
6243 /* 14748 */ GIM_Try, /*On fail goto*//*Label 448*/ GIMT_Encode4(14771), // Rule ID 4987 //
6244 /* 14753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
6245 /* 14756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6246 /* 14760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
6247 /* 14764 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULLWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
6248 /* 14764 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrr),
6249 /* 14769 */ GIR_RootConstrainSelectedInstOperands,
6250 /* 14770 */ // GIR_Coverage, 4987,
6251 /* 14770 */ GIR_Done,
6252 /* 14771 */ // Label 448: @14771
6253 /* 14771 */ GIM_Reject,
6254 /* 14772 */ // Label 445: @14772
6255 /* 14772 */ GIM_Reject,
6256 /* 14773 */ // Label 369: @14773
6257 /* 14773 */ GIM_Reject,
6258 /* 14774 */ // Label 3: @14774
6259 /* 14774 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 472*/ GIMT_Encode4(25365),
6260 /* 14785 */ /*GILLT_s1*//*Label 449*/ GIMT_Encode4(14885),
6261 /* 14789 */ /*GILLT_s8*//*Label 450*/ GIMT_Encode4(15231),
6262 /* 14793 */ /*GILLT_s16*//*Label 451*/ GIMT_Encode4(15624),
6263 /* 14797 */ /*GILLT_s32*//*Label 452*/ GIMT_Encode4(16309),
6264 /* 14801 */ /*GILLT_s64*//*Label 453*/ GIMT_Encode4(18135), GIMT_Encode4(0), GIMT_Encode4(0),
6265 /* 14813 */ /*GILLT_v2s1*//*Label 454*/ GIMT_Encode4(19839),
6266 /* 14817 */ /*GILLT_v2s64*//*Label 455*/ GIMT_Encode4(20185),
6267 /* 14821 */ /*GILLT_v4s1*//*Label 456*/ GIMT_Encode4(20527),
6268 /* 14825 */ /*GILLT_v4s32*//*Label 457*/ GIMT_Encode4(20873),
6269 /* 14829 */ /*GILLT_v4s64*//*Label 458*/ GIMT_Encode4(21215),
6270 /* 14833 */ /*GILLT_v8s1*//*Label 459*/ GIMT_Encode4(21681),
6271 /* 14837 */ /*GILLT_v8s16*//*Label 460*/ GIMT_Encode4(22179),
6272 /* 14841 */ /*GILLT_v8s32*//*Label 461*/ GIMT_Encode4(22521),
6273 /* 14845 */ /*GILLT_v8s64*//*Label 462*/ GIMT_Encode4(22987),
6274 /* 14849 */ /*GILLT_v16s1*//*Label 463*/ GIMT_Encode4(23143),
6275 /* 14853 */ /*GILLT_v16s8*//*Label 464*/ GIMT_Encode4(23303),
6276 /* 14857 */ /*GILLT_v16s16*//*Label 465*/ GIMT_Encode4(23645),
6277 /* 14861 */ /*GILLT_v16s32*//*Label 466*/ GIMT_Encode4(24111),
6278 /* 14865 */ /*GILLT_v32s1*//*Label 467*/ GIMT_Encode4(24267),
6279 /* 14869 */ /*GILLT_v32s8*//*Label 468*/ GIMT_Encode4(24427),
6280 /* 14873 */ /*GILLT_v32s16*//*Label 469*/ GIMT_Encode4(24893),
6281 /* 14877 */ /*GILLT_v64s1*//*Label 470*/ GIMT_Encode4(25049),
6282 /* 14881 */ /*GILLT_v64s8*//*Label 471*/ GIMT_Encode4(25209),
6283 /* 14885 */ // Label 449: @14885
6284 /* 14885 */ GIM_Try, /*On fail goto*//*Label 473*/ GIMT_Encode4(15230),
6285 /* 14890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
6286 /* 14893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
6287 /* 14896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6288 /* 14900 */ GIM_Try, /*On fail goto*//*Label 474*/ GIMT_Encode4(15020), // Rule ID 19485 //
6289 /* 14905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6290 /* 14909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6291 /* 14913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
6292 /* 14917 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
6293 /* 14921 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6294 /* 14926 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
6295 /* 14930 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
6296 /* 14936 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
6297 /* 14938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6298 /* 14942 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6299 /* 14944 */ // (and:{ *:[v1i1] } (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, immAllOnesV:{ *:[v1i1] }), VK1:{ *:[v1i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
6300 /* 14944 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
6301 /* 14947 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6302 /* 14951 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6303 /* 14956 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
6304 /* 14960 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6305 /* 14965 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
6306 /* 14968 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6307 /* 14972 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6308 /* 14977 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
6309 /* 14981 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6310 /* 14986 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
6311 /* 14989 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
6312 /* 14993 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6313 /* 14998 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6314 /* 15001 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
6315 /* 15004 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6316 /* 15006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6317 /* 15009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6318 /* 15011 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6319 /* 15014 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
6320 /* 15019 */ // GIR_Coverage, 19485,
6321 /* 15019 */ GIR_EraseRootFromParent_Done,
6322 /* 15020 */ // Label 474: @15020
6323 /* 15020 */ GIM_Try, /*On fail goto*//*Label 475*/ GIMT_Encode4(15140), // Rule ID 25400 //
6324 /* 15025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6325 /* 15029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6326 /* 15033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6327 /* 15037 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
6328 /* 15041 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
6329 /* 15045 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6330 /* 15050 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
6331 /* 15054 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
6332 /* 15060 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
6333 /* 15062 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6334 /* 15064 */ // (and:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src2, (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, immAllOnesV:{ *:[v1i1] })) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
6335 /* 15064 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
6336 /* 15067 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6337 /* 15071 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6338 /* 15076 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
6339 /* 15080 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6340 /* 15085 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
6341 /* 15088 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6342 /* 15092 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6343 /* 15097 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
6344 /* 15101 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6345 /* 15106 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
6346 /* 15109 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
6347 /* 15113 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6348 /* 15118 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6349 /* 15121 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
6350 /* 15124 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6351 /* 15126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6352 /* 15129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6353 /* 15131 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6354 /* 15134 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
6355 /* 15139 */ // GIR_Coverage, 25400,
6356 /* 15139 */ GIR_EraseRootFromParent_Done,
6357 /* 15140 */ // Label 475: @15140
6358 /* 15140 */ GIM_Try, /*On fail goto*//*Label 476*/ GIMT_Encode4(15229), // Rule ID 19481 //
6359 /* 15145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6360 /* 15149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
6361 /* 15153 */ // (and:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, VK1:{ *:[v1i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KANDWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
6362 /* 15153 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
6363 /* 15156 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6364 /* 15160 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6365 /* 15165 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
6366 /* 15169 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6367 /* 15174 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
6368 /* 15177 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6369 /* 15181 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6370 /* 15186 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
6371 /* 15190 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
6372 /* 15195 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
6373 /* 15198 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
6374 /* 15202 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6375 /* 15207 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6376 /* 15210 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
6377 /* 15213 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6378 /* 15215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6379 /* 15218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6380 /* 15220 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6381 /* 15223 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
6382 /* 15228 */ // GIR_Coverage, 19481,
6383 /* 15228 */ GIR_EraseRootFromParent_Done,
6384 /* 15229 */ // Label 476: @15229
6385 /* 15229 */ GIM_Reject,
6386 /* 15230 */ // Label 473: @15230
6387 /* 15230 */ GIM_Reject,
6388 /* 15231 */ // Label 450: @15231
6389 /* 15231 */ GIM_Try, /*On fail goto*//*Label 477*/ GIMT_Encode4(15623),
6390 /* 15236 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
6391 /* 15239 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
6392 /* 15242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6393 /* 15246 */ GIM_Try, /*On fail goto*//*Label 478*/ GIMT_Encode4(15307), // Rule ID 26102 //
6394 /* 15251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6395 /* 15254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6396 /* 15258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6397 /* 15262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6398 /* 15265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6399 /* 15269 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6400 /* 15273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6401 /* 15277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6402 /* 15279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6403 /* 15286 */ // (and:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (AND8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
6404 /* 15286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
6405 /* 15289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6406 /* 15291 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6407 /* 15293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6408 /* 15297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6409 /* 15300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6410 /* 15305 */ GIR_RootConstrainSelectedInstOperands,
6411 /* 15306 */ // GIR_Coverage, 26102,
6412 /* 15306 */ GIR_EraseRootFromParent_Done,
6413 /* 15307 */ // Label 478: @15307
6414 /* 15307 */ GIM_Try, /*On fail goto*//*Label 479*/ GIMT_Encode4(15368), // Rule ID 26121 //
6415 /* 15312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6416 /* 15315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6417 /* 15319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6418 /* 15323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6419 /* 15326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6420 /* 15330 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6421 /* 15334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6422 /* 15338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6423 /* 15340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6424 /* 15347 */ // (and:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (AND8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
6425 /* 15347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm_ND),
6426 /* 15350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6427 /* 15352 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6428 /* 15354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6429 /* 15358 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6430 /* 15361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6431 /* 15366 */ GIR_RootConstrainSelectedInstOperands,
6432 /* 15367 */ // GIR_Coverage, 26121,
6433 /* 15367 */ GIR_EraseRootFromParent_Done,
6434 /* 15368 */ // Label 479: @15368
6435 /* 15368 */ GIM_Try, /*On fail goto*//*Label 480*/ GIMT_Encode4(15429), // Rule ID 22887 //
6436 /* 15373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6437 /* 15376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6438 /* 15380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6439 /* 15384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6440 /* 15388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6441 /* 15391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6442 /* 15395 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6443 /* 15399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6444 /* 15401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6445 /* 15408 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (AND8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
6446 /* 15408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
6447 /* 15411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6448 /* 15413 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6449 /* 15415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6450 /* 15419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6451 /* 15422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6452 /* 15427 */ GIR_RootConstrainSelectedInstOperands,
6453 /* 15428 */ // GIR_Coverage, 22887,
6454 /* 15428 */ GIR_EraseRootFromParent_Done,
6455 /* 15429 */ // Label 480: @15429
6456 /* 15429 */ GIM_Try, /*On fail goto*//*Label 481*/ GIMT_Encode4(15490), // Rule ID 22977 //
6457 /* 15434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6458 /* 15437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6459 /* 15441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6460 /* 15445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6461 /* 15449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6462 /* 15452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6463 /* 15456 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
6464 /* 15460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6465 /* 15462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6466 /* 15469 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (AND8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
6467 /* 15469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm_ND),
6468 /* 15472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6469 /* 15474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6470 /* 15476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6471 /* 15480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6472 /* 15483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6473 /* 15488 */ GIR_RootConstrainSelectedInstOperands,
6474 /* 15489 */ // GIR_Coverage, 22977,
6475 /* 15489 */ GIR_EraseRootFromParent_Done,
6476 /* 15490 */ // Label 481: @15490
6477 /* 15490 */ GIM_Try, /*On fail goto*//*Label 482*/ GIMT_Encode4(15527), // Rule ID 22891 //
6478 /* 15495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6479 /* 15498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6480 /* 15502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6481 /* 15506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6482 /* 15510 */ // MIs[1] Operand 1
6483 /* 15510 */ // No operand predicates
6484 /* 15510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6485 /* 15512 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6486 /* 15512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri),
6487 /* 15515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6488 /* 15517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6489 /* 15519 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6490 /* 15522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6491 /* 15525 */ GIR_RootConstrainSelectedInstOperands,
6492 /* 15526 */ // GIR_Coverage, 22891,
6493 /* 15526 */ GIR_EraseRootFromParent_Done,
6494 /* 15527 */ // Label 482: @15527
6495 /* 15527 */ GIM_Try, /*On fail goto*//*Label 483*/ GIMT_Encode4(15564), // Rule ID 22981 //
6496 /* 15532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6497 /* 15535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6498 /* 15539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6499 /* 15543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6500 /* 15547 */ // MIs[1] Operand 1
6501 /* 15547 */ // No operand predicates
6502 /* 15547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6503 /* 15549 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6504 /* 15549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri_ND),
6505 /* 15552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6506 /* 15554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6507 /* 15556 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6508 /* 15559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6509 /* 15562 */ GIR_RootConstrainSelectedInstOperands,
6510 /* 15563 */ // GIR_Coverage, 22981,
6511 /* 15563 */ GIR_EraseRootFromParent_Done,
6512 /* 15564 */ // Label 483: @15564
6513 /* 15564 */ GIM_Try, /*On fail goto*//*Label 484*/ GIMT_Encode4(15593), // Rule ID 22883 //
6514 /* 15569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6515 /* 15572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6516 /* 15576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6517 /* 15580 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6518 /* 15580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr),
6519 /* 15585 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6520 /* 15591 */ GIR_RootConstrainSelectedInstOperands,
6521 /* 15592 */ // GIR_Coverage, 22883,
6522 /* 15592 */ GIR_Done,
6523 /* 15593 */ // Label 484: @15593
6524 /* 15593 */ GIM_Try, /*On fail goto*//*Label 485*/ GIMT_Encode4(15622), // Rule ID 22973 //
6525 /* 15598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6526 /* 15601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6527 /* 15605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6528 /* 15609 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6529 /* 15609 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr_ND),
6530 /* 15614 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6531 /* 15620 */ GIR_RootConstrainSelectedInstOperands,
6532 /* 15621 */ // GIR_Coverage, 22973,
6533 /* 15621 */ GIR_Done,
6534 /* 15622 */ // Label 485: @15622
6535 /* 15622 */ GIM_Reject,
6536 /* 15623 */ // Label 477: @15623
6537 /* 15623 */ GIM_Reject,
6538 /* 15624 */ // Label 451: @15624
6539 /* 15624 */ GIM_Try, /*On fail goto*//*Label 486*/ GIMT_Encode4(16308),
6540 /* 15629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
6541 /* 15632 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
6542 /* 15635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6543 /* 15639 */ GIM_Try, /*On fail goto*//*Label 487*/ GIMT_Encode4(15700), // Rule ID 26103 //
6544 /* 15644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6545 /* 15647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6546 /* 15651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6547 /* 15655 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6548 /* 15658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6549 /* 15662 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6550 /* 15666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6551 /* 15670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6552 /* 15672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6553 /* 15679 */ // (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (AND16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6554 /* 15679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6555 /* 15682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6556 /* 15684 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6557 /* 15686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6558 /* 15690 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6559 /* 15693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6560 /* 15698 */ GIR_RootConstrainSelectedInstOperands,
6561 /* 15699 */ // GIR_Coverage, 26103,
6562 /* 15699 */ GIR_EraseRootFromParent_Done,
6563 /* 15700 */ // Label 487: @15700
6564 /* 15700 */ GIM_Try, /*On fail goto*//*Label 488*/ GIMT_Encode4(15761), // Rule ID 26122 //
6565 /* 15705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6566 /* 15708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6567 /* 15712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6568 /* 15716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6569 /* 15719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6570 /* 15723 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6571 /* 15727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6572 /* 15731 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6573 /* 15733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6574 /* 15740 */ // (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (AND16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6575 /* 15740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm_ND),
6576 /* 15743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6577 /* 15745 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6578 /* 15747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6579 /* 15751 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6580 /* 15754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6581 /* 15759 */ GIR_RootConstrainSelectedInstOperands,
6582 /* 15760 */ // GIR_Coverage, 26122,
6583 /* 15760 */ GIR_EraseRootFromParent_Done,
6584 /* 15761 */ // Label 488: @15761
6585 /* 15761 */ GIM_Try, /*On fail goto*//*Label 489*/ GIMT_Encode4(15822), // Rule ID 22888 //
6586 /* 15766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6587 /* 15769 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6588 /* 15773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6589 /* 15777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6590 /* 15781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6591 /* 15784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6592 /* 15788 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6593 /* 15792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6594 /* 15794 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6595 /* 15801 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (AND16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6596 /* 15801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6597 /* 15804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6598 /* 15806 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6599 /* 15808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6600 /* 15812 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6601 /* 15815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6602 /* 15820 */ GIR_RootConstrainSelectedInstOperands,
6603 /* 15821 */ // GIR_Coverage, 22888,
6604 /* 15821 */ GIR_EraseRootFromParent_Done,
6605 /* 15822 */ // Label 489: @15822
6606 /* 15822 */ GIM_Try, /*On fail goto*//*Label 490*/ GIMT_Encode4(15883), // Rule ID 22978 //
6607 /* 15827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6608 /* 15830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6609 /* 15834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6610 /* 15838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6611 /* 15842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6612 /* 15845 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6613 /* 15849 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6614 /* 15853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6615 /* 15855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6616 /* 15862 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (AND16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
6617 /* 15862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm_ND),
6618 /* 15865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6619 /* 15867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6620 /* 15869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6621 /* 15873 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6622 /* 15876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6623 /* 15881 */ GIR_RootConstrainSelectedInstOperands,
6624 /* 15882 */ // GIR_Coverage, 22978,
6625 /* 15882 */ GIR_EraseRootFromParent_Done,
6626 /* 15883 */ // Label 490: @15883
6627 /* 15883 */ GIM_Try, /*On fail goto*//*Label 491*/ GIMT_Encode4(15985), // Rule ID 26069 //
6628 /* 15888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6629 /* 15892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6630 /* 15896 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6631 /* 15900 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6632 /* 15904 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6633 /* 15908 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6634 /* 15913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6635 /* 15917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6636 /* 15919 */ // (and:{ *:[i16] } (rotl:{ *:[i16] } -2:{ *:[i16] }, GR8:{ *:[i8] }:$src2), GR16:{ *:[i16] }:$src1) => (BTR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (INSERT_SUBREG:{ *:[i16] } (IMPLICIT_DEF:{ *:[i16] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
6637 /* 15919 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6638 /* 15922 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6639 /* 15926 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6640 /* 15931 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6641 /* 15933 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6642 /* 15936 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6643 /* 15940 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6644 /* 15945 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6645 /* 15948 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6646 /* 15952 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6647 /* 15955 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6648 /* 15960 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6649 /* 15965 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6650 /* 15970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6651 /* 15973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6652 /* 15975 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6653 /* 15977 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6654 /* 15980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6655 /* 15983 */ GIR_RootConstrainSelectedInstOperands,
6656 /* 15984 */ // GIR_Coverage, 26069,
6657 /* 15984 */ GIR_EraseRootFromParent_Done,
6658 /* 15985 */ // Label 491: @15985
6659 /* 15985 */ GIM_Try, /*On fail goto*//*Label 492*/ GIMT_Encode4(16087), // Rule ID 22807 //
6660 /* 15990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6661 /* 15994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6662 /* 15998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6663 /* 16002 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6664 /* 16006 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6665 /* 16010 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6666 /* 16014 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6667 /* 16019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6668 /* 16021 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (rotl:{ *:[i16] } -2:{ *:[i16] }, GR8:{ *:[i8] }:$src2)) => (BTR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (INSERT_SUBREG:{ *:[i16] } (IMPLICIT_DEF:{ *:[i16] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
6669 /* 16021 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6670 /* 16024 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6671 /* 16028 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6672 /* 16033 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6673 /* 16035 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6674 /* 16038 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6675 /* 16042 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6676 /* 16047 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6677 /* 16050 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6678 /* 16054 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6679 /* 16057 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6680 /* 16062 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6681 /* 16067 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6682 /* 16072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6683 /* 16075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6684 /* 16077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6685 /* 16079 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6686 /* 16082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6687 /* 16085 */ GIR_RootConstrainSelectedInstOperands,
6688 /* 16086 */ // GIR_Coverage, 22807,
6689 /* 16086 */ GIR_EraseRootFromParent_Done,
6690 /* 16087 */ // Label 492: @16087
6691 /* 16087 */ GIM_Try, /*On fail goto*//*Label 493*/ GIMT_Encode4(16175), // Rule ID 22667 //
6692 /* 16092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6693 /* 16096 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6694 /* 16107 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, 255:{ *:[i16] }) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src1, sub_8bit:{ *:[i32] })), sub_16bit:{ *:[i32] })
6695 /* 16107 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
6696 /* 16110 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6697 /* 16114 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6698 /* 16119 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6699 /* 16125 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6700 /* 16130 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6701 /* 16135 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6702 /* 16138 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6703 /* 16142 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6704 /* 16147 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6705 /* 16150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6706 /* 16152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6707 /* 16155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6708 /* 16157 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
6709 /* 16164 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6710 /* 16169 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6711 /* 16174 */ // GIR_Coverage, 22667,
6712 /* 16174 */ GIR_EraseRootFromParent_Done,
6713 /* 16175 */ // Label 493: @16175
6714 /* 16175 */ GIM_Try, /*On fail goto*//*Label 494*/ GIMT_Encode4(16212), // Rule ID 22892 //
6715 /* 16180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6716 /* 16183 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6717 /* 16187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6718 /* 16191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6719 /* 16195 */ // MIs[1] Operand 1
6720 /* 16195 */ // No operand predicates
6721 /* 16195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6722 /* 16197 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6723 /* 16197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri),
6724 /* 16200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6725 /* 16202 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6726 /* 16204 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6727 /* 16207 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6728 /* 16210 */ GIR_RootConstrainSelectedInstOperands,
6729 /* 16211 */ // GIR_Coverage, 22892,
6730 /* 16211 */ GIR_EraseRootFromParent_Done,
6731 /* 16212 */ // Label 494: @16212
6732 /* 16212 */ GIM_Try, /*On fail goto*//*Label 495*/ GIMT_Encode4(16249), // Rule ID 22982 //
6733 /* 16217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6734 /* 16220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6735 /* 16224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6736 /* 16228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6737 /* 16232 */ // MIs[1] Operand 1
6738 /* 16232 */ // No operand predicates
6739 /* 16232 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6740 /* 16234 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6741 /* 16234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri_ND),
6742 /* 16237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6743 /* 16239 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6744 /* 16241 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6745 /* 16244 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6746 /* 16247 */ GIR_RootConstrainSelectedInstOperands,
6747 /* 16248 */ // GIR_Coverage, 22982,
6748 /* 16248 */ GIR_EraseRootFromParent_Done,
6749 /* 16249 */ // Label 495: @16249
6750 /* 16249 */ GIM_Try, /*On fail goto*//*Label 496*/ GIMT_Encode4(16278), // Rule ID 22884 //
6751 /* 16254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6752 /* 16257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6753 /* 16261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6754 /* 16265 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6755 /* 16265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr),
6756 /* 16270 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6757 /* 16276 */ GIR_RootConstrainSelectedInstOperands,
6758 /* 16277 */ // GIR_Coverage, 22884,
6759 /* 16277 */ GIR_Done,
6760 /* 16278 */ // Label 496: @16278
6761 /* 16278 */ GIM_Try, /*On fail goto*//*Label 497*/ GIMT_Encode4(16307), // Rule ID 22974 //
6762 /* 16283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6763 /* 16286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6764 /* 16290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6765 /* 16294 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6766 /* 16294 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr_ND),
6767 /* 16299 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6768 /* 16305 */ GIR_RootConstrainSelectedInstOperands,
6769 /* 16306 */ // GIR_Coverage, 22974,
6770 /* 16306 */ GIR_Done,
6771 /* 16307 */ // Label 497: @16307
6772 /* 16307 */ GIM_Reject,
6773 /* 16308 */ // Label 486: @16308
6774 /* 16308 */ GIM_Reject,
6775 /* 16309 */ // Label 452: @16309
6776 /* 16309 */ GIM_Try, /*On fail goto*//*Label 498*/ GIMT_Encode4(18134),
6777 /* 16314 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
6778 /* 16317 */ GIM_Try, /*On fail goto*//*Label 499*/ GIMT_Encode4(16409), // Rule ID 17535 //
6779 /* 16322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6780 /* 16325 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6781 /* 16328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6782 /* 16332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6783 /* 16336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6784 /* 16340 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6785 /* 16344 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6786 /* 16348 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6787 /* 16353 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6788 /* 16357 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6789 /* 16361 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6790 /* 16365 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6791 /* 16368 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6792 /* 16372 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6793 /* 16376 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6794 /* 16378 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6795 /* 16385 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (ANDN32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6796 /* 16385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6797 /* 16388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6798 /* 16390 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6799 /* 16394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6800 /* 16398 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6801 /* 16401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6802 /* 16407 */ GIR_RootConstrainSelectedInstOperands,
6803 /* 16408 */ // GIR_Coverage, 17535,
6804 /* 16408 */ GIR_EraseRootFromParent_Done,
6805 /* 16409 */ // Label 499: @16409
6806 /* 16409 */ GIM_Try, /*On fail goto*//*Label 500*/ GIMT_Encode4(16501), // Rule ID 17539 //
6807 /* 16414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6808 /* 16417 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6809 /* 16420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6810 /* 16424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6811 /* 16428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6812 /* 16432 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6813 /* 16436 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6814 /* 16440 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6815 /* 16445 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6816 /* 16449 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6817 /* 16453 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6818 /* 16457 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6819 /* 16460 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6820 /* 16464 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6821 /* 16468 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6822 /* 16470 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6823 /* 16477 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (ANDN32rm_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6824 /* 16477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6825 /* 16480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6826 /* 16482 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6827 /* 16486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6828 /* 16490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6829 /* 16493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6830 /* 16499 */ GIR_RootConstrainSelectedInstOperands,
6831 /* 16500 */ // GIR_Coverage, 17539,
6832 /* 16500 */ GIR_EraseRootFromParent_Done,
6833 /* 16501 */ // Label 500: @16501
6834 /* 16501 */ GIM_Try, /*On fail goto*//*Label 501*/ GIMT_Encode4(16593), // Rule ID 25136 //
6835 /* 16506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6836 /* 16509 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6837 /* 16512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6838 /* 16516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6839 /* 16520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6840 /* 16524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6841 /* 16527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6842 /* 16531 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6843 /* 16535 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6844 /* 16539 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6845 /* 16543 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6846 /* 16547 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6847 /* 16551 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6848 /* 16556 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6849 /* 16560 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6850 /* 16562 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6851 /* 16569 */ // (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6852 /* 16569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6853 /* 16572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6854 /* 16574 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6855 /* 16578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6856 /* 16582 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6857 /* 16585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6858 /* 16591 */ GIR_RootConstrainSelectedInstOperands,
6859 /* 16592 */ // GIR_Coverage, 25136,
6860 /* 16592 */ GIR_EraseRootFromParent_Done,
6861 /* 16593 */ // Label 501: @16593
6862 /* 16593 */ GIM_Try, /*On fail goto*//*Label 502*/ GIMT_Encode4(16685), // Rule ID 25140 //
6863 /* 16598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6864 /* 16601 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6865 /* 16604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6866 /* 16608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6867 /* 16612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6868 /* 16616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6869 /* 16619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6870 /* 16623 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6871 /* 16627 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6872 /* 16631 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6873 /* 16635 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6874 /* 16639 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6875 /* 16643 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6876 /* 16648 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6877 /* 16652 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6878 /* 16654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6879 /* 16661 */ // (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rm_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6880 /* 16661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6881 /* 16664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6882 /* 16666 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6883 /* 16670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6884 /* 16674 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6885 /* 16677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6886 /* 16683 */ GIR_RootConstrainSelectedInstOperands,
6887 /* 16684 */ // GIR_Coverage, 25140,
6888 /* 16684 */ GIR_EraseRootFromParent_Done,
6889 /* 16685 */ // Label 502: @16685
6890 /* 16685 */ GIM_Try, /*On fail goto*//*Label 503*/ GIMT_Encode4(16753), // Rule ID 26104 //
6891 /* 16690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6892 /* 16693 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6893 /* 16696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6894 /* 16700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6895 /* 16704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6896 /* 16708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6897 /* 16711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6898 /* 16715 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6899 /* 16719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6900 /* 16723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6901 /* 16725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6902 /* 16732 */ // (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (AND32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6903 /* 16732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6904 /* 16735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6905 /* 16737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6906 /* 16739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6907 /* 16743 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6908 /* 16746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6909 /* 16751 */ GIR_RootConstrainSelectedInstOperands,
6910 /* 16752 */ // GIR_Coverage, 26104,
6911 /* 16752 */ GIR_EraseRootFromParent_Done,
6912 /* 16753 */ // Label 503: @16753
6913 /* 16753 */ GIM_Try, /*On fail goto*//*Label 504*/ GIMT_Encode4(16821), // Rule ID 26123 //
6914 /* 16758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6915 /* 16761 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6916 /* 16764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6917 /* 16768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6918 /* 16772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6919 /* 16776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6920 /* 16779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6921 /* 16783 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6922 /* 16787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6923 /* 16791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6924 /* 16793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6925 /* 16800 */ // (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (AND32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6926 /* 16800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm_ND),
6927 /* 16803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6928 /* 16805 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6929 /* 16807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6930 /* 16811 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6931 /* 16814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6932 /* 16819 */ GIR_RootConstrainSelectedInstOperands,
6933 /* 16820 */ // GIR_Coverage, 26123,
6934 /* 16820 */ GIR_EraseRootFromParent_Done,
6935 /* 16821 */ // Label 504: @16821
6936 /* 16821 */ GIM_Try, /*On fail goto*//*Label 505*/ GIMT_Encode4(16889), // Rule ID 22889 //
6937 /* 16826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6938 /* 16829 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6939 /* 16832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6940 /* 16836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6941 /* 16840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6942 /* 16844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6943 /* 16848 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6944 /* 16851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6945 /* 16855 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6946 /* 16859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6947 /* 16861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6948 /* 16868 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (AND32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6949 /* 16868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6950 /* 16871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6951 /* 16873 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6952 /* 16875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6953 /* 16879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6954 /* 16882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6955 /* 16887 */ GIR_RootConstrainSelectedInstOperands,
6956 /* 16888 */ // GIR_Coverage, 22889,
6957 /* 16888 */ GIR_EraseRootFromParent_Done,
6958 /* 16889 */ // Label 505: @16889
6959 /* 16889 */ GIM_Try, /*On fail goto*//*Label 506*/ GIMT_Encode4(16957), // Rule ID 22979 //
6960 /* 16894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6961 /* 16897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6962 /* 16900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6963 /* 16904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6964 /* 16908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6965 /* 16912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6966 /* 16916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6967 /* 16919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6968 /* 16923 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6969 /* 16927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6970 /* 16929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6971 /* 16936 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (AND32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
6972 /* 16936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm_ND),
6973 /* 16939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6974 /* 16941 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6975 /* 16943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6976 /* 16947 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6977 /* 16950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6978 /* 16955 */ GIR_RootConstrainSelectedInstOperands,
6979 /* 16956 */ // GIR_Coverage, 22979,
6980 /* 16956 */ GIR_EraseRootFromParent_Done,
6981 /* 16957 */ // Label 506: @16957
6982 /* 16957 */ GIM_Try, /*On fail goto*//*Label 507*/ GIMT_Encode4(17034), // Rule ID 25028 //
6983 /* 16962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6984 /* 16965 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6985 /* 16968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6986 /* 16972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6987 /* 16976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6988 /* 16980 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6989 /* 16984 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6990 /* 16988 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6991 /* 16993 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6992 /* 16997 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6993 /* 17001 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6994 /* 17005 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6995 /* 17009 */ // MIs[2] src
6996 /* 17009 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6997 /* 17014 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6998 /* 17018 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6999 /* 17020 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7000 /* 17020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
7001 /* 17023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7002 /* 17025 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7003 /* 17029 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7004 /* 17032 */ GIR_RootConstrainSelectedInstOperands,
7005 /* 17033 */ // GIR_Coverage, 25028,
7006 /* 17033 */ GIR_EraseRootFromParent_Done,
7007 /* 17034 */ // Label 507: @17034
7008 /* 17034 */ GIM_Try, /*On fail goto*//*Label 508*/ GIMT_Encode4(17111), // Rule ID 25040 //
7009 /* 17039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7010 /* 17042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7011 /* 17045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7012 /* 17049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7013 /* 17053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7014 /* 17057 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7015 /* 17061 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7016 /* 17065 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7017 /* 17070 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7018 /* 17074 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7019 /* 17078 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7020 /* 17082 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
7021 /* 17086 */ // MIs[2] src
7022 /* 17086 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7023 /* 17091 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7024 /* 17095 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7025 /* 17097 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7026 /* 17097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
7027 /* 17100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7028 /* 17102 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7029 /* 17106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7030 /* 17109 */ GIR_RootConstrainSelectedInstOperands,
7031 /* 17110 */ // GIR_Coverage, 25040,
7032 /* 17110 */ GIR_EraseRootFromParent_Done,
7033 /* 17111 */ // Label 508: @17111
7034 /* 17111 */ GIM_Try, /*On fail goto*//*Label 509*/ GIMT_Encode4(17188), // Rule ID 17343 //
7035 /* 17116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7036 /* 17119 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7037 /* 17122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7038 /* 17126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7039 /* 17130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7040 /* 17134 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7041 /* 17138 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7042 /* 17142 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7043 /* 17147 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7044 /* 17151 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7045 /* 17155 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7046 /* 17159 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
7047 /* 17163 */ // MIs[2] src
7048 /* 17163 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7049 /* 17168 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
7050 /* 17172 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7051 /* 17174 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7052 /* 17174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
7053 /* 17177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7054 /* 17179 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7055 /* 17183 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7056 /* 17186 */ GIR_RootConstrainSelectedInstOperands,
7057 /* 17187 */ // GIR_Coverage, 17343,
7058 /* 17187 */ GIR_EraseRootFromParent_Done,
7059 /* 17188 */ // Label 509: @17188
7060 /* 17188 */ GIM_Try, /*On fail goto*//*Label 510*/ GIMT_Encode4(17265), // Rule ID 17355 //
7061 /* 17193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7062 /* 17196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7063 /* 17199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7064 /* 17203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7065 /* 17207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7066 /* 17211 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7067 /* 17215 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7068 /* 17219 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7069 /* 17224 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7070 /* 17228 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7071 /* 17232 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7072 /* 17236 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
7073 /* 17240 */ // MIs[2] src
7074 /* 17240 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7075 /* 17245 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7076 /* 17249 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7077 /* 17251 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7078 /* 17251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
7079 /* 17254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7080 /* 17256 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7081 /* 17260 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7082 /* 17263 */ GIR_RootConstrainSelectedInstOperands,
7083 /* 17264 */ // GIR_Coverage, 17355,
7084 /* 17264 */ GIR_EraseRootFromParent_Done,
7085 /* 17265 */ // Label 510: @17265
7086 /* 17265 */ GIM_Try, /*On fail goto*//*Label 511*/ GIMT_Encode4(17323), // Rule ID 25022 //
7087 /* 17270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7088 /* 17273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7089 /* 17277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7090 /* 17281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7091 /* 17285 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7092 /* 17289 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7093 /* 17293 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7094 /* 17298 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7095 /* 17302 */ // MIs[0] src
7096 /* 17302 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
7097 /* 17307 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7098 /* 17309 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7099 /* 17309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
7100 /* 17312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7101 /* 17314 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7102 /* 17318 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7103 /* 17321 */ GIR_RootConstrainSelectedInstOperands,
7104 /* 17322 */ // GIR_Coverage, 25022,
7105 /* 17322 */ GIR_EraseRootFromParent_Done,
7106 /* 17323 */ // Label 511: @17323
7107 /* 17323 */ GIM_Try, /*On fail goto*//*Label 512*/ GIMT_Encode4(17432), // Rule ID 26075 //
7108 /* 17328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7109 /* 17331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7110 /* 17335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7111 /* 17339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7112 /* 17343 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7113 /* 17347 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7114 /* 17351 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7115 /* 17355 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7116 /* 17360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7117 /* 17364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7118 /* 17366 */ // (and:{ *:[i32] } (rotl:{ *:[i32] } -2:{ *:[i32] }, GR8:{ *:[i8] }:$src2), GR32:{ *:[i32] }:$src1) => (BTR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
7119 /* 17366 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
7120 /* 17369 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7121 /* 17373 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7122 /* 17378 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7123 /* 17380 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7124 /* 17383 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7125 /* 17387 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7126 /* 17392 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7127 /* 17395 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7128 /* 17399 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7129 /* 17402 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7130 /* 17407 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7131 /* 17412 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7132 /* 17417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
7133 /* 17420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7134 /* 17422 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7135 /* 17424 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7136 /* 17427 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7137 /* 17430 */ GIR_RootConstrainSelectedInstOperands,
7138 /* 17431 */ // GIR_Coverage, 26075,
7139 /* 17431 */ GIR_EraseRootFromParent_Done,
7140 /* 17432 */ // Label 512: @17432
7141 /* 17432 */ GIM_Try, /*On fail goto*//*Label 513*/ GIMT_Encode4(17486), // Rule ID 17337 //
7142 /* 17437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7143 /* 17440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7144 /* 17443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7145 /* 17447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7146 /* 17451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7147 /* 17455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7148 /* 17459 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7149 /* 17463 */ // MIs[1] src
7150 /* 17463 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
7151 /* 17468 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7152 /* 17472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7153 /* 17474 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
7154 /* 17474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
7155 /* 17477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7156 /* 17479 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
7157 /* 17481 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7158 /* 17484 */ GIR_RootConstrainSelectedInstOperands,
7159 /* 17485 */ // GIR_Coverage, 17337,
7160 /* 17485 */ GIR_EraseRootFromParent_Done,
7161 /* 17486 */ // Label 513: @17486
7162 /* 17486 */ GIM_Try, /*On fail goto*//*Label 514*/ GIMT_Encode4(17595), // Rule ID 22813 //
7163 /* 17491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7164 /* 17494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7165 /* 17498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7166 /* 17502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7167 /* 17506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7168 /* 17510 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7169 /* 17514 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7170 /* 17518 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7171 /* 17522 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7172 /* 17527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7173 /* 17529 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (rotl:{ *:[i32] } -2:{ *:[i32] }, GR8:{ *:[i8] }:$src2)) => (BTR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
7174 /* 17529 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
7175 /* 17532 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7176 /* 17536 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7177 /* 17541 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7178 /* 17543 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
7179 /* 17546 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7180 /* 17550 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7181 /* 17555 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7182 /* 17558 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7183 /* 17562 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7184 /* 17565 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7185 /* 17570 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
7186 /* 17575 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7187 /* 17580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
7188 /* 17583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7189 /* 17585 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7190 /* 17587 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7191 /* 17590 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7192 /* 17593 */ GIR_RootConstrainSelectedInstOperands,
7193 /* 17594 */ // GIR_Coverage, 22813,
7194 /* 17594 */ GIR_EraseRootFromParent_Done,
7195 /* 17595 */ // Label 514: @17595
7196 /* 17595 */ GIM_Try, /*On fail goto*//*Label 515*/ GIMT_Encode4(17660), // Rule ID 22665 //
7197 /* 17600 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7198 /* 17603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7199 /* 17607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7200 /* 17611 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(65535),
7201 /* 17622 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 65535:{ *:[i32] }) => (MOVZX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src1, sub_16bit:{ *:[i32] }))
7202 /* 17622 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
7203 /* 17625 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7204 /* 17629 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7205 /* 17634 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src1
7206 /* 17640 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
7207 /* 17645 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
7208 /* 17650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
7209 /* 17653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7210 /* 17655 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7211 /* 17658 */ GIR_RootConstrainSelectedInstOperands,
7212 /* 17659 */ // GIR_Coverage, 22665,
7213 /* 17659 */ GIR_EraseRootFromParent_Done,
7214 /* 17660 */ // Label 515: @17660
7215 /* 17660 */ GIM_Try, /*On fail goto*//*Label 516*/ GIMT_Encode4(17725), // Rule ID 22666 //
7216 /* 17665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7217 /* 17668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7218 /* 17672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7219 /* 17676 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
7220 /* 17687 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 255:{ *:[i32] }) => (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src1, sub_8bit:{ *:[i32] }))
7221 /* 17687 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
7222 /* 17690 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7223 /* 17694 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7224 /* 17699 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
7225 /* 17705 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
7226 /* 17710 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
7227 /* 17715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
7228 /* 17718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7229 /* 17720 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7230 /* 17723 */ GIR_RootConstrainSelectedInstOperands,
7231 /* 17724 */ // GIR_Coverage, 22666,
7232 /* 17724 */ GIR_EraseRootFromParent_Done,
7233 /* 17725 */ // Label 516: @17725
7234 /* 17725 */ GIM_Try, /*On fail goto*//*Label 517*/ GIMT_Encode4(17769), // Rule ID 22893 //
7235 /* 17730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7236 /* 17733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7237 /* 17736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7238 /* 17740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7239 /* 17744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7240 /* 17748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7241 /* 17752 */ // MIs[1] Operand 1
7242 /* 17752 */ // No operand predicates
7243 /* 17752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7244 /* 17754 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
7245 /* 17754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri),
7246 /* 17757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7247 /* 17759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7248 /* 17761 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7249 /* 17764 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7250 /* 17767 */ GIR_RootConstrainSelectedInstOperands,
7251 /* 17768 */ // GIR_Coverage, 22893,
7252 /* 17768 */ GIR_EraseRootFromParent_Done,
7253 /* 17769 */ // Label 517: @17769
7254 /* 17769 */ GIM_Try, /*On fail goto*//*Label 518*/ GIMT_Encode4(17813), // Rule ID 22983 //
7255 /* 17774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7256 /* 17777 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7257 /* 17780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7258 /* 17784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7259 /* 17788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7260 /* 17792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7261 /* 17796 */ // MIs[1] Operand 1
7262 /* 17796 */ // No operand predicates
7263 /* 17796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7264 /* 17798 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
7265 /* 17798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri_ND),
7266 /* 17801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7267 /* 17803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7268 /* 17805 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7269 /* 17808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7270 /* 17811 */ GIR_RootConstrainSelectedInstOperands,
7271 /* 17812 */ // GIR_Coverage, 22983,
7272 /* 17812 */ GIR_EraseRootFromParent_Done,
7273 /* 17813 */ // Label 518: @17813
7274 /* 17813 */ GIM_Try, /*On fail goto*//*Label 519*/ GIMT_Encode4(17875), // Rule ID 17533 //
7275 /* 17818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7276 /* 17821 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7277 /* 17824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7278 /* 17828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7279 /* 17832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7280 /* 17836 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7281 /* 17840 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7282 /* 17844 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7283 /* 17849 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7284 /* 17853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7285 /* 17857 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7286 /* 17859 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7287 /* 17859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
7288 /* 17862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7289 /* 17864 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7290 /* 17868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7291 /* 17870 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7292 /* 17873 */ GIR_RootConstrainSelectedInstOperands,
7293 /* 17874 */ // GIR_Coverage, 17533,
7294 /* 17874 */ GIR_EraseRootFromParent_Done,
7295 /* 17875 */ // Label 519: @17875
7296 /* 17875 */ GIM_Try, /*On fail goto*//*Label 520*/ GIMT_Encode4(17937), // Rule ID 17537 //
7297 /* 17880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7298 /* 17883 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7299 /* 17886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7300 /* 17890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7301 /* 17894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7302 /* 17898 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7303 /* 17902 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7304 /* 17906 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7305 /* 17911 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7306 /* 17915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7307 /* 17919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7308 /* 17921 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7309 /* 17921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
7310 /* 17924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7311 /* 17926 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7312 /* 17930 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7313 /* 17932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7314 /* 17935 */ GIR_RootConstrainSelectedInstOperands,
7315 /* 17936 */ // GIR_Coverage, 17537,
7316 /* 17936 */ GIR_EraseRootFromParent_Done,
7317 /* 17937 */ // Label 520: @17937
7318 /* 17937 */ GIM_Try, /*On fail goto*//*Label 521*/ GIMT_Encode4(17999), // Rule ID 25134 //
7319 /* 17942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7320 /* 17945 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7321 /* 17948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7322 /* 17952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7323 /* 17956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7324 /* 17960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7325 /* 17964 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7326 /* 17968 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7327 /* 17972 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7328 /* 17977 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7329 /* 17981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7330 /* 17983 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7331 /* 17983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
7332 /* 17986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7333 /* 17988 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7334 /* 17992 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7335 /* 17994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7336 /* 17997 */ GIR_RootConstrainSelectedInstOperands,
7337 /* 17998 */ // GIR_Coverage, 25134,
7338 /* 17998 */ GIR_EraseRootFromParent_Done,
7339 /* 17999 */ // Label 521: @17999
7340 /* 17999 */ GIM_Try, /*On fail goto*//*Label 522*/ GIMT_Encode4(18061), // Rule ID 25138 //
7341 /* 18004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7342 /* 18007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7343 /* 18010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7344 /* 18014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7345 /* 18018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7346 /* 18022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7347 /* 18026 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
7348 /* 18030 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
7349 /* 18034 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7350 /* 18039 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7351 /* 18043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7352 /* 18045 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7353 /* 18045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
7354 /* 18048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7355 /* 18050 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7356 /* 18054 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7357 /* 18056 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7358 /* 18059 */ GIR_RootConstrainSelectedInstOperands,
7359 /* 18060 */ // GIR_Coverage, 25138,
7360 /* 18060 */ GIR_EraseRootFromParent_Done,
7361 /* 18061 */ // Label 522: @18061
7362 /* 18061 */ GIM_Try, /*On fail goto*//*Label 523*/ GIMT_Encode4(18097), // Rule ID 22885 //
7363 /* 18066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7364 /* 18069 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7365 /* 18072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7366 /* 18076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7367 /* 18080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7368 /* 18084 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7369 /* 18084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr),
7370 /* 18089 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7371 /* 18095 */ GIR_RootConstrainSelectedInstOperands,
7372 /* 18096 */ // GIR_Coverage, 22885,
7373 /* 18096 */ GIR_Done,
7374 /* 18097 */ // Label 523: @18097
7375 /* 18097 */ GIM_Try, /*On fail goto*//*Label 524*/ GIMT_Encode4(18133), // Rule ID 22975 //
7376 /* 18102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7377 /* 18105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
7378 /* 18108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7379 /* 18112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7380 /* 18116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
7381 /* 18120 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
7382 /* 18120 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr_ND),
7383 /* 18125 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7384 /* 18131 */ GIR_RootConstrainSelectedInstOperands,
7385 /* 18132 */ // GIR_Coverage, 22975,
7386 /* 18132 */ GIR_Done,
7387 /* 18133 */ // Label 524: @18133
7388 /* 18133 */ GIM_Reject,
7389 /* 18134 */ // Label 498: @18134
7390 /* 18134 */ GIM_Reject,
7391 /* 18135 */ // Label 453: @18135
7392 /* 18135 */ GIM_Try, /*On fail goto*//*Label 525*/ GIMT_Encode4(19838),
7393 /* 18140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
7394 /* 18143 */ GIM_Try, /*On fail goto*//*Label 526*/ GIMT_Encode4(18235), // Rule ID 17536 //
7395 /* 18148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7396 /* 18151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7397 /* 18154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7398 /* 18158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7399 /* 18162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7400 /* 18166 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7401 /* 18170 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7402 /* 18174 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7403 /* 18179 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7404 /* 18183 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7405 /* 18187 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
7406 /* 18191 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7407 /* 18194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
7408 /* 18198 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
7409 /* 18202 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7410 /* 18204 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7411 /* 18211 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ANDN64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7412 /* 18211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
7413 /* 18214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7414 /* 18216 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7415 /* 18220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7416 /* 18224 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7417 /* 18227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7418 /* 18233 */ GIR_RootConstrainSelectedInstOperands,
7419 /* 18234 */ // GIR_Coverage, 17536,
7420 /* 18234 */ GIR_EraseRootFromParent_Done,
7421 /* 18235 */ // Label 526: @18235
7422 /* 18235 */ GIM_Try, /*On fail goto*//*Label 527*/ GIMT_Encode4(18327), // Rule ID 17540 //
7423 /* 18240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7424 /* 18243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7425 /* 18246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7426 /* 18250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7427 /* 18254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7428 /* 18258 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7429 /* 18262 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7430 /* 18266 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7431 /* 18271 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7432 /* 18275 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7433 /* 18279 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
7434 /* 18283 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7435 /* 18286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
7436 /* 18290 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
7437 /* 18294 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7438 /* 18296 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7439 /* 18303 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ANDN64rm_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7440 /* 18303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
7441 /* 18306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7442 /* 18308 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7443 /* 18312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7444 /* 18316 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7445 /* 18319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7446 /* 18325 */ GIR_RootConstrainSelectedInstOperands,
7447 /* 18326 */ // GIR_Coverage, 17540,
7448 /* 18326 */ GIR_EraseRootFromParent_Done,
7449 /* 18327 */ // Label 527: @18327
7450 /* 18327 */ GIM_Try, /*On fail goto*//*Label 528*/ GIMT_Encode4(18419), // Rule ID 25137 //
7451 /* 18332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7452 /* 18335 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7453 /* 18338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7454 /* 18342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7455 /* 18346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7456 /* 18350 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7457 /* 18353 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7458 /* 18357 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7459 /* 18361 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7460 /* 18365 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7461 /* 18369 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
7462 /* 18373 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7463 /* 18377 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7464 /* 18382 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7465 /* 18386 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7466 /* 18388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7467 /* 18395 */ // (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7468 /* 18395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
7469 /* 18398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7470 /* 18400 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
7471 /* 18404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7472 /* 18408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7473 /* 18411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7474 /* 18417 */ GIR_RootConstrainSelectedInstOperands,
7475 /* 18418 */ // GIR_Coverage, 25137,
7476 /* 18418 */ GIR_EraseRootFromParent_Done,
7477 /* 18419 */ // Label 528: @18419
7478 /* 18419 */ GIM_Try, /*On fail goto*//*Label 529*/ GIMT_Encode4(18511), // Rule ID 25141 //
7479 /* 18424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7480 /* 18427 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7481 /* 18430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7482 /* 18434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7483 /* 18438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7484 /* 18442 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7485 /* 18445 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7486 /* 18449 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7487 /* 18453 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7488 /* 18457 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7489 /* 18461 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
7490 /* 18465 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7491 /* 18469 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7492 /* 18474 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7493 /* 18478 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7494 /* 18480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7495 /* 18487 */ // (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rm_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7496 /* 18487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
7497 /* 18490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7498 /* 18492 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
7499 /* 18496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7500 /* 18500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7501 /* 18503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
7502 /* 18509 */ GIR_RootConstrainSelectedInstOperands,
7503 /* 18510 */ // GIR_Coverage, 25141,
7504 /* 18510 */ GIR_EraseRootFromParent_Done,
7505 /* 18511 */ // Label 529: @18511
7506 /* 18511 */ GIM_Try, /*On fail goto*//*Label 530*/ GIMT_Encode4(18579), // Rule ID 26105 //
7507 /* 18516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7508 /* 18519 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7509 /* 18522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7510 /* 18526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7511 /* 18530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7512 /* 18534 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7513 /* 18537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7514 /* 18541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7515 /* 18545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7516 /* 18549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7517 /* 18551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7518 /* 18558 */ // (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (AND64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7519 /* 18558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
7520 /* 18561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7521 /* 18563 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7522 /* 18565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7523 /* 18569 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7524 /* 18572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7525 /* 18577 */ GIR_RootConstrainSelectedInstOperands,
7526 /* 18578 */ // GIR_Coverage, 26105,
7527 /* 18578 */ GIR_EraseRootFromParent_Done,
7528 /* 18579 */ // Label 530: @18579
7529 /* 18579 */ GIM_Try, /*On fail goto*//*Label 531*/ GIMT_Encode4(18647), // Rule ID 26124 //
7530 /* 18584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7531 /* 18587 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7532 /* 18590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7533 /* 18594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7534 /* 18598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7535 /* 18602 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7536 /* 18605 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7537 /* 18609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7538 /* 18613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7539 /* 18617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7540 /* 18619 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7541 /* 18626 */ // (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (AND64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7542 /* 18626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm_ND),
7543 /* 18629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7544 /* 18631 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7545 /* 18633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7546 /* 18637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7547 /* 18640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7548 /* 18645 */ GIR_RootConstrainSelectedInstOperands,
7549 /* 18646 */ // GIR_Coverage, 26124,
7550 /* 18646 */ GIR_EraseRootFromParent_Done,
7551 /* 18647 */ // Label 531: @18647
7552 /* 18647 */ GIM_Try, /*On fail goto*//*Label 532*/ GIMT_Encode4(18715), // Rule ID 22890 //
7553 /* 18652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7554 /* 18655 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7555 /* 18658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7556 /* 18662 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7557 /* 18666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7558 /* 18670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7559 /* 18674 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7560 /* 18677 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7561 /* 18681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7562 /* 18685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7563 /* 18687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7564 /* 18694 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (AND64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7565 /* 18694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
7566 /* 18697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7567 /* 18699 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7568 /* 18701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7569 /* 18705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7570 /* 18708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7571 /* 18713 */ GIR_RootConstrainSelectedInstOperands,
7572 /* 18714 */ // GIR_Coverage, 22890,
7573 /* 18714 */ GIR_EraseRootFromParent_Done,
7574 /* 18715 */ // Label 532: @18715
7575 /* 18715 */ GIM_Try, /*On fail goto*//*Label 533*/ GIMT_Encode4(18783), // Rule ID 22980 //
7576 /* 18720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7577 /* 18723 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7578 /* 18726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7579 /* 18730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7580 /* 18734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7581 /* 18738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7582 /* 18742 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7583 /* 18745 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7584 /* 18749 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7585 /* 18753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7586 /* 18755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7587 /* 18762 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (AND64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
7588 /* 18762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm_ND),
7589 /* 18765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7590 /* 18767 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7591 /* 18769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7592 /* 18773 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7593 /* 18776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7594 /* 18781 */ GIR_RootConstrainSelectedInstOperands,
7595 /* 18782 */ // GIR_Coverage, 22980,
7596 /* 18782 */ GIR_EraseRootFromParent_Done,
7597 /* 18783 */ // Label 533: @18783
7598 /* 18783 */ GIM_Try, /*On fail goto*//*Label 534*/ GIMT_Encode4(18860), // Rule ID 25029 //
7599 /* 18788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7600 /* 18791 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7601 /* 18794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7602 /* 18798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7603 /* 18802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7604 /* 18806 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7605 /* 18810 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7606 /* 18814 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7607 /* 18819 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7608 /* 18823 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7609 /* 18827 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7610 /* 18831 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7611 /* 18835 */ // MIs[2] src
7612 /* 18835 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7613 /* 18840 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7614 /* 18844 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7615 /* 18846 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7616 /* 18846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7617 /* 18849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7618 /* 18851 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7619 /* 18855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7620 /* 18858 */ GIR_RootConstrainSelectedInstOperands,
7621 /* 18859 */ // GIR_Coverage, 25029,
7622 /* 18859 */ GIR_EraseRootFromParent_Done,
7623 /* 18860 */ // Label 534: @18860
7624 /* 18860 */ GIM_Try, /*On fail goto*//*Label 535*/ GIMT_Encode4(18937), // Rule ID 25041 //
7625 /* 18865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7626 /* 18868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7627 /* 18871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7628 /* 18875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7629 /* 18879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7630 /* 18883 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7631 /* 18887 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7632 /* 18891 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7633 /* 18896 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7634 /* 18900 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7635 /* 18904 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7636 /* 18908 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7637 /* 18912 */ // MIs[2] src
7638 /* 18912 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7639 /* 18917 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7640 /* 18921 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7641 /* 18923 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7642 /* 18923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7643 /* 18926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7644 /* 18928 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7645 /* 18932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7646 /* 18935 */ GIR_RootConstrainSelectedInstOperands,
7647 /* 18936 */ // GIR_Coverage, 25041,
7648 /* 18936 */ GIR_EraseRootFromParent_Done,
7649 /* 18937 */ // Label 535: @18937
7650 /* 18937 */ GIM_Try, /*On fail goto*//*Label 536*/ GIMT_Encode4(19014), // Rule ID 17344 //
7651 /* 18942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7652 /* 18945 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7653 /* 18948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7654 /* 18952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7655 /* 18956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7656 /* 18960 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7657 /* 18964 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7658 /* 18968 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7659 /* 18973 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7660 /* 18977 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7661 /* 18981 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7662 /* 18985 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7663 /* 18989 */ // MIs[2] src
7664 /* 18989 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7665 /* 18994 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
7666 /* 18998 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7667 /* 19000 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7668 /* 19000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7669 /* 19003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7670 /* 19005 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7671 /* 19009 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7672 /* 19012 */ GIR_RootConstrainSelectedInstOperands,
7673 /* 19013 */ // GIR_Coverage, 17344,
7674 /* 19013 */ GIR_EraseRootFromParent_Done,
7675 /* 19014 */ // Label 536: @19014
7676 /* 19014 */ GIM_Try, /*On fail goto*//*Label 537*/ GIMT_Encode4(19091), // Rule ID 17356 //
7677 /* 19019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7678 /* 19022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7679 /* 19025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7680 /* 19029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7681 /* 19033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7682 /* 19037 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7683 /* 19041 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7684 /* 19045 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7685 /* 19050 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7686 /* 19054 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7687 /* 19058 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7688 /* 19062 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7689 /* 19066 */ // MIs[2] src
7690 /* 19066 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7691 /* 19071 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7692 /* 19075 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7693 /* 19077 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7694 /* 19077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7695 /* 19080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7696 /* 19082 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7697 /* 19086 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7698 /* 19089 */ GIR_RootConstrainSelectedInstOperands,
7699 /* 19090 */ // GIR_Coverage, 17356,
7700 /* 19090 */ GIR_EraseRootFromParent_Done,
7701 /* 19091 */ // Label 537: @19091
7702 /* 19091 */ GIM_Try, /*On fail goto*//*Label 538*/ GIMT_Encode4(19149), // Rule ID 25023 //
7703 /* 19096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7704 /* 19099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7705 /* 19103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7706 /* 19107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7707 /* 19111 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7708 /* 19115 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7709 /* 19119 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7710 /* 19124 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7711 /* 19128 */ // MIs[0] src
7712 /* 19128 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
7713 /* 19133 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7714 /* 19135 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7715 /* 19135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7716 /* 19138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7717 /* 19140 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7718 /* 19144 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7719 /* 19147 */ GIR_RootConstrainSelectedInstOperands,
7720 /* 19148 */ // GIR_Coverage, 25023,
7721 /* 19148 */ GIR_EraseRootFromParent_Done,
7722 /* 19149 */ // Label 538: @19149
7723 /* 19149 */ GIM_Try, /*On fail goto*//*Label 539*/ GIMT_Encode4(19258), // Rule ID 26081 //
7724 /* 19154 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7725 /* 19157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7726 /* 19161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7727 /* 19165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7728 /* 19169 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7729 /* 19173 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7730 /* 19177 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7731 /* 19181 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7732 /* 19186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7733 /* 19190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7734 /* 19192 */ // (and:{ *:[i64] } (rotl:{ *:[i64] } -2:{ *:[i64] }, GR8:{ *:[i8] }:$src2), GR64:{ *:[i64] }:$src1) => (BTR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
7735 /* 19192 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7736 /* 19195 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7737 /* 19199 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7738 /* 19204 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7739 /* 19206 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7740 /* 19209 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7741 /* 19213 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7742 /* 19218 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7743 /* 19221 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7744 /* 19225 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7745 /* 19228 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7746 /* 19233 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7747 /* 19238 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7748 /* 19243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7749 /* 19246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7750 /* 19248 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7751 /* 19250 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7752 /* 19253 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7753 /* 19256 */ GIR_RootConstrainSelectedInstOperands,
7754 /* 19257 */ // GIR_Coverage, 26081,
7755 /* 19257 */ GIR_EraseRootFromParent_Done,
7756 /* 19258 */ // Label 539: @19258
7757 /* 19258 */ GIM_Try, /*On fail goto*//*Label 540*/ GIMT_Encode4(19312), // Rule ID 17338 //
7758 /* 19263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7759 /* 19266 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7760 /* 19269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7761 /* 19273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7762 /* 19277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7763 /* 19281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7764 /* 19285 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7765 /* 19289 */ // MIs[1] src
7766 /* 19289 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
7767 /* 19294 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7768 /* 19298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7769 /* 19300 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7770 /* 19300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7771 /* 19303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7772 /* 19305 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
7773 /* 19307 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7774 /* 19310 */ GIR_RootConstrainSelectedInstOperands,
7775 /* 19311 */ // GIR_Coverage, 17338,
7776 /* 19311 */ GIR_EraseRootFromParent_Done,
7777 /* 19312 */ // Label 540: @19312
7778 /* 19312 */ GIM_Try, /*On fail goto*//*Label 541*/ GIMT_Encode4(19421), // Rule ID 22819 //
7779 /* 19317 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7780 /* 19320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7781 /* 19324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7782 /* 19328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7783 /* 19332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7784 /* 19336 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7785 /* 19340 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7786 /* 19344 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7787 /* 19348 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7788 /* 19353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7789 /* 19355 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (rotl:{ *:[i64] } -2:{ *:[i64] }, GR8:{ *:[i8] }:$src2)) => (BTR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
7790 /* 19355 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7791 /* 19358 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7792 /* 19362 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7793 /* 19367 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7794 /* 19369 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7795 /* 19372 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7796 /* 19376 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7797 /* 19381 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7798 /* 19384 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7799 /* 19388 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7800 /* 19391 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7801 /* 19396 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7802 /* 19401 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7803 /* 19406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7804 /* 19409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7805 /* 19411 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7806 /* 19413 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7807 /* 19416 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7808 /* 19419 */ GIR_RootConstrainSelectedInstOperands,
7809 /* 19420 */ // GIR_Coverage, 22819,
7810 /* 19420 */ GIR_EraseRootFromParent_Done,
7811 /* 19421 */ // Label 541: @19421
7812 /* 19421 */ GIM_Try, /*On fail goto*//*Label 542*/ GIMT_Encode4(19469), // Rule ID 22894 //
7813 /* 19426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7814 /* 19429 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7815 /* 19432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7816 /* 19436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7817 /* 19440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7818 /* 19444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7819 /* 19448 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7820 /* 19452 */ // MIs[1] Operand 1
7821 /* 19452 */ // No operand predicates
7822 /* 19452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7823 /* 19454 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
7824 /* 19454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32),
7825 /* 19457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7826 /* 19459 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7827 /* 19461 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7828 /* 19464 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7829 /* 19467 */ GIR_RootConstrainSelectedInstOperands,
7830 /* 19468 */ // GIR_Coverage, 22894,
7831 /* 19468 */ GIR_EraseRootFromParent_Done,
7832 /* 19469 */ // Label 542: @19469
7833 /* 19469 */ GIM_Try, /*On fail goto*//*Label 543*/ GIMT_Encode4(19517), // Rule ID 22984 //
7834 /* 19474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7835 /* 19477 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7836 /* 19480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7837 /* 19484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7838 /* 19488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7839 /* 19492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7840 /* 19496 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7841 /* 19500 */ // MIs[1] Operand 1
7842 /* 19500 */ // No operand predicates
7843 /* 19500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7844 /* 19502 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
7845 /* 19502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32_ND),
7846 /* 19505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7847 /* 19507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7848 /* 19509 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7849 /* 19512 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7850 /* 19515 */ GIR_RootConstrainSelectedInstOperands,
7851 /* 19516 */ // GIR_Coverage, 22984,
7852 /* 19516 */ GIR_EraseRootFromParent_Done,
7853 /* 19517 */ // Label 543: @19517
7854 /* 19517 */ GIM_Try, /*On fail goto*//*Label 544*/ GIMT_Encode4(19579), // Rule ID 17534 //
7855 /* 19522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7856 /* 19525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7857 /* 19528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7858 /* 19532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7859 /* 19536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7860 /* 19540 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7861 /* 19544 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7862 /* 19548 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7863 /* 19553 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7864 /* 19557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7865 /* 19561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7866 /* 19563 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7867 /* 19563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7868 /* 19566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7869 /* 19568 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7870 /* 19572 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7871 /* 19574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7872 /* 19577 */ GIR_RootConstrainSelectedInstOperands,
7873 /* 19578 */ // GIR_Coverage, 17534,
7874 /* 19578 */ GIR_EraseRootFromParent_Done,
7875 /* 19579 */ // Label 544: @19579
7876 /* 19579 */ GIM_Try, /*On fail goto*//*Label 545*/ GIMT_Encode4(19641), // Rule ID 17538 //
7877 /* 19584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7878 /* 19587 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7879 /* 19590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7880 /* 19594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7881 /* 19598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7882 /* 19602 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7883 /* 19606 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7884 /* 19610 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7885 /* 19615 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7886 /* 19619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7887 /* 19623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7888 /* 19625 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7889 /* 19625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7890 /* 19628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7891 /* 19630 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7892 /* 19634 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7893 /* 19636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7894 /* 19639 */ GIR_RootConstrainSelectedInstOperands,
7895 /* 19640 */ // GIR_Coverage, 17538,
7896 /* 19640 */ GIR_EraseRootFromParent_Done,
7897 /* 19641 */ // Label 545: @19641
7898 /* 19641 */ GIM_Try, /*On fail goto*//*Label 546*/ GIMT_Encode4(19703), // Rule ID 25135 //
7899 /* 19646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7900 /* 19649 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7901 /* 19652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7902 /* 19656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7903 /* 19660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7904 /* 19664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7905 /* 19668 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7906 /* 19672 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7907 /* 19676 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7908 /* 19681 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7909 /* 19685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7910 /* 19687 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7911 /* 19687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7912 /* 19690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7913 /* 19692 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7914 /* 19696 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7915 /* 19698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7916 /* 19701 */ GIR_RootConstrainSelectedInstOperands,
7917 /* 19702 */ // GIR_Coverage, 25135,
7918 /* 19702 */ GIR_EraseRootFromParent_Done,
7919 /* 19703 */ // Label 546: @19703
7920 /* 19703 */ GIM_Try, /*On fail goto*//*Label 547*/ GIMT_Encode4(19765), // Rule ID 25139 //
7921 /* 19708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7922 /* 19711 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7923 /* 19714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7924 /* 19718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7925 /* 19722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7926 /* 19726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7927 /* 19730 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7928 /* 19734 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7929 /* 19738 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7930 /* 19743 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7931 /* 19747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7932 /* 19749 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7933 /* 19749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7934 /* 19752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7935 /* 19754 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7936 /* 19758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7937 /* 19760 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7938 /* 19763 */ GIR_RootConstrainSelectedInstOperands,
7939 /* 19764 */ // GIR_Coverage, 25139,
7940 /* 19764 */ GIR_EraseRootFromParent_Done,
7941 /* 19765 */ // Label 547: @19765
7942 /* 19765 */ GIM_Try, /*On fail goto*//*Label 548*/ GIMT_Encode4(19801), // Rule ID 22886 //
7943 /* 19770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7944 /* 19773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7945 /* 19776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7946 /* 19780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7947 /* 19784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7948 /* 19788 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7949 /* 19788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr),
7950 /* 19793 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7951 /* 19799 */ GIR_RootConstrainSelectedInstOperands,
7952 /* 19800 */ // GIR_Coverage, 22886,
7953 /* 19800 */ GIR_Done,
7954 /* 19801 */ // Label 548: @19801
7955 /* 19801 */ GIM_Try, /*On fail goto*//*Label 549*/ GIMT_Encode4(19837), // Rule ID 22976 //
7956 /* 19806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7957 /* 19809 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7958 /* 19812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7959 /* 19816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7960 /* 19820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7961 /* 19824 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7962 /* 19824 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr_ND),
7963 /* 19829 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7964 /* 19835 */ GIR_RootConstrainSelectedInstOperands,
7965 /* 19836 */ // GIR_Coverage, 22976,
7966 /* 19836 */ GIR_Done,
7967 /* 19837 */ // Label 549: @19837
7968 /* 19837 */ GIM_Reject,
7969 /* 19838 */ // Label 525: @19838
7970 /* 19838 */ GIM_Reject,
7971 /* 19839 */ // Label 454: @19839
7972 /* 19839 */ GIM_Try, /*On fail goto*//*Label 550*/ GIMT_Encode4(20184),
7973 /* 19844 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
7974 /* 19847 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
7975 /* 19850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7976 /* 19854 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(19974), // Rule ID 19486 //
7977 /* 19859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7978 /* 19863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7979 /* 19867 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7980 /* 19871 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7981 /* 19875 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7982 /* 19880 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7983 /* 19884 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7984 /* 19890 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7985 /* 19892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7986 /* 19896 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7987 /* 19898 */ // (and:{ *:[v2i1] } (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, immAllOnesV:{ *:[v2i1] }), VK2:{ *:[v2i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
7988 /* 19898 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7989 /* 19901 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7990 /* 19905 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7991 /* 19910 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7992 /* 19914 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7993 /* 19919 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7994 /* 19922 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7995 /* 19926 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7996 /* 19931 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7997 /* 19935 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7998 /* 19940 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7999 /* 19943 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8000 /* 19947 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8001 /* 19952 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8002 /* 19955 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8003 /* 19958 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8004 /* 19960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8005 /* 19963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8006 /* 19965 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8007 /* 19968 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
8008 /* 19973 */ // GIR_Coverage, 19486,
8009 /* 19973 */ GIR_EraseRootFromParent_Done,
8010 /* 19974 */ // Label 551: @19974
8011 /* 19974 */ GIM_Try, /*On fail goto*//*Label 552*/ GIMT_Encode4(20094), // Rule ID 25401 //
8012 /* 19979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8013 /* 19983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8014 /* 19987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8015 /* 19991 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
8016 /* 19995 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
8017 /* 19999 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8018 /* 20004 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8019 /* 20008 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8020 /* 20014 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8021 /* 20016 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8022 /* 20018 */ // (and:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src2, (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, immAllOnesV:{ *:[v2i1] })) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
8023 /* 20018 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8024 /* 20021 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8025 /* 20025 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8026 /* 20030 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
8027 /* 20034 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8028 /* 20039 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8029 /* 20042 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8030 /* 20046 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8031 /* 20051 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8032 /* 20055 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8033 /* 20060 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8034 /* 20063 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8035 /* 20067 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8036 /* 20072 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8037 /* 20075 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8038 /* 20078 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8039 /* 20080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8040 /* 20083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8041 /* 20085 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8042 /* 20088 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
8043 /* 20093 */ // GIR_Coverage, 25401,
8044 /* 20093 */ GIR_EraseRootFromParent_Done,
8045 /* 20094 */ // Label 552: @20094
8046 /* 20094 */ GIM_Try, /*On fail goto*//*Label 553*/ GIMT_Encode4(20183), // Rule ID 19482 //
8047 /* 20099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8048 /* 20103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
8049 /* 20107 */ // (and:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, VK2:{ *:[v2i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KANDWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
8050 /* 20107 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8051 /* 20110 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8052 /* 20114 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8053 /* 20119 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8054 /* 20123 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8055 /* 20128 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8056 /* 20131 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8057 /* 20135 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8058 /* 20140 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8059 /* 20144 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8060 /* 20149 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8061 /* 20152 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8062 /* 20156 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8063 /* 20161 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8064 /* 20164 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8065 /* 20167 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8066 /* 20169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8067 /* 20172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8068 /* 20174 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8069 /* 20177 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
8070 /* 20182 */ // GIR_Coverage, 19482,
8071 /* 20182 */ GIR_EraseRootFromParent_Done,
8072 /* 20183 */ // Label 553: @20183
8073 /* 20183 */ GIM_Reject,
8074 /* 20184 */ // Label 550: @20184
8075 /* 20184 */ GIM_Reject,
8076 /* 20185 */ // Label 455: @20185
8077 /* 20185 */ GIM_Try, /*On fail goto*//*Label 554*/ GIMT_Encode4(20526),
8078 /* 20190 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
8079 /* 20193 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8080 /* 20196 */ GIM_Try, /*On fail goto*//*Label 555*/ GIMT_Encode4(20258), // Rule ID 23393 //
8081 /* 20201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8082 /* 20204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8083 /* 20208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8084 /* 20212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8085 /* 20216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8086 /* 20219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8087 /* 20223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8088 /* 20227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8089 /* 20231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8090 /* 20233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8091 /* 20240 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8092 /* 20240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8093 /* 20243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8094 /* 20245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8095 /* 20247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8096 /* 20251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8097 /* 20256 */ GIR_RootConstrainSelectedInstOperands,
8098 /* 20257 */ // GIR_Coverage, 23393,
8099 /* 20257 */ GIR_EraseRootFromParent_Done,
8100 /* 20258 */ // Label 555: @20258
8101 /* 20258 */ GIM_Try, /*On fail goto*//*Label 556*/ GIMT_Encode4(20320), // Rule ID 24182 //
8102 /* 20263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8103 /* 20266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8104 /* 20270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8105 /* 20274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8106 /* 20278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8107 /* 20281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8108 /* 20285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8109 /* 20289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8110 /* 20293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8111 /* 20295 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8112 /* 20302 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8113 /* 20302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8114 /* 20305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8115 /* 20307 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8116 /* 20309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8117 /* 20313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8118 /* 20318 */ GIR_RootConstrainSelectedInstOperands,
8119 /* 20319 */ // GIR_Coverage, 24182,
8120 /* 20319 */ GIR_EraseRootFromParent_Done,
8121 /* 20320 */ // Label 556: @20320
8122 /* 20320 */ GIM_Try, /*On fail goto*//*Label 557*/ GIMT_Encode4(20382), // Rule ID 2110 //
8123 /* 20325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8124 /* 20328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8125 /* 20332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8126 /* 20336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8127 /* 20340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8128 /* 20344 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8129 /* 20347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8130 /* 20351 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8131 /* 20355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8132 /* 20357 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8133 /* 20364 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8134 /* 20364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8135 /* 20367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8136 /* 20369 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8137 /* 20371 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8138 /* 20375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8139 /* 20380 */ GIR_RootConstrainSelectedInstOperands,
8140 /* 20381 */ // GIR_Coverage, 2110,
8141 /* 20381 */ GIR_EraseRootFromParent_Done,
8142 /* 20382 */ // Label 557: @20382
8143 /* 20382 */ GIM_Try, /*On fail goto*//*Label 558*/ GIMT_Encode4(20444), // Rule ID 5710 //
8144 /* 20387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8145 /* 20390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8146 /* 20394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8147 /* 20398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8148 /* 20402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8149 /* 20406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8150 /* 20409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8151 /* 20413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8152 /* 20417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8153 /* 20419 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8154 /* 20426 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8155 /* 20426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8156 /* 20429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8157 /* 20431 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8158 /* 20433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8159 /* 20437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8160 /* 20442 */ GIR_RootConstrainSelectedInstOperands,
8161 /* 20443 */ // GIR_Coverage, 5710,
8162 /* 20443 */ GIR_EraseRootFromParent_Done,
8163 /* 20444 */ // Label 558: @20444
8164 /* 20444 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(20471), // Rule ID 2109 //
8165 /* 20449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8166 /* 20452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8167 /* 20456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8168 /* 20460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8169 /* 20464 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8170 /* 20464 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8171 /* 20469 */ GIR_RootConstrainSelectedInstOperands,
8172 /* 20470 */ // GIR_Coverage, 2109,
8173 /* 20470 */ GIR_Done,
8174 /* 20471 */ // Label 559: @20471
8175 /* 20471 */ GIM_Try, /*On fail goto*//*Label 560*/ GIMT_Encode4(20498), // Rule ID 2111 //
8176 /* 20476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8177 /* 20479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8178 /* 20483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8179 /* 20487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8180 /* 20491 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
8181 /* 20491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8182 /* 20496 */ GIR_RootConstrainSelectedInstOperands,
8183 /* 20497 */ // GIR_Coverage, 2111,
8184 /* 20497 */ GIR_Done,
8185 /* 20498 */ // Label 560: @20498
8186 /* 20498 */ GIM_Try, /*On fail goto*//*Label 561*/ GIMT_Encode4(20525), // Rule ID 5707 //
8187 /* 20503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8188 /* 20506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8189 /* 20510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8190 /* 20514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8191 /* 20518 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPANDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
8192 /* 20518 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8193 /* 20523 */ GIR_RootConstrainSelectedInstOperands,
8194 /* 20524 */ // GIR_Coverage, 5707,
8195 /* 20524 */ GIR_Done,
8196 /* 20525 */ // Label 561: @20525
8197 /* 20525 */ GIM_Reject,
8198 /* 20526 */ // Label 554: @20526
8199 /* 20526 */ GIM_Reject,
8200 /* 20527 */ // Label 456: @20527
8201 /* 20527 */ GIM_Try, /*On fail goto*//*Label 562*/ GIMT_Encode4(20872),
8202 /* 20532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
8203 /* 20535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
8204 /* 20538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8205 /* 20542 */ GIM_Try, /*On fail goto*//*Label 563*/ GIMT_Encode4(20662), // Rule ID 19487 //
8206 /* 20547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8207 /* 20551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8208 /* 20555 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
8209 /* 20559 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
8210 /* 20563 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8211 /* 20568 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8212 /* 20572 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8213 /* 20578 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8214 /* 20580 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8215 /* 20584 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8216 /* 20586 */ // (and:{ *:[v4i1] } (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, immAllOnesV:{ *:[v4i1] }), VK4:{ *:[v4i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
8217 /* 20586 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8218 /* 20589 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8219 /* 20593 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8220 /* 20598 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8221 /* 20602 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8222 /* 20607 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8223 /* 20610 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8224 /* 20614 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8225 /* 20619 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8226 /* 20623 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8227 /* 20628 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8228 /* 20631 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8229 /* 20635 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8230 /* 20640 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8231 /* 20643 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8232 /* 20646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8233 /* 20648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8234 /* 20651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8235 /* 20653 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8236 /* 20656 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
8237 /* 20661 */ // GIR_Coverage, 19487,
8238 /* 20661 */ GIR_EraseRootFromParent_Done,
8239 /* 20662 */ // Label 563: @20662
8240 /* 20662 */ GIM_Try, /*On fail goto*//*Label 564*/ GIMT_Encode4(20782), // Rule ID 25402 //
8241 /* 20667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8242 /* 20671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8243 /* 20675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8244 /* 20679 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
8245 /* 20683 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
8246 /* 20687 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8247 /* 20692 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8248 /* 20696 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8249 /* 20702 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8250 /* 20704 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8251 /* 20706 */ // (and:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src2, (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, immAllOnesV:{ *:[v4i1] })) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
8252 /* 20706 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8253 /* 20709 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8254 /* 20713 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8255 /* 20718 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
8256 /* 20722 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8257 /* 20727 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8258 /* 20730 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8259 /* 20734 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8260 /* 20739 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8261 /* 20743 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8262 /* 20748 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8263 /* 20751 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8264 /* 20755 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8265 /* 20760 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8266 /* 20763 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8267 /* 20766 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8268 /* 20768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8269 /* 20771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8270 /* 20773 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8271 /* 20776 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
8272 /* 20781 */ // GIR_Coverage, 25402,
8273 /* 20781 */ GIR_EraseRootFromParent_Done,
8274 /* 20782 */ // Label 564: @20782
8275 /* 20782 */ GIM_Try, /*On fail goto*//*Label 565*/ GIMT_Encode4(20871), // Rule ID 19483 //
8276 /* 20787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8277 /* 20791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
8278 /* 20795 */ // (and:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, VK4:{ *:[v4i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KANDWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
8279 /* 20795 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8280 /* 20798 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8281 /* 20802 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8282 /* 20807 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8283 /* 20811 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8284 /* 20816 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8285 /* 20819 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8286 /* 20823 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8287 /* 20828 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8288 /* 20832 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8289 /* 20837 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8290 /* 20840 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8291 /* 20844 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8292 /* 20849 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8293 /* 20852 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8294 /* 20855 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8295 /* 20857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8296 /* 20860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8297 /* 20862 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8298 /* 20865 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
8299 /* 20870 */ // GIR_Coverage, 19483,
8300 /* 20870 */ GIR_EraseRootFromParent_Done,
8301 /* 20871 */ // Label 565: @20871
8302 /* 20871 */ GIM_Reject,
8303 /* 20872 */ // Label 562: @20872
8304 /* 20872 */ GIM_Reject,
8305 /* 20873 */ // Label 457: @20873
8306 /* 20873 */ GIM_Try, /*On fail goto*//*Label 566*/ GIMT_Encode4(21214),
8307 /* 20878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
8308 /* 20881 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8309 /* 20884 */ GIM_Try, /*On fail goto*//*Label 567*/ GIMT_Encode4(20946), // Rule ID 24200 //
8310 /* 20889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8311 /* 20892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8312 /* 20896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8313 /* 20900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8314 /* 20904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8315 /* 20907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8316 /* 20911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8317 /* 20915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8318 /* 20919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8319 /* 20921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8320 /* 20928 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8321 /* 20928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8322 /* 20931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8323 /* 20933 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8324 /* 20935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8325 /* 20939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8326 /* 20944 */ GIR_RootConstrainSelectedInstOperands,
8327 /* 20945 */ // GIR_Coverage, 24200,
8328 /* 20945 */ GIR_EraseRootFromParent_Done,
8329 /* 20946 */ // Label 567: @20946
8330 /* 20946 */ GIM_Try, /*On fail goto*//*Label 568*/ GIMT_Encode4(21008), // Rule ID 25286 //
8331 /* 20951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8332 /* 20954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8333 /* 20958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8334 /* 20962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8335 /* 20966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8336 /* 20969 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8337 /* 20973 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8338 /* 20977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8339 /* 20981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8340 /* 20983 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8341 /* 20990 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8342 /* 20990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8343 /* 20993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8344 /* 20995 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8345 /* 20997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8346 /* 21001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8347 /* 21006 */ GIR_RootConstrainSelectedInstOperands,
8348 /* 21007 */ // GIR_Coverage, 25286,
8349 /* 21007 */ GIR_EraseRootFromParent_Done,
8350 /* 21008 */ // Label 568: @21008
8351 /* 21008 */ GIM_Try, /*On fail goto*//*Label 569*/ GIMT_Encode4(21070), // Rule ID 5737 //
8352 /* 21013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8353 /* 21016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8354 /* 21020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8355 /* 21024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8356 /* 21028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8357 /* 21032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8358 /* 21035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8359 /* 21039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8360 /* 21043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8361 /* 21045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8362 /* 21052 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8363 /* 21052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8364 /* 21055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8365 /* 21057 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8366 /* 21059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8367 /* 21063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8368 /* 21068 */ GIR_RootConstrainSelectedInstOperands,
8369 /* 21069 */ // GIR_Coverage, 5737,
8370 /* 21069 */ GIR_EraseRootFromParent_Done,
8371 /* 21070 */ // Label 569: @21070
8372 /* 21070 */ GIM_Try, /*On fail goto*//*Label 570*/ GIMT_Encode4(21132), // Rule ID 18149 //
8373 /* 21075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8374 /* 21078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8375 /* 21082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8376 /* 21086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8377 /* 21090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8378 /* 21094 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8379 /* 21097 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8380 /* 21101 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8381 /* 21105 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8382 /* 21107 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8383 /* 21114 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8384 /* 21114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8385 /* 21117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8386 /* 21119 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8387 /* 21121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8388 /* 21125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8389 /* 21130 */ GIR_RootConstrainSelectedInstOperands,
8390 /* 21131 */ // GIR_Coverage, 18149,
8391 /* 21131 */ GIR_EraseRootFromParent_Done,
8392 /* 21132 */ // Label 570: @21132
8393 /* 21132 */ GIM_Try, /*On fail goto*//*Label 571*/ GIMT_Encode4(21159), // Rule ID 5734 //
8394 /* 21137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8395 /* 21140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8396 /* 21144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8397 /* 21148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8398 /* 21152 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPANDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
8399 /* 21152 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rr),
8400 /* 21157 */ GIR_RootConstrainSelectedInstOperands,
8401 /* 21158 */ // GIR_Coverage, 5734,
8402 /* 21158 */ GIR_Done,
8403 /* 21159 */ // Label 571: @21159
8404 /* 21159 */ GIM_Try, /*On fail goto*//*Label 572*/ GIMT_Encode4(21186), // Rule ID 18137 //
8405 /* 21164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8406 /* 21167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8407 /* 21171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8408 /* 21175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8409 /* 21179 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8410 /* 21179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8411 /* 21184 */ GIR_RootConstrainSelectedInstOperands,
8412 /* 21185 */ // GIR_Coverage, 18137,
8413 /* 21185 */ GIR_Done,
8414 /* 21186 */ // Label 572: @21186
8415 /* 21186 */ GIM_Try, /*On fail goto*//*Label 573*/ GIMT_Encode4(21213), // Rule ID 18161 //
8416 /* 21191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8417 /* 21194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8418 /* 21198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8419 /* 21202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8420 /* 21206 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8421 /* 21206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8422 /* 21211 */ GIR_RootConstrainSelectedInstOperands,
8423 /* 21212 */ // GIR_Coverage, 18161,
8424 /* 21212 */ GIR_Done,
8425 /* 21213 */ // Label 573: @21213
8426 /* 21213 */ GIM_Reject,
8427 /* 21214 */ // Label 566: @21214
8428 /* 21214 */ GIM_Reject,
8429 /* 21215 */ // Label 458: @21215
8430 /* 21215 */ GIM_Try, /*On fail goto*//*Label 574*/ GIMT_Encode4(21680),
8431 /* 21220 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
8432 /* 21223 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
8433 /* 21226 */ GIM_Try, /*On fail goto*//*Label 575*/ GIMT_Encode4(21288), // Rule ID 23395 //
8434 /* 21231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8435 /* 21234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8436 /* 21238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8437 /* 21242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8438 /* 21246 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8439 /* 21249 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8440 /* 21253 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8441 /* 21257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8442 /* 21261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8443 /* 21263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8444 /* 21270 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8445 /* 21270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8446 /* 21273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8447 /* 21275 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8448 /* 21277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8449 /* 21281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8450 /* 21286 */ GIR_RootConstrainSelectedInstOperands,
8451 /* 21287 */ // GIR_Coverage, 23395,
8452 /* 21287 */ GIR_EraseRootFromParent_Done,
8453 /* 21288 */ // Label 575: @21288
8454 /* 21288 */ GIM_Try, /*On fail goto*//*Label 576*/ GIMT_Encode4(21350), // Rule ID 24176 //
8455 /* 21293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8456 /* 21296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8457 /* 21300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8458 /* 21304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8459 /* 21308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8460 /* 21311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8461 /* 21315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8462 /* 21319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8463 /* 21323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8464 /* 21325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8465 /* 21332 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8466 /* 21332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8467 /* 21335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8468 /* 21337 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8469 /* 21339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8470 /* 21343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8471 /* 21348 */ GIR_RootConstrainSelectedInstOperands,
8472 /* 21349 */ // GIR_Coverage, 24176,
8473 /* 21349 */ GIR_EraseRootFromParent_Done,
8474 /* 21350 */ // Label 576: @21350
8475 /* 21350 */ GIM_Try, /*On fail goto*//*Label 577*/ GIMT_Encode4(21412), // Rule ID 25275 //
8476 /* 21355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8477 /* 21358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8478 /* 21362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8479 /* 21366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8480 /* 21370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8481 /* 21373 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8482 /* 21377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8483 /* 21381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8484 /* 21385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8485 /* 21387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8486 /* 21394 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8487 /* 21394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8488 /* 21397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8489 /* 21399 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8490 /* 21401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8491 /* 21405 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8492 /* 21410 */ GIR_RootConstrainSelectedInstOperands,
8493 /* 21411 */ // GIR_Coverage, 25275,
8494 /* 21411 */ GIR_EraseRootFromParent_Done,
8495 /* 21412 */ // Label 577: @21412
8496 /* 21412 */ GIM_Try, /*On fail goto*//*Label 578*/ GIMT_Encode4(21474), // Rule ID 2114 //
8497 /* 21417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8498 /* 21420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8499 /* 21424 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8500 /* 21428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8501 /* 21432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8502 /* 21436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8503 /* 21439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8504 /* 21443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8505 /* 21447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8506 /* 21449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8507 /* 21456 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8508 /* 21456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8509 /* 21459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8510 /* 21461 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8511 /* 21463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8512 /* 21467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8513 /* 21472 */ GIR_RootConstrainSelectedInstOperands,
8514 /* 21473 */ // GIR_Coverage, 2114,
8515 /* 21473 */ GIR_EraseRootFromParent_Done,
8516 /* 21474 */ // Label 578: @21474
8517 /* 21474 */ GIM_Try, /*On fail goto*//*Label 579*/ GIMT_Encode4(21536), // Rule ID 5701 //
8518 /* 21479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8519 /* 21482 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8520 /* 21486 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8521 /* 21490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8522 /* 21494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8523 /* 21498 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8524 /* 21501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8525 /* 21505 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8526 /* 21509 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8527 /* 21511 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8528 /* 21518 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8529 /* 21518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8530 /* 21521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8531 /* 21523 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8532 /* 21525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8533 /* 21529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8534 /* 21534 */ GIR_RootConstrainSelectedInstOperands,
8535 /* 21535 */ // GIR_Coverage, 5701,
8536 /* 21535 */ GIR_EraseRootFromParent_Done,
8537 /* 21536 */ // Label 579: @21536
8538 /* 21536 */ GIM_Try, /*On fail goto*//*Label 580*/ GIMT_Encode4(21598), // Rule ID 18122 //
8539 /* 21541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8540 /* 21544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8541 /* 21548 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8542 /* 21552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8543 /* 21556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8544 /* 21560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8545 /* 21563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8546 /* 21567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8547 /* 21571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8548 /* 21573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8549 /* 21580 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8550 /* 21580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8551 /* 21583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8552 /* 21585 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8553 /* 21587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8554 /* 21591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8555 /* 21596 */ GIR_RootConstrainSelectedInstOperands,
8556 /* 21597 */ // GIR_Coverage, 18122,
8557 /* 21597 */ GIR_EraseRootFromParent_Done,
8558 /* 21598 */ // Label 580: @21598
8559 /* 21598 */ GIM_Try, /*On fail goto*//*Label 581*/ GIMT_Encode4(21625), // Rule ID 2113 //
8560 /* 21603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8561 /* 21606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8562 /* 21610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8563 /* 21614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8564 /* 21618 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPANDYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8565 /* 21618 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8566 /* 21623 */ GIR_RootConstrainSelectedInstOperands,
8567 /* 21624 */ // GIR_Coverage, 2113,
8568 /* 21624 */ GIR_Done,
8569 /* 21625 */ // Label 581: @21625
8570 /* 21625 */ GIM_Try, /*On fail goto*//*Label 582*/ GIMT_Encode4(21652), // Rule ID 5698 //
8571 /* 21630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8572 /* 21633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8573 /* 21637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8574 /* 21641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8575 /* 21645 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPANDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
8576 /* 21645 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8577 /* 21650 */ GIR_RootConstrainSelectedInstOperands,
8578 /* 21651 */ // GIR_Coverage, 5698,
8579 /* 21651 */ GIR_Done,
8580 /* 21652 */ // Label 582: @21652
8581 /* 21652 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(21679), // Rule ID 18106 //
8582 /* 21657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8583 /* 21660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8584 /* 21664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8585 /* 21668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8586 /* 21672 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VANDPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
8587 /* 21672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8588 /* 21677 */ GIR_RootConstrainSelectedInstOperands,
8589 /* 21678 */ // GIR_Coverage, 18106,
8590 /* 21678 */ GIR_Done,
8591 /* 21679 */ // Label 583: @21679
8592 /* 21679 */ GIM_Reject,
8593 /* 21680 */ // Label 574: @21680
8594 /* 21680 */ GIM_Reject,
8595 /* 21681 */ // Label 459: @21681
8596 /* 21681 */ GIM_Try, /*On fail goto*//*Label 584*/ GIMT_Encode4(22178),
8597 /* 21686 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
8598 /* 21689 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
8599 /* 21692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8600 /* 21696 */ GIM_Try, /*On fail goto*//*Label 585*/ GIMT_Encode4(21756), // Rule ID 4432 //
8601 /* 21701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8602 /* 21704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8603 /* 21708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8604 /* 21712 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8605 /* 21716 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8606 /* 21720 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8607 /* 21725 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8608 /* 21729 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8609 /* 21735 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8610 /* 21737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8611 /* 21741 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8612 /* 21743 */ // (and:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8613 /* 21743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
8614 /* 21746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8615 /* 21748 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8616 /* 21752 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
8617 /* 21754 */ GIR_RootConstrainSelectedInstOperands,
8618 /* 21755 */ // GIR_Coverage, 4432,
8619 /* 21755 */ GIR_EraseRootFromParent_Done,
8620 /* 21756 */ // Label 585: @21756
8621 /* 21756 */ GIM_Try, /*On fail goto*//*Label 586*/ GIMT_Encode4(21879), // Rule ID 19484 //
8622 /* 21761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8623 /* 21764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8624 /* 21768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8625 /* 21772 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8626 /* 21776 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8627 /* 21780 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8628 /* 21785 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8629 /* 21789 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8630 /* 21795 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8631 /* 21797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8632 /* 21801 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8633 /* 21803 */ // (and:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
8634 /* 21803 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8635 /* 21806 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8636 /* 21810 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8637 /* 21815 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8638 /* 21819 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8639 /* 21824 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8640 /* 21827 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8641 /* 21831 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8642 /* 21836 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8643 /* 21840 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8644 /* 21845 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8645 /* 21848 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8646 /* 21852 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8647 /* 21857 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8648 /* 21860 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8649 /* 21863 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8650 /* 21865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8651 /* 21868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8652 /* 21870 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8653 /* 21873 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8654 /* 21878 */ // GIR_Coverage, 19484,
8655 /* 21878 */ GIR_EraseRootFromParent_Done,
8656 /* 21879 */ // Label 586: @21879
8657 /* 21879 */ GIM_Try, /*On fail goto*//*Label 587*/ GIMT_Encode4(21939), // Rule ID 23725 //
8658 /* 21884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8659 /* 21887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8660 /* 21891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8661 /* 21895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8662 /* 21899 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8663 /* 21903 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8664 /* 21907 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8665 /* 21912 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8666 /* 21916 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8667 /* 21922 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8668 /* 21924 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8669 /* 21926 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8670 /* 21926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
8671 /* 21929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8672 /* 21931 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
8673 /* 21935 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
8674 /* 21937 */ GIR_RootConstrainSelectedInstOperands,
8675 /* 21938 */ // GIR_Coverage, 23725,
8676 /* 21938 */ GIR_EraseRootFromParent_Done,
8677 /* 21939 */ // Label 587: @21939
8678 /* 21939 */ GIM_Try, /*On fail goto*//*Label 588*/ GIMT_Encode4(22062), // Rule ID 25399 //
8679 /* 21944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8680 /* 21947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8681 /* 21951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8682 /* 21955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
8683 /* 21959 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
8684 /* 21963 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
8685 /* 21967 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8686 /* 21972 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
8687 /* 21976 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
8688 /* 21982 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
8689 /* 21984 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
8690 /* 21986 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KANDNWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
8691 /* 21986 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8692 /* 21989 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8693 /* 21993 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8694 /* 21998 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
8695 /* 22002 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8696 /* 22007 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8697 /* 22010 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8698 /* 22014 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8699 /* 22019 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
8700 /* 22023 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8701 /* 22028 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8702 /* 22031 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
8703 /* 22035 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8704 /* 22040 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8705 /* 22043 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8706 /* 22046 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8707 /* 22048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8708 /* 22051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8709 /* 22053 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8710 /* 22056 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8711 /* 22061 */ // GIR_Coverage, 25399,
8712 /* 22061 */ GIR_EraseRootFromParent_Done,
8713 /* 22062 */ // Label 588: @22062
8714 /* 22062 */ GIM_Try, /*On fail goto*//*Label 589*/ GIMT_Encode4(22085), // Rule ID 4416 //
8715 /* 22067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
8716 /* 22070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8717 /* 22074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8718 /* 22078 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KANDBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
8719 /* 22078 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDBkk),
8720 /* 22083 */ GIR_RootConstrainSelectedInstOperands,
8721 /* 22084 */ // GIR_Coverage, 4416,
8722 /* 22084 */ GIR_Done,
8723 /* 22085 */ // Label 589: @22085
8724 /* 22085 */ GIM_Try, /*On fail goto*//*Label 590*/ GIMT_Encode4(22177), // Rule ID 19480 //
8725 /* 22090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
8726 /* 22093 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8727 /* 22097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
8728 /* 22101 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KANDWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
8729 /* 22101 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
8730 /* 22104 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8731 /* 22108 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8732 /* 22113 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
8733 /* 22117 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8734 /* 22122 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
8735 /* 22125 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8736 /* 22129 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8737 /* 22134 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
8738 /* 22138 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
8739 /* 22143 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
8740 /* 22146 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
8741 /* 22150 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
8742 /* 22155 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
8743 /* 22158 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
8744 /* 22161 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
8745 /* 22163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
8746 /* 22166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8747 /* 22168 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
8748 /* 22171 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
8749 /* 22176 */ // GIR_Coverage, 19480,
8750 /* 22176 */ GIR_EraseRootFromParent_Done,
8751 /* 22177 */ // Label 590: @22177
8752 /* 22177 */ GIM_Reject,
8753 /* 22178 */ // Label 584: @22178
8754 /* 22178 */ GIM_Reject,
8755 /* 22179 */ // Label 460: @22179
8756 /* 22179 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(22520),
8757 /* 22184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
8758 /* 22187 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8759 /* 22190 */ GIM_Try, /*On fail goto*//*Label 592*/ GIMT_Encode4(22252), // Rule ID 25285 //
8760 /* 22195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8761 /* 22198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8762 /* 22202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8763 /* 22206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8764 /* 22210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8765 /* 22213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8766 /* 22217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8767 /* 22221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8768 /* 22225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8769 /* 22227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8770 /* 22234 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8771 /* 22234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8772 /* 22237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8773 /* 22239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8774 /* 22241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8775 /* 22245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8776 /* 22250 */ GIR_RootConstrainSelectedInstOperands,
8777 /* 22251 */ // GIR_Coverage, 25285,
8778 /* 22251 */ GIR_EraseRootFromParent_Done,
8779 /* 22252 */ // Label 592: @22252
8780 /* 22252 */ GIM_Try, /*On fail goto*//*Label 593*/ GIMT_Encode4(22314), // Rule ID 25466 //
8781 /* 22257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8782 /* 22260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8783 /* 22264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8784 /* 22268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8785 /* 22272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8786 /* 22275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8787 /* 22279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8788 /* 22283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8789 /* 22287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8790 /* 22289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8791 /* 22296 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8792 /* 22296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8793 /* 22299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8794 /* 22301 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8795 /* 22303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8796 /* 22307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8797 /* 22312 */ GIR_RootConstrainSelectedInstOperands,
8798 /* 22313 */ // GIR_Coverage, 25466,
8799 /* 22313 */ GIR_EraseRootFromParent_Done,
8800 /* 22314 */ // Label 593: @22314
8801 /* 22314 */ GIM_Try, /*On fail goto*//*Label 594*/ GIMT_Encode4(22376), // Rule ID 18148 //
8802 /* 22319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8803 /* 22322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8804 /* 22326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8805 /* 22330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8806 /* 22334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8807 /* 22338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8808 /* 22341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8809 /* 22345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8810 /* 22349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8811 /* 22351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8812 /* 22358 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8813 /* 22358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8814 /* 22361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8815 /* 22363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8816 /* 22365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8817 /* 22369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8818 /* 22374 */ GIR_RootConstrainSelectedInstOperands,
8819 /* 22375 */ // GIR_Coverage, 18148,
8820 /* 22375 */ GIR_EraseRootFromParent_Done,
8821 /* 22376 */ // Label 594: @22376
8822 /* 22376 */ GIM_Try, /*On fail goto*//*Label 595*/ GIMT_Encode4(22438), // Rule ID 20033 //
8823 /* 22381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8824 /* 22384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8825 /* 22388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8826 /* 22392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8827 /* 22396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8828 /* 22400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8829 /* 22403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8830 /* 22407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8831 /* 22411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8832 /* 22413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8833 /* 22420 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8834 /* 22420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8835 /* 22423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8836 /* 22425 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8837 /* 22427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8838 /* 22431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8839 /* 22436 */ GIR_RootConstrainSelectedInstOperands,
8840 /* 22437 */ // GIR_Coverage, 20033,
8841 /* 22437 */ GIR_EraseRootFromParent_Done,
8842 /* 22438 */ // Label 595: @22438
8843 /* 22438 */ GIM_Try, /*On fail goto*//*Label 596*/ GIMT_Encode4(22465), // Rule ID 18136 //
8844 /* 22443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8845 /* 22446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8846 /* 22450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8847 /* 22454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8848 /* 22458 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8849 /* 22458 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8850 /* 22463 */ GIR_RootConstrainSelectedInstOperands,
8851 /* 22464 */ // GIR_Coverage, 18136,
8852 /* 22464 */ GIR_Done,
8853 /* 22465 */ // Label 596: @22465
8854 /* 22465 */ GIM_Try, /*On fail goto*//*Label 597*/ GIMT_Encode4(22492), // Rule ID 18160 //
8855 /* 22470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8856 /* 22473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8857 /* 22477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8858 /* 22481 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8859 /* 22485 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8860 /* 22485 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8861 /* 22490 */ GIR_RootConstrainSelectedInstOperands,
8862 /* 22491 */ // GIR_Coverage, 18160,
8863 /* 22491 */ GIR_Done,
8864 /* 22492 */ // Label 597: @22492
8865 /* 22492 */ GIM_Try, /*On fail goto*//*Label 598*/ GIMT_Encode4(22519), // Rule ID 20025 //
8866 /* 22497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8867 /* 22500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8868 /* 22504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8869 /* 22508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8870 /* 22512 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPANDQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
8871 /* 22512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8872 /* 22517 */ GIR_RootConstrainSelectedInstOperands,
8873 /* 22518 */ // GIR_Coverage, 20025,
8874 /* 22518 */ GIR_Done,
8875 /* 22519 */ // Label 598: @22519
8876 /* 22519 */ GIM_Reject,
8877 /* 22520 */ // Label 591: @22520
8878 /* 22520 */ GIM_Reject,
8879 /* 22521 */ // Label 461: @22521
8880 /* 22521 */ GIM_Try, /*On fail goto*//*Label 599*/ GIMT_Encode4(22986),
8881 /* 22526 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
8882 /* 22529 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
8883 /* 22532 */ GIM_Try, /*On fail goto*//*Label 600*/ GIMT_Encode4(22594), // Rule ID 24194 //
8884 /* 22537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8885 /* 22540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8886 /* 22544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8887 /* 22548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8888 /* 22552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8889 /* 22555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8890 /* 22559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8891 /* 22563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8892 /* 22567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8893 /* 22569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8894 /* 22576 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8895 /* 22576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8896 /* 22579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8897 /* 22581 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8898 /* 22583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8899 /* 22587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8900 /* 22592 */ GIR_RootConstrainSelectedInstOperands,
8901 /* 22593 */ // GIR_Coverage, 24194,
8902 /* 22593 */ GIR_EraseRootFromParent_Done,
8903 /* 22594 */ // Label 600: @22594
8904 /* 22594 */ GIM_Try, /*On fail goto*//*Label 601*/ GIMT_Encode4(22656), // Rule ID 25265 //
8905 /* 22599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8906 /* 22602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8907 /* 22606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8908 /* 22610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8909 /* 22614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8910 /* 22617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8911 /* 22621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8912 /* 22625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8913 /* 22629 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8914 /* 22631 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8915 /* 22638 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8916 /* 22638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8917 /* 22641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8918 /* 22643 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8919 /* 22645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8920 /* 22649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8921 /* 22654 */ GIR_RootConstrainSelectedInstOperands,
8922 /* 22655 */ // GIR_Coverage, 25265,
8923 /* 22655 */ GIR_EraseRootFromParent_Done,
8924 /* 22656 */ // Label 601: @22656
8925 /* 22656 */ GIM_Try, /*On fail goto*//*Label 602*/ GIMT_Encode4(22718), // Rule ID 25274 //
8926 /* 22661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8927 /* 22664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8928 /* 22668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8929 /* 22672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8930 /* 22676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8931 /* 22679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8932 /* 22683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8933 /* 22687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8934 /* 22691 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8935 /* 22693 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8936 /* 22700 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8937 /* 22700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8938 /* 22703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8939 /* 22705 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8940 /* 22707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8941 /* 22711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8942 /* 22716 */ GIR_RootConstrainSelectedInstOperands,
8943 /* 22717 */ // GIR_Coverage, 25274,
8944 /* 22717 */ GIR_EraseRootFromParent_Done,
8945 /* 22718 */ // Label 602: @22718
8946 /* 22718 */ GIM_Try, /*On fail goto*//*Label 603*/ GIMT_Encode4(22780), // Rule ID 5728 //
8947 /* 22723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8948 /* 22726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8949 /* 22730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8950 /* 22734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8951 /* 22738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8952 /* 22742 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8953 /* 22745 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8954 /* 22749 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8955 /* 22753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8956 /* 22755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8957 /* 22762 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8958 /* 22762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8959 /* 22765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8960 /* 22767 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8961 /* 22769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8962 /* 22773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8963 /* 22778 */ GIR_RootConstrainSelectedInstOperands,
8964 /* 22779 */ // GIR_Coverage, 5728,
8965 /* 22779 */ GIR_EraseRootFromParent_Done,
8966 /* 22780 */ // Label 603: @22780
8967 /* 22780 */ GIM_Try, /*On fail goto*//*Label 604*/ GIMT_Encode4(22842), // Rule ID 18093 //
8968 /* 22785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8969 /* 22788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8970 /* 22792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8971 /* 22796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8972 /* 22800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8973 /* 22804 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8974 /* 22807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8975 /* 22811 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8976 /* 22815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8977 /* 22817 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8978 /* 22824 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8979 /* 22824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8980 /* 22827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8981 /* 22829 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8982 /* 22831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8983 /* 22835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8984 /* 22840 */ GIR_RootConstrainSelectedInstOperands,
8985 /* 22841 */ // GIR_Coverage, 18093,
8986 /* 22841 */ GIR_EraseRootFromParent_Done,
8987 /* 22842 */ // Label 604: @22842
8988 /* 22842 */ GIM_Try, /*On fail goto*//*Label 605*/ GIMT_Encode4(22904), // Rule ID 18121 //
8989 /* 22847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8990 /* 22850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8991 /* 22854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8992 /* 22858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8993 /* 22862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8994 /* 22866 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8995 /* 22869 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8996 /* 22873 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8997 /* 22877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8998 /* 22879 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8999 /* 22886 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
9000 /* 22886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9001 /* 22889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9002 /* 22891 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9003 /* 22893 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9004 /* 22897 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9005 /* 22902 */ GIR_RootConstrainSelectedInstOperands,
9006 /* 22903 */ // GIR_Coverage, 18121,
9007 /* 22903 */ GIR_EraseRootFromParent_Done,
9008 /* 22904 */ // Label 605: @22904
9009 /* 22904 */ GIM_Try, /*On fail goto*//*Label 606*/ GIMT_Encode4(22931), // Rule ID 5725 //
9010 /* 22909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
9011 /* 22912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9012 /* 22916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9013 /* 22920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9014 /* 22924 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPANDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
9015 /* 22924 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rr),
9016 /* 22929 */ GIR_RootConstrainSelectedInstOperands,
9017 /* 22930 */ // GIR_Coverage, 5725,
9018 /* 22930 */ GIR_Done,
9019 /* 22931 */ // Label 606: @22931
9020 /* 22931 */ GIM_Try, /*On fail goto*//*Label 607*/ GIMT_Encode4(22958), // Rule ID 18081 //
9021 /* 22936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9022 /* 22939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9023 /* 22943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9024 /* 22947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9025 /* 22951 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPANDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
9026 /* 22951 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9027 /* 22956 */ GIR_RootConstrainSelectedInstOperands,
9028 /* 22957 */ // GIR_Coverage, 18081,
9029 /* 22957 */ GIR_Done,
9030 /* 22958 */ // Label 607: @22958
9031 /* 22958 */ GIM_Try, /*On fail goto*//*Label 608*/ GIMT_Encode4(22985), // Rule ID 18105 //
9032 /* 22963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9033 /* 22966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9034 /* 22970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9035 /* 22974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9036 /* 22978 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VANDPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
9037 /* 22978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9038 /* 22983 */ GIR_RootConstrainSelectedInstOperands,
9039 /* 22984 */ // GIR_Coverage, 18105,
9040 /* 22984 */ GIR_Done,
9041 /* 22985 */ // Label 608: @22985
9042 /* 22985 */ GIM_Reject,
9043 /* 22986 */ // Label 599: @22986
9044 /* 22986 */ GIM_Reject,
9045 /* 22987 */ // Label 462: @22987
9046 /* 22987 */ GIM_Try, /*On fail goto*//*Label 609*/ GIMT_Encode4(23142),
9047 /* 22992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
9048 /* 22995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
9049 /* 22998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9050 /* 23002 */ GIM_Try, /*On fail goto*//*Label 610*/ GIMT_Encode4(23060), // Rule ID 24170 //
9051 /* 23007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9052 /* 23010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9053 /* 23014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9054 /* 23018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9055 /* 23021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9056 /* 23025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9057 /* 23029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9058 /* 23033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9059 /* 23035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9060 /* 23042 */ // (and:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9061 /* 23042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9062 /* 23045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9063 /* 23047 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9064 /* 23049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9065 /* 23053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9066 /* 23058 */ GIR_RootConstrainSelectedInstOperands,
9067 /* 23059 */ // GIR_Coverage, 24170,
9068 /* 23059 */ GIR_EraseRootFromParent_Done,
9069 /* 23060 */ // Label 610: @23060
9070 /* 23060 */ GIM_Try, /*On fail goto*//*Label 611*/ GIMT_Encode4(23118), // Rule ID 5692 //
9071 /* 23065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9072 /* 23068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9073 /* 23072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9074 /* 23076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9075 /* 23080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9076 /* 23083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9077 /* 23087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9078 /* 23091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9079 /* 23093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9080 /* 23100 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9081 /* 23100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9082 /* 23103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9083 /* 23105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9084 /* 23107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9085 /* 23111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9086 /* 23116 */ GIR_RootConstrainSelectedInstOperands,
9087 /* 23117 */ // GIR_Coverage, 5692,
9088 /* 23117 */ GIR_EraseRootFromParent_Done,
9089 /* 23118 */ // Label 611: @23118
9090 /* 23118 */ GIM_Try, /*On fail goto*//*Label 612*/ GIMT_Encode4(23141), // Rule ID 5689 //
9091 /* 23123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9092 /* 23126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9093 /* 23130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9094 /* 23134 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPANDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
9095 /* 23134 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9096 /* 23139 */ GIR_RootConstrainSelectedInstOperands,
9097 /* 23140 */ // GIR_Coverage, 5689,
9098 /* 23140 */ GIR_Done,
9099 /* 23141 */ // Label 612: @23141
9100 /* 23141 */ GIM_Reject,
9101 /* 23142 */ // Label 609: @23142
9102 /* 23142 */ GIM_Reject,
9103 /* 23143 */ // Label 463: @23143
9104 /* 23143 */ GIM_Try, /*On fail goto*//*Label 613*/ GIMT_Encode4(23302),
9105 /* 23148 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
9106 /* 23151 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
9107 /* 23154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9108 /* 23158 */ GIM_Try, /*On fail goto*//*Label 614*/ GIMT_Encode4(23218), // Rule ID 4433 //
9109 /* 23163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9110 /* 23166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9111 /* 23170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9112 /* 23174 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
9113 /* 23178 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
9114 /* 23182 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9115 /* 23187 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9116 /* 23191 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9117 /* 23197 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9118 /* 23199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9119 /* 23203 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9120 /* 23205 */ // (and:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
9121 /* 23205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
9122 /* 23208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9123 /* 23210 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9124 /* 23214 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
9125 /* 23216 */ GIR_RootConstrainSelectedInstOperands,
9126 /* 23217 */ // GIR_Coverage, 4433,
9127 /* 23217 */ GIR_EraseRootFromParent_Done,
9128 /* 23218 */ // Label 614: @23218
9129 /* 23218 */ GIM_Try, /*On fail goto*//*Label 615*/ GIMT_Encode4(23278), // Rule ID 23726 //
9130 /* 23223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9131 /* 23226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9132 /* 23230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9133 /* 23234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9134 /* 23238 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
9135 /* 23242 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
9136 /* 23246 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9137 /* 23251 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9138 /* 23255 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9139 /* 23261 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9140 /* 23263 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9141 /* 23265 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
9142 /* 23265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
9143 /* 23268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9144 /* 23270 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9145 /* 23274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
9146 /* 23276 */ GIR_RootConstrainSelectedInstOperands,
9147 /* 23277 */ // GIR_Coverage, 23726,
9148 /* 23277 */ GIR_EraseRootFromParent_Done,
9149 /* 23278 */ // Label 615: @23278
9150 /* 23278 */ GIM_Try, /*On fail goto*//*Label 616*/ GIMT_Encode4(23301), // Rule ID 4417 //
9151 /* 23283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9152 /* 23286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9153 /* 23290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
9154 /* 23294 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KANDWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
9155 /* 23294 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
9156 /* 23299 */ GIR_RootConstrainSelectedInstOperands,
9157 /* 23300 */ // GIR_Coverage, 4417,
9158 /* 23300 */ GIR_Done,
9159 /* 23301 */ // Label 616: @23301
9160 /* 23301 */ GIM_Reject,
9161 /* 23302 */ // Label 613: @23302
9162 /* 23302 */ GIM_Reject,
9163 /* 23303 */ // Label 464: @23303
9164 /* 23303 */ GIM_Try, /*On fail goto*//*Label 617*/ GIMT_Encode4(23644),
9165 /* 23308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
9166 /* 23311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
9167 /* 23314 */ GIM_Try, /*On fail goto*//*Label 618*/ GIMT_Encode4(23376), // Rule ID 25284 //
9168 /* 23319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9169 /* 23322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9170 /* 23326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9171 /* 23330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9172 /* 23334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9173 /* 23337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9174 /* 23341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9175 /* 23345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9176 /* 23349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9177 /* 23351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9178 /* 23358 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9179 /* 23358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
9180 /* 23361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9181 /* 23363 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9182 /* 23365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9183 /* 23369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9184 /* 23374 */ GIR_RootConstrainSelectedInstOperands,
9185 /* 23375 */ // GIR_Coverage, 25284,
9186 /* 23375 */ GIR_EraseRootFromParent_Done,
9187 /* 23376 */ // Label 618: @23376
9188 /* 23376 */ GIM_Try, /*On fail goto*//*Label 619*/ GIMT_Encode4(23438), // Rule ID 25465 //
9189 /* 23381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9190 /* 23384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9191 /* 23388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9192 /* 23392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9193 /* 23396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9194 /* 23399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9195 /* 23403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9196 /* 23407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9197 /* 23411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9198 /* 23413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9199 /* 23420 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9200 /* 23420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
9201 /* 23423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9202 /* 23425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9203 /* 23427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9204 /* 23431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9205 /* 23436 */ GIR_RootConstrainSelectedInstOperands,
9206 /* 23437 */ // GIR_Coverage, 25465,
9207 /* 23437 */ GIR_EraseRootFromParent_Done,
9208 /* 23438 */ // Label 619: @23438
9209 /* 23438 */ GIM_Try, /*On fail goto*//*Label 620*/ GIMT_Encode4(23500), // Rule ID 18147 //
9210 /* 23443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9211 /* 23446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9212 /* 23450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9213 /* 23454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9214 /* 23458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9215 /* 23462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9216 /* 23465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9217 /* 23469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9218 /* 23473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9219 /* 23475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9220 /* 23482 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9221 /* 23482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
9222 /* 23485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9223 /* 23487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9224 /* 23489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9225 /* 23493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9226 /* 23498 */ GIR_RootConstrainSelectedInstOperands,
9227 /* 23499 */ // GIR_Coverage, 18147,
9228 /* 23499 */ GIR_EraseRootFromParent_Done,
9229 /* 23500 */ // Label 620: @23500
9230 /* 23500 */ GIM_Try, /*On fail goto*//*Label 621*/ GIMT_Encode4(23562), // Rule ID 20032 //
9231 /* 23505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9232 /* 23508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9233 /* 23512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9234 /* 23516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9235 /* 23520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9236 /* 23524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9237 /* 23527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9238 /* 23531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9239 /* 23535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9240 /* 23537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9241 /* 23544 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9242 /* 23544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
9243 /* 23547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9244 /* 23549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9245 /* 23551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9246 /* 23555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9247 /* 23560 */ GIR_RootConstrainSelectedInstOperands,
9248 /* 23561 */ // GIR_Coverage, 20032,
9249 /* 23561 */ GIR_EraseRootFromParent_Done,
9250 /* 23562 */ // Label 621: @23562
9251 /* 23562 */ GIM_Try, /*On fail goto*//*Label 622*/ GIMT_Encode4(23589), // Rule ID 18135 //
9252 /* 23567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9253 /* 23570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9254 /* 23574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9255 /* 23578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9256 /* 23582 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
9257 /* 23582 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
9258 /* 23587 */ GIR_RootConstrainSelectedInstOperands,
9259 /* 23588 */ // GIR_Coverage, 18135,
9260 /* 23588 */ GIR_Done,
9261 /* 23589 */ // Label 622: @23589
9262 /* 23589 */ GIM_Try, /*On fail goto*//*Label 623*/ GIMT_Encode4(23616), // Rule ID 18159 //
9263 /* 23594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
9264 /* 23597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9265 /* 23601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9266 /* 23605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9267 /* 23609 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
9268 /* 23609 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
9269 /* 23614 */ GIR_RootConstrainSelectedInstOperands,
9270 /* 23615 */ // GIR_Coverage, 18159,
9271 /* 23615 */ GIR_Done,
9272 /* 23616 */ // Label 623: @23616
9273 /* 23616 */ GIM_Try, /*On fail goto*//*Label 624*/ GIMT_Encode4(23643), // Rule ID 20024 //
9274 /* 23621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9275 /* 23624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9276 /* 23628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9277 /* 23632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9278 /* 23636 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPANDQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
9279 /* 23636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
9280 /* 23641 */ GIR_RootConstrainSelectedInstOperands,
9281 /* 23642 */ // GIR_Coverage, 20024,
9282 /* 23642 */ GIR_Done,
9283 /* 23643 */ // Label 624: @23643
9284 /* 23643 */ GIM_Reject,
9285 /* 23644 */ // Label 617: @23644
9286 /* 23644 */ GIM_Reject,
9287 /* 23645 */ // Label 465: @23645
9288 /* 23645 */ GIM_Try, /*On fail goto*//*Label 625*/ GIMT_Encode4(24110),
9289 /* 23650 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
9290 /* 23653 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
9291 /* 23656 */ GIM_Try, /*On fail goto*//*Label 626*/ GIMT_Encode4(23718), // Rule ID 25264 //
9292 /* 23661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9293 /* 23664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9294 /* 23668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9295 /* 23672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9296 /* 23676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9297 /* 23679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9298 /* 23683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9299 /* 23687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9300 /* 23691 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9301 /* 23693 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9302 /* 23700 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9303 /* 23700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9304 /* 23703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9305 /* 23705 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9306 /* 23707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9307 /* 23711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9308 /* 23716 */ GIR_RootConstrainSelectedInstOperands,
9309 /* 23717 */ // GIR_Coverage, 25264,
9310 /* 23717 */ GIR_EraseRootFromParent_Done,
9311 /* 23718 */ // Label 626: @23718
9312 /* 23718 */ GIM_Try, /*On fail goto*//*Label 627*/ GIMT_Encode4(23780), // Rule ID 25273 //
9313 /* 23723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9314 /* 23726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9315 /* 23730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9316 /* 23734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9317 /* 23738 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9318 /* 23741 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9319 /* 23745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9320 /* 23749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9321 /* 23753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9322 /* 23755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9323 /* 23762 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9324 /* 23762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9325 /* 23765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9326 /* 23767 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9327 /* 23769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9328 /* 23773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9329 /* 23778 */ GIR_RootConstrainSelectedInstOperands,
9330 /* 23779 */ // GIR_Coverage, 25273,
9331 /* 23779 */ GIR_EraseRootFromParent_Done,
9332 /* 23780 */ // Label 627: @23780
9333 /* 23780 */ GIM_Try, /*On fail goto*//*Label 628*/ GIMT_Encode4(23842), // Rule ID 25472 //
9334 /* 23785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9335 /* 23788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9336 /* 23792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9337 /* 23796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9338 /* 23800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9339 /* 23803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9340 /* 23807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9341 /* 23811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9342 /* 23815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9343 /* 23817 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9344 /* 23824 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9345 /* 23824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9346 /* 23827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9347 /* 23829 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9348 /* 23831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9349 /* 23835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9350 /* 23840 */ GIR_RootConstrainSelectedInstOperands,
9351 /* 23841 */ // GIR_Coverage, 25472,
9352 /* 23841 */ GIR_EraseRootFromParent_Done,
9353 /* 23842 */ // Label 628: @23842
9354 /* 23842 */ GIM_Try, /*On fail goto*//*Label 629*/ GIMT_Encode4(23904), // Rule ID 18092 //
9355 /* 23847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9356 /* 23850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9357 /* 23854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9358 /* 23858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9359 /* 23862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9360 /* 23866 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9361 /* 23869 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9362 /* 23873 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9363 /* 23877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9364 /* 23879 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9365 /* 23886 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9366 /* 23886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9367 /* 23889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9368 /* 23891 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9369 /* 23893 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9370 /* 23897 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9371 /* 23902 */ GIR_RootConstrainSelectedInstOperands,
9372 /* 23903 */ // GIR_Coverage, 18092,
9373 /* 23903 */ GIR_EraseRootFromParent_Done,
9374 /* 23904 */ // Label 629: @23904
9375 /* 23904 */ GIM_Try, /*On fail goto*//*Label 630*/ GIMT_Encode4(23966), // Rule ID 18120 //
9376 /* 23909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9377 /* 23912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9378 /* 23916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9379 /* 23920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9380 /* 23924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9381 /* 23928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9382 /* 23931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9383 /* 23935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9384 /* 23939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9385 /* 23941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9386 /* 23948 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9387 /* 23948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9388 /* 23951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9389 /* 23953 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9390 /* 23955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9391 /* 23959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9392 /* 23964 */ GIR_RootConstrainSelectedInstOperands,
9393 /* 23965 */ // GIR_Coverage, 18120,
9394 /* 23965 */ GIR_EraseRootFromParent_Done,
9395 /* 23966 */ // Label 630: @23966
9396 /* 23966 */ GIM_Try, /*On fail goto*//*Label 631*/ GIMT_Encode4(24028), // Rule ID 20049 //
9397 /* 23971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9398 /* 23974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9399 /* 23978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9400 /* 23982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9401 /* 23986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9402 /* 23990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9403 /* 23993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9404 /* 23997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9405 /* 24001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9406 /* 24003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9407 /* 24010 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9408 /* 24010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9409 /* 24013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9410 /* 24015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9411 /* 24017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9412 /* 24021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9413 /* 24026 */ GIR_RootConstrainSelectedInstOperands,
9414 /* 24027 */ // GIR_Coverage, 20049,
9415 /* 24027 */ GIR_EraseRootFromParent_Done,
9416 /* 24028 */ // Label 631: @24028
9417 /* 24028 */ GIM_Try, /*On fail goto*//*Label 632*/ GIMT_Encode4(24055), // Rule ID 18080 //
9418 /* 24033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9419 /* 24036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9420 /* 24040 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9421 /* 24044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9422 /* 24048 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPANDYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
9423 /* 24048 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9424 /* 24053 */ GIR_RootConstrainSelectedInstOperands,
9425 /* 24054 */ // GIR_Coverage, 18080,
9426 /* 24054 */ GIR_Done,
9427 /* 24055 */ // Label 632: @24055
9428 /* 24055 */ GIM_Try, /*On fail goto*//*Label 633*/ GIMT_Encode4(24082), // Rule ID 18104 //
9429 /* 24060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9430 /* 24063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9431 /* 24067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9432 /* 24071 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9433 /* 24075 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VANDPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
9434 /* 24075 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9435 /* 24080 */ GIR_RootConstrainSelectedInstOperands,
9436 /* 24081 */ // GIR_Coverage, 18104,
9437 /* 24081 */ GIR_Done,
9438 /* 24082 */ // Label 633: @24082
9439 /* 24082 */ GIM_Try, /*On fail goto*//*Label 634*/ GIMT_Encode4(24109), // Rule ID 20041 //
9440 /* 24087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9441 /* 24090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9442 /* 24094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9443 /* 24098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9444 /* 24102 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPANDQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
9445 /* 24102 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
9446 /* 24107 */ GIR_RootConstrainSelectedInstOperands,
9447 /* 24108 */ // GIR_Coverage, 20041,
9448 /* 24108 */ GIR_Done,
9449 /* 24109 */ // Label 634: @24109
9450 /* 24109 */ GIM_Reject,
9451 /* 24110 */ // Label 625: @24110
9452 /* 24110 */ GIM_Reject,
9453 /* 24111 */ // Label 466: @24111
9454 /* 24111 */ GIM_Try, /*On fail goto*//*Label 635*/ GIMT_Encode4(24266),
9455 /* 24116 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
9456 /* 24119 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
9457 /* 24122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9458 /* 24126 */ GIM_Try, /*On fail goto*//*Label 636*/ GIMT_Encode4(24184), // Rule ID 24188 //
9459 /* 24131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9460 /* 24134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9461 /* 24138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9462 /* 24142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9463 /* 24145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9464 /* 24149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9465 /* 24153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9466 /* 24157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9467 /* 24159 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9468 /* 24166 */ // (and:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
9469 /* 24166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
9470 /* 24169 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9471 /* 24171 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9472 /* 24173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9473 /* 24177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9474 /* 24182 */ GIR_RootConstrainSelectedInstOperands,
9475 /* 24183 */ // GIR_Coverage, 24188,
9476 /* 24183 */ GIR_EraseRootFromParent_Done,
9477 /* 24184 */ // Label 636: @24184
9478 /* 24184 */ GIM_Try, /*On fail goto*//*Label 637*/ GIMT_Encode4(24242), // Rule ID 5719 //
9479 /* 24189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9480 /* 24192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9481 /* 24196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9482 /* 24200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9483 /* 24204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9484 /* 24207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9485 /* 24211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9486 /* 24215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9487 /* 24217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9488 /* 24224 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
9489 /* 24224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
9490 /* 24227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9491 /* 24229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9492 /* 24231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9493 /* 24235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9494 /* 24240 */ GIR_RootConstrainSelectedInstOperands,
9495 /* 24241 */ // GIR_Coverage, 5719,
9496 /* 24241 */ GIR_EraseRootFromParent_Done,
9497 /* 24242 */ // Label 637: @24242
9498 /* 24242 */ GIM_Try, /*On fail goto*//*Label 638*/ GIMT_Encode4(24265), // Rule ID 5716 //
9499 /* 24247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9500 /* 24250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9501 /* 24254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9502 /* 24258 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPANDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
9503 /* 24258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZrr),
9504 /* 24263 */ GIR_RootConstrainSelectedInstOperands,
9505 /* 24264 */ // GIR_Coverage, 5716,
9506 /* 24264 */ GIR_Done,
9507 /* 24265 */ // Label 638: @24265
9508 /* 24265 */ GIM_Reject,
9509 /* 24266 */ // Label 635: @24266
9510 /* 24266 */ GIM_Reject,
9511 /* 24267 */ // Label 467: @24267
9512 /* 24267 */ GIM_Try, /*On fail goto*//*Label 639*/ GIMT_Encode4(24426),
9513 /* 24272 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
9514 /* 24275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
9515 /* 24278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9516 /* 24282 */ GIM_Try, /*On fail goto*//*Label 640*/ GIMT_Encode4(24342), // Rule ID 4434 //
9517 /* 24287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9518 /* 24290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9519 /* 24294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9520 /* 24298 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
9521 /* 24302 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
9522 /* 24306 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9523 /* 24311 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9524 /* 24315 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9525 /* 24321 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9526 /* 24323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9527 /* 24327 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9528 /* 24329 */ // (and:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
9529 /* 24329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
9530 /* 24332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9531 /* 24334 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9532 /* 24338 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
9533 /* 24340 */ GIR_RootConstrainSelectedInstOperands,
9534 /* 24341 */ // GIR_Coverage, 4434,
9535 /* 24341 */ GIR_EraseRootFromParent_Done,
9536 /* 24342 */ // Label 640: @24342
9537 /* 24342 */ GIM_Try, /*On fail goto*//*Label 641*/ GIMT_Encode4(24402), // Rule ID 23727 //
9538 /* 24347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9539 /* 24350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9540 /* 24354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9541 /* 24358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9542 /* 24362 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
9543 /* 24366 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
9544 /* 24370 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9545 /* 24375 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9546 /* 24379 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9547 /* 24385 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9548 /* 24387 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9549 /* 24389 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
9550 /* 24389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
9551 /* 24392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9552 /* 24394 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9553 /* 24398 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
9554 /* 24400 */ GIR_RootConstrainSelectedInstOperands,
9555 /* 24401 */ // GIR_Coverage, 23727,
9556 /* 24401 */ GIR_EraseRootFromParent_Done,
9557 /* 24402 */ // Label 641: @24402
9558 /* 24402 */ GIM_Try, /*On fail goto*//*Label 642*/ GIMT_Encode4(24425), // Rule ID 4418 //
9559 /* 24407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9560 /* 24410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9561 /* 24414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
9562 /* 24418 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KANDDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
9563 /* 24418 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDDkk),
9564 /* 24423 */ GIR_RootConstrainSelectedInstOperands,
9565 /* 24424 */ // GIR_Coverage, 4418,
9566 /* 24424 */ GIR_Done,
9567 /* 24425 */ // Label 642: @24425
9568 /* 24425 */ GIM_Reject,
9569 /* 24426 */ // Label 639: @24426
9570 /* 24426 */ GIM_Reject,
9571 /* 24427 */ // Label 468: @24427
9572 /* 24427 */ GIM_Try, /*On fail goto*//*Label 643*/ GIMT_Encode4(24892),
9573 /* 24432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
9574 /* 24435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
9575 /* 24438 */ GIM_Try, /*On fail goto*//*Label 644*/ GIMT_Encode4(24500), // Rule ID 25263 //
9576 /* 24443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9577 /* 24446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9578 /* 24450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9579 /* 24454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9580 /* 24458 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9581 /* 24461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9582 /* 24465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9583 /* 24469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9584 /* 24473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9585 /* 24475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9586 /* 24482 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9587 /* 24482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9588 /* 24485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9589 /* 24487 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9590 /* 24489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9591 /* 24493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9592 /* 24498 */ GIR_RootConstrainSelectedInstOperands,
9593 /* 24499 */ // GIR_Coverage, 25263,
9594 /* 24499 */ GIR_EraseRootFromParent_Done,
9595 /* 24500 */ // Label 644: @24500
9596 /* 24500 */ GIM_Try, /*On fail goto*//*Label 645*/ GIMT_Encode4(24562), // Rule ID 25272 //
9597 /* 24505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9598 /* 24508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9599 /* 24512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9600 /* 24516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9601 /* 24520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9602 /* 24523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9603 /* 24527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9604 /* 24531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9605 /* 24535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9606 /* 24537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9607 /* 24544 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9608 /* 24544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9609 /* 24547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9610 /* 24549 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9611 /* 24551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9612 /* 24555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9613 /* 24560 */ GIR_RootConstrainSelectedInstOperands,
9614 /* 24561 */ // GIR_Coverage, 25272,
9615 /* 24561 */ GIR_EraseRootFromParent_Done,
9616 /* 24562 */ // Label 645: @24562
9617 /* 24562 */ GIM_Try, /*On fail goto*//*Label 646*/ GIMT_Encode4(24624), // Rule ID 25471 //
9618 /* 24567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9619 /* 24570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9620 /* 24574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9621 /* 24578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9622 /* 24582 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9623 /* 24585 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9624 /* 24589 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9625 /* 24593 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9626 /* 24597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9627 /* 24599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9628 /* 24606 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9629 /* 24606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9630 /* 24609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9631 /* 24611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9632 /* 24613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9633 /* 24617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9634 /* 24622 */ GIR_RootConstrainSelectedInstOperands,
9635 /* 24623 */ // GIR_Coverage, 25471,
9636 /* 24623 */ GIR_EraseRootFromParent_Done,
9637 /* 24624 */ // Label 646: @24624
9638 /* 24624 */ GIM_Try, /*On fail goto*//*Label 647*/ GIMT_Encode4(24686), // Rule ID 18091 //
9639 /* 24629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9640 /* 24632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9641 /* 24636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9642 /* 24640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9643 /* 24644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9644 /* 24648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9645 /* 24651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9646 /* 24655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9647 /* 24659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9648 /* 24661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9649 /* 24668 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9650 /* 24668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9651 /* 24671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9652 /* 24673 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9653 /* 24675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9654 /* 24679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9655 /* 24684 */ GIR_RootConstrainSelectedInstOperands,
9656 /* 24685 */ // GIR_Coverage, 18091,
9657 /* 24685 */ GIR_EraseRootFromParent_Done,
9658 /* 24686 */ // Label 647: @24686
9659 /* 24686 */ GIM_Try, /*On fail goto*//*Label 648*/ GIMT_Encode4(24748), // Rule ID 18119 //
9660 /* 24691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9661 /* 24694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9662 /* 24698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9663 /* 24702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9664 /* 24706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9665 /* 24710 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9666 /* 24713 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9667 /* 24717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9668 /* 24721 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9669 /* 24723 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9670 /* 24730 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9671 /* 24730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9672 /* 24733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9673 /* 24735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9674 /* 24737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9675 /* 24741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9676 /* 24746 */ GIR_RootConstrainSelectedInstOperands,
9677 /* 24747 */ // GIR_Coverage, 18119,
9678 /* 24747 */ GIR_EraseRootFromParent_Done,
9679 /* 24748 */ // Label 648: @24748
9680 /* 24748 */ GIM_Try, /*On fail goto*//*Label 649*/ GIMT_Encode4(24810), // Rule ID 20048 //
9681 /* 24753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9682 /* 24756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9683 /* 24760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9684 /* 24764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9685 /* 24768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9686 /* 24772 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9687 /* 24775 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9688 /* 24779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9689 /* 24783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9690 /* 24785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9691 /* 24792 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9692 /* 24792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9693 /* 24795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9694 /* 24797 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9695 /* 24799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9696 /* 24803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9697 /* 24808 */ GIR_RootConstrainSelectedInstOperands,
9698 /* 24809 */ // GIR_Coverage, 20048,
9699 /* 24809 */ GIR_EraseRootFromParent_Done,
9700 /* 24810 */ // Label 649: @24810
9701 /* 24810 */ GIM_Try, /*On fail goto*//*Label 650*/ GIMT_Encode4(24837), // Rule ID 18079 //
9702 /* 24815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9703 /* 24818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9704 /* 24822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9705 /* 24826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9706 /* 24830 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPANDYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
9707 /* 24830 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9708 /* 24835 */ GIR_RootConstrainSelectedInstOperands,
9709 /* 24836 */ // GIR_Coverage, 18079,
9710 /* 24836 */ GIR_Done,
9711 /* 24837 */ // Label 650: @24837
9712 /* 24837 */ GIM_Try, /*On fail goto*//*Label 651*/ GIMT_Encode4(24864), // Rule ID 18103 //
9713 /* 24842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9714 /* 24845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9715 /* 24849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9716 /* 24853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9717 /* 24857 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VANDPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
9718 /* 24857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9719 /* 24862 */ GIR_RootConstrainSelectedInstOperands,
9720 /* 24863 */ // GIR_Coverage, 18103,
9721 /* 24863 */ GIR_Done,
9722 /* 24864 */ // Label 651: @24864
9723 /* 24864 */ GIM_Try, /*On fail goto*//*Label 652*/ GIMT_Encode4(24891), // Rule ID 20040 //
9724 /* 24869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
9725 /* 24872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9726 /* 24876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9727 /* 24880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9728 /* 24884 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPANDQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
9729 /* 24884 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
9730 /* 24889 */ GIR_RootConstrainSelectedInstOperands,
9731 /* 24890 */ // GIR_Coverage, 20040,
9732 /* 24890 */ GIR_Done,
9733 /* 24891 */ // Label 652: @24891
9734 /* 24891 */ GIM_Reject,
9735 /* 24892 */ // Label 643: @24892
9736 /* 24892 */ GIM_Reject,
9737 /* 24893 */ // Label 469: @24893
9738 /* 24893 */ GIM_Try, /*On fail goto*//*Label 653*/ GIMT_Encode4(25048),
9739 /* 24898 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
9740 /* 24901 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
9741 /* 24904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9742 /* 24908 */ GIM_Try, /*On fail goto*//*Label 654*/ GIMT_Encode4(24966), // Rule ID 25478 //
9743 /* 24913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9744 /* 24916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9745 /* 24920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9746 /* 24924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9747 /* 24927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9748 /* 24931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9749 /* 24935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9750 /* 24939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9751 /* 24941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9752 /* 24948 */ // (and:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9753 /* 24948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9754 /* 24951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9755 /* 24953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9756 /* 24955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9757 /* 24959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9758 /* 24964 */ GIR_RootConstrainSelectedInstOperands,
9759 /* 24965 */ // GIR_Coverage, 25478,
9760 /* 24965 */ GIR_EraseRootFromParent_Done,
9761 /* 24966 */ // Label 654: @24966
9762 /* 24966 */ GIM_Try, /*On fail goto*//*Label 655*/ GIMT_Encode4(25024), // Rule ID 20065 //
9763 /* 24971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9764 /* 24974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9765 /* 24978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9766 /* 24982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9767 /* 24986 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9768 /* 24989 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9769 /* 24993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9770 /* 24997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9771 /* 24999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9772 /* 25006 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
9773 /* 25006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9774 /* 25009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9775 /* 25011 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9776 /* 25013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9777 /* 25017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9778 /* 25022 */ GIR_RootConstrainSelectedInstOperands,
9779 /* 25023 */ // GIR_Coverage, 20065,
9780 /* 25023 */ GIR_EraseRootFromParent_Done,
9781 /* 25024 */ // Label 655: @25024
9782 /* 25024 */ GIM_Try, /*On fail goto*//*Label 656*/ GIMT_Encode4(25047), // Rule ID 20057 //
9783 /* 25029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9784 /* 25032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9785 /* 25036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9786 /* 25040 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPANDQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
9787 /* 25040 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9788 /* 25045 */ GIR_RootConstrainSelectedInstOperands,
9789 /* 25046 */ // GIR_Coverage, 20057,
9790 /* 25046 */ GIR_Done,
9791 /* 25047 */ // Label 656: @25047
9792 /* 25047 */ GIM_Reject,
9793 /* 25048 */ // Label 653: @25048
9794 /* 25048 */ GIM_Reject,
9795 /* 25049 */ // Label 470: @25049
9796 /* 25049 */ GIM_Try, /*On fail goto*//*Label 657*/ GIMT_Encode4(25208),
9797 /* 25054 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
9798 /* 25057 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
9799 /* 25060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9800 /* 25064 */ GIM_Try, /*On fail goto*//*Label 658*/ GIMT_Encode4(25124), // Rule ID 4435 //
9801 /* 25069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9802 /* 25072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9803 /* 25076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9804 /* 25080 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
9805 /* 25084 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
9806 /* 25088 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9807 /* 25093 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9808 /* 25097 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9809 /* 25103 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9810 /* 25105 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9811 /* 25109 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9812 /* 25111 */ // (and:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9813 /* 25111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
9814 /* 25114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9815 /* 25116 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9816 /* 25120 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
9817 /* 25122 */ GIR_RootConstrainSelectedInstOperands,
9818 /* 25123 */ // GIR_Coverage, 4435,
9819 /* 25123 */ GIR_EraseRootFromParent_Done,
9820 /* 25124 */ // Label 658: @25124
9821 /* 25124 */ GIM_Try, /*On fail goto*//*Label 659*/ GIMT_Encode4(25184), // Rule ID 23728 //
9822 /* 25129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9823 /* 25132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9824 /* 25136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9825 /* 25140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9826 /* 25144 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
9827 /* 25148 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
9828 /* 25152 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9829 /* 25157 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
9830 /* 25161 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
9831 /* 25167 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
9832 /* 25169 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9833 /* 25171 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9834 /* 25171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
9835 /* 25174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9836 /* 25176 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
9837 /* 25180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
9838 /* 25182 */ GIR_RootConstrainSelectedInstOperands,
9839 /* 25183 */ // GIR_Coverage, 23728,
9840 /* 25183 */ GIR_EraseRootFromParent_Done,
9841 /* 25184 */ // Label 659: @25184
9842 /* 25184 */ GIM_Try, /*On fail goto*//*Label 660*/ GIMT_Encode4(25207), // Rule ID 4419 //
9843 /* 25189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
9844 /* 25192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9845 /* 25196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
9846 /* 25200 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KANDQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
9847 /* 25200 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDQkk),
9848 /* 25205 */ GIR_RootConstrainSelectedInstOperands,
9849 /* 25206 */ // GIR_Coverage, 4419,
9850 /* 25206 */ GIR_Done,
9851 /* 25207 */ // Label 660: @25207
9852 /* 25207 */ GIM_Reject,
9853 /* 25208 */ // Label 657: @25208
9854 /* 25208 */ GIM_Reject,
9855 /* 25209 */ // Label 471: @25209
9856 /* 25209 */ GIM_Try, /*On fail goto*//*Label 661*/ GIMT_Encode4(25364),
9857 /* 25214 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
9858 /* 25217 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
9859 /* 25220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9860 /* 25224 */ GIM_Try, /*On fail goto*//*Label 662*/ GIMT_Encode4(25282), // Rule ID 25477 //
9861 /* 25229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9862 /* 25232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9863 /* 25236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9864 /* 25240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9865 /* 25243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9866 /* 25247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9867 /* 25251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9868 /* 25255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9869 /* 25257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9870 /* 25264 */ // (and:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9871 /* 25264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9872 /* 25267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9873 /* 25269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9874 /* 25271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9875 /* 25275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9876 /* 25280 */ GIR_RootConstrainSelectedInstOperands,
9877 /* 25281 */ // GIR_Coverage, 25477,
9878 /* 25281 */ GIR_EraseRootFromParent_Done,
9879 /* 25282 */ // Label 662: @25282
9880 /* 25282 */ GIM_Try, /*On fail goto*//*Label 663*/ GIMT_Encode4(25340), // Rule ID 20064 //
9881 /* 25287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9882 /* 25290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9883 /* 25294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9884 /* 25298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9885 /* 25302 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9886 /* 25305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9887 /* 25309 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9888 /* 25313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9889 /* 25315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9890 /* 25322 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9891 /* 25322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9892 /* 25325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9893 /* 25327 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9894 /* 25329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9895 /* 25333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9896 /* 25338 */ GIR_RootConstrainSelectedInstOperands,
9897 /* 25339 */ // GIR_Coverage, 20064,
9898 /* 25339 */ GIR_EraseRootFromParent_Done,
9899 /* 25340 */ // Label 663: @25340
9900 /* 25340 */ GIM_Try, /*On fail goto*//*Label 664*/ GIMT_Encode4(25363), // Rule ID 20056 //
9901 /* 25345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9902 /* 25348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9903 /* 25352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9904 /* 25356 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPANDQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
9905 /* 25356 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9906 /* 25361 */ GIR_RootConstrainSelectedInstOperands,
9907 /* 25362 */ // GIR_Coverage, 20056,
9908 /* 25362 */ GIR_Done,
9909 /* 25363 */ // Label 664: @25363
9910 /* 25363 */ GIM_Reject,
9911 /* 25364 */ // Label 661: @25364
9912 /* 25364 */ GIM_Reject,
9913 /* 25365 */ // Label 472: @25365
9914 /* 25365 */ GIM_Reject,
9915 /* 25366 */ // Label 4: @25366
9916 /* 25366 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 688*/ GIMT_Encode4(33769),
9917 /* 25377 */ /*GILLT_s1*//*Label 665*/ GIMT_Encode4(25477),
9918 /* 25381 */ /*GILLT_s8*//*Label 666*/ GIMT_Encode4(25577),
9919 /* 25385 */ /*GILLT_s16*//*Label 667*/ GIMT_Encode4(25970),
9920 /* 25389 */ /*GILLT_s32*//*Label 668*/ GIMT_Encode4(26567),
9921 /* 25393 */ /*GILLT_s64*//*Label 669*/ GIMT_Encode4(28023), GIMT_Encode4(0), GIMT_Encode4(0),
9922 /* 25405 */ /*GILLT_v2s1*//*Label 670*/ GIMT_Encode4(29487),
9923 /* 25409 */ /*GILLT_v2s64*//*Label 671*/ GIMT_Encode4(29587),
9924 /* 25413 */ /*GILLT_v4s1*//*Label 672*/ GIMT_Encode4(29929),
9925 /* 25417 */ /*GILLT_v4s32*//*Label 673*/ GIMT_Encode4(30029),
9926 /* 25421 */ /*GILLT_v4s64*//*Label 674*/ GIMT_Encode4(30371),
9927 /* 25425 */ /*GILLT_v8s1*//*Label 675*/ GIMT_Encode4(30837),
9928 /* 25429 */ /*GILLT_v8s16*//*Label 676*/ GIMT_Encode4(30961),
9929 /* 25433 */ /*GILLT_v8s32*//*Label 677*/ GIMT_Encode4(31303),
9930 /* 25437 */ /*GILLT_v8s64*//*Label 678*/ GIMT_Encode4(31769),
9931 /* 25441 */ /*GILLT_v16s1*//*Label 679*/ GIMT_Encode4(31925),
9932 /* 25445 */ /*GILLT_v16s8*//*Label 680*/ GIMT_Encode4(31959),
9933 /* 25449 */ /*GILLT_v16s16*//*Label 681*/ GIMT_Encode4(32301),
9934 /* 25453 */ /*GILLT_v16s32*//*Label 682*/ GIMT_Encode4(32767),
9935 /* 25457 */ /*GILLT_v32s1*//*Label 683*/ GIMT_Encode4(32923),
9936 /* 25461 */ /*GILLT_v32s8*//*Label 684*/ GIMT_Encode4(32957),
9937 /* 25465 */ /*GILLT_v32s16*//*Label 685*/ GIMT_Encode4(33423),
9938 /* 25469 */ /*GILLT_v64s1*//*Label 686*/ GIMT_Encode4(33579),
9939 /* 25473 */ /*GILLT_v64s8*//*Label 687*/ GIMT_Encode4(33613),
9940 /* 25477 */ // Label 665: @25477
9941 /* 25477 */ GIM_Try, /*On fail goto*//*Label 689*/ GIMT_Encode4(25576), // Rule ID 19489 //
9942 /* 25482 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
9943 /* 25485 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
9944 /* 25488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9945 /* 25492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9946 /* 25496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9947 /* 25500 */ // (or:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, VK1:{ *:[v1i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
9948 /* 25500 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
9949 /* 25503 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9950 /* 25507 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9951 /* 25512 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
9952 /* 25516 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9953 /* 25521 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
9954 /* 25524 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9955 /* 25528 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9956 /* 25533 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
9957 /* 25537 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9958 /* 25542 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
9959 /* 25545 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
9960 /* 25549 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9961 /* 25554 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9962 /* 25557 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
9963 /* 25560 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
9964 /* 25562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9965 /* 25565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9966 /* 25567 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9967 /* 25570 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
9968 /* 25575 */ // GIR_Coverage, 19489,
9969 /* 25575 */ GIR_EraseRootFromParent_Done,
9970 /* 25576 */ // Label 689: @25576
9971 /* 25576 */ GIM_Reject,
9972 /* 25577 */ // Label 666: @25577
9973 /* 25577 */ GIM_Try, /*On fail goto*//*Label 690*/ GIMT_Encode4(25969),
9974 /* 25582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
9975 /* 25585 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
9976 /* 25588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9977 /* 25592 */ GIM_Try, /*On fail goto*//*Label 691*/ GIMT_Encode4(25653), // Rule ID 26094 //
9978 /* 25597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9979 /* 25600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9980 /* 25604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9981 /* 25608 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9982 /* 25611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9983 /* 25615 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9984 /* 25619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9985 /* 25623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9986 /* 25625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9987 /* 25632 */ // (or:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (OR8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
9988 /* 25632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9989 /* 25635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9990 /* 25637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9991 /* 25639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9992 /* 25643 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9993 /* 25646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9994 /* 25651 */ GIR_RootConstrainSelectedInstOperands,
9995 /* 25652 */ // GIR_Coverage, 26094,
9996 /* 25652 */ GIR_EraseRootFromParent_Done,
9997 /* 25653 */ // Label 691: @25653
9998 /* 25653 */ GIM_Try, /*On fail goto*//*Label 692*/ GIMT_Encode4(25714), // Rule ID 26113 //
9999 /* 25658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10000 /* 25661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10001 /* 25665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10002 /* 25669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10003 /* 25672 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10004 /* 25676 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
10005 /* 25680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10006 /* 25684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10007 /* 25686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10008 /* 25693 */ // (or:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (OR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10009 /* 25693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm_ND),
10010 /* 25696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10011 /* 25698 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10012 /* 25700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10013 /* 25704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10014 /* 25707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10015 /* 25712 */ GIR_RootConstrainSelectedInstOperands,
10016 /* 25713 */ // GIR_Coverage, 26113,
10017 /* 25713 */ GIR_EraseRootFromParent_Done,
10018 /* 25714 */ // Label 692: @25714
10019 /* 25714 */ GIM_Try, /*On fail goto*//*Label 693*/ GIMT_Encode4(25775), // Rule ID 22863 //
10020 /* 25719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10021 /* 25722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10022 /* 25726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10023 /* 25730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10024 /* 25734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10025 /* 25737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10026 /* 25741 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
10027 /* 25745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10028 /* 25747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10029 /* 25754 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (OR8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10030 /* 25754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
10031 /* 25757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10032 /* 25759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10033 /* 25761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10034 /* 25765 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10035 /* 25768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10036 /* 25773 */ GIR_RootConstrainSelectedInstOperands,
10037 /* 25774 */ // GIR_Coverage, 22863,
10038 /* 25774 */ GIR_EraseRootFromParent_Done,
10039 /* 25775 */ // Label 693: @25775
10040 /* 25775 */ GIM_Try, /*On fail goto*//*Label 694*/ GIMT_Encode4(25836), // Rule ID 22953 //
10041 /* 25780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10042 /* 25783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10043 /* 25787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10044 /* 25791 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10045 /* 25795 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10046 /* 25798 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10047 /* 25802 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
10048 /* 25806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10049 /* 25808 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10050 /* 25815 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (OR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
10051 /* 25815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm_ND),
10052 /* 25818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10053 /* 25820 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10054 /* 25822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10055 /* 25826 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10056 /* 25829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10057 /* 25834 */ GIR_RootConstrainSelectedInstOperands,
10058 /* 25835 */ // GIR_Coverage, 22953,
10059 /* 25835 */ GIR_EraseRootFromParent_Done,
10060 /* 25836 */ // Label 694: @25836
10061 /* 25836 */ GIM_Try, /*On fail goto*//*Label 695*/ GIMT_Encode4(25873), // Rule ID 22867 //
10062 /* 25841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10063 /* 25844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10064 /* 25848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10065 /* 25852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10066 /* 25856 */ // MIs[1] Operand 1
10067 /* 25856 */ // No operand predicates
10068 /* 25856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10069 /* 25858 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
10070 /* 25858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri),
10071 /* 25861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10072 /* 25863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10073 /* 25865 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10074 /* 25868 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10075 /* 25871 */ GIR_RootConstrainSelectedInstOperands,
10076 /* 25872 */ // GIR_Coverage, 22867,
10077 /* 25872 */ GIR_EraseRootFromParent_Done,
10078 /* 25873 */ // Label 695: @25873
10079 /* 25873 */ GIM_Try, /*On fail goto*//*Label 696*/ GIMT_Encode4(25910), // Rule ID 22957 //
10080 /* 25878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10081 /* 25881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10082 /* 25885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10083 /* 25889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10084 /* 25893 */ // MIs[1] Operand 1
10085 /* 25893 */ // No operand predicates
10086 /* 25893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10087 /* 25895 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
10088 /* 25895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri_ND),
10089 /* 25898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10090 /* 25900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10091 /* 25902 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10092 /* 25905 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10093 /* 25908 */ GIR_RootConstrainSelectedInstOperands,
10094 /* 25909 */ // GIR_Coverage, 22957,
10095 /* 25909 */ GIR_EraseRootFromParent_Done,
10096 /* 25910 */ // Label 696: @25910
10097 /* 25910 */ GIM_Try, /*On fail goto*//*Label 697*/ GIMT_Encode4(25939), // Rule ID 22859 //
10098 /* 25915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10099 /* 25918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10100 /* 25922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10101 /* 25926 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
10102 /* 25926 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr),
10103 /* 25931 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10104 /* 25937 */ GIR_RootConstrainSelectedInstOperands,
10105 /* 25938 */ // GIR_Coverage, 22859,
10106 /* 25938 */ GIR_Done,
10107 /* 25939 */ // Label 697: @25939
10108 /* 25939 */ GIM_Try, /*On fail goto*//*Label 698*/ GIMT_Encode4(25968), // Rule ID 22949 //
10109 /* 25944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10110 /* 25947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10111 /* 25951 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10112 /* 25955 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
10113 /* 25955 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr_ND),
10114 /* 25960 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10115 /* 25966 */ GIR_RootConstrainSelectedInstOperands,
10116 /* 25967 */ // GIR_Coverage, 22949,
10117 /* 25967 */ GIR_Done,
10118 /* 25968 */ // Label 698: @25968
10119 /* 25968 */ GIM_Reject,
10120 /* 25969 */ // Label 690: @25969
10121 /* 25969 */ GIM_Reject,
10122 /* 25970 */ // Label 667: @25970
10123 /* 25970 */ GIM_Try, /*On fail goto*//*Label 699*/ GIMT_Encode4(26566),
10124 /* 25975 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
10125 /* 25978 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
10126 /* 25981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10127 /* 25985 */ GIM_Try, /*On fail goto*//*Label 700*/ GIMT_Encode4(26046), // Rule ID 26095 //
10128 /* 25990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10129 /* 25993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10130 /* 25997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10131 /* 26001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10132 /* 26004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10133 /* 26008 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10134 /* 26012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10135 /* 26016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10136 /* 26018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10137 /* 26025 */ // (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (OR16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10138 /* 26025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
10139 /* 26028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10140 /* 26030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10141 /* 26032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10142 /* 26036 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10143 /* 26039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10144 /* 26044 */ GIR_RootConstrainSelectedInstOperands,
10145 /* 26045 */ // GIR_Coverage, 26095,
10146 /* 26045 */ GIR_EraseRootFromParent_Done,
10147 /* 26046 */ // Label 700: @26046
10148 /* 26046 */ GIM_Try, /*On fail goto*//*Label 701*/ GIMT_Encode4(26107), // Rule ID 26114 //
10149 /* 26051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10150 /* 26054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10151 /* 26058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10152 /* 26062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10153 /* 26065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10154 /* 26069 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10155 /* 26073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10156 /* 26077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10157 /* 26079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10158 /* 26086 */ // (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (OR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10159 /* 26086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm_ND),
10160 /* 26089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10161 /* 26091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10162 /* 26093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10163 /* 26097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10164 /* 26100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10165 /* 26105 */ GIR_RootConstrainSelectedInstOperands,
10166 /* 26106 */ // GIR_Coverage, 26114,
10167 /* 26106 */ GIR_EraseRootFromParent_Done,
10168 /* 26107 */ // Label 701: @26107
10169 /* 26107 */ GIM_Try, /*On fail goto*//*Label 702*/ GIMT_Encode4(26168), // Rule ID 22864 //
10170 /* 26112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10171 /* 26115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10172 /* 26119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10173 /* 26123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10174 /* 26127 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10175 /* 26130 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10176 /* 26134 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10177 /* 26138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10178 /* 26140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10179 /* 26147 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (OR16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10180 /* 26147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
10181 /* 26150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10182 /* 26152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10183 /* 26154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10184 /* 26158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10185 /* 26161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10186 /* 26166 */ GIR_RootConstrainSelectedInstOperands,
10187 /* 26167 */ // GIR_Coverage, 22864,
10188 /* 26167 */ GIR_EraseRootFromParent_Done,
10189 /* 26168 */ // Label 702: @26168
10190 /* 26168 */ GIM_Try, /*On fail goto*//*Label 703*/ GIMT_Encode4(26229), // Rule ID 22954 //
10191 /* 26173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10192 /* 26176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10193 /* 26180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10194 /* 26184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10195 /* 26188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10196 /* 26191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10197 /* 26195 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
10198 /* 26199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10199 /* 26201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10200 /* 26208 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (OR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
10201 /* 26208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm_ND),
10202 /* 26211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10203 /* 26213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10204 /* 26215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10205 /* 26219 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10206 /* 26222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10207 /* 26227 */ GIR_RootConstrainSelectedInstOperands,
10208 /* 26228 */ // GIR_Coverage, 22954,
10209 /* 26228 */ GIR_EraseRootFromParent_Done,
10210 /* 26229 */ // Label 703: @26229
10211 /* 26229 */ GIM_Try, /*On fail goto*//*Label 704*/ GIMT_Encode4(26331), // Rule ID 26070 //
10212 /* 26234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10213 /* 26238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10214 /* 26242 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
10215 /* 26246 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10216 /* 26250 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10217 /* 26254 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10218 /* 26259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10219 /* 26263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10220 /* 26265 */ // (or:{ *:[i16] } (shl:{ *:[i16] } 1:{ *:[i16] }, GR8:{ *:[i8] }:$src2), GR16:{ *:[i16] }:$src1) => (BTS16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (INSERT_SUBREG:{ *:[i16] } (IMPLICIT_DEF:{ *:[i16] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
10221 /* 26265 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
10222 /* 26268 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10223 /* 26272 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10224 /* 26277 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10225 /* 26279 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
10226 /* 26282 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10227 /* 26286 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10228 /* 26291 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10229 /* 26294 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10230 /* 26298 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10231 /* 26301 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
10232 /* 26306 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
10233 /* 26311 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10234 /* 26316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
10235 /* 26319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10236 /* 26321 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10237 /* 26323 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10238 /* 26326 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10239 /* 26329 */ GIR_RootConstrainSelectedInstOperands,
10240 /* 26330 */ // GIR_Coverage, 26070,
10241 /* 26330 */ GIR_EraseRootFromParent_Done,
10242 /* 26331 */ // Label 704: @26331
10243 /* 26331 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(26433), // Rule ID 22808 //
10244 /* 26336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10245 /* 26340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10246 /* 26344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10247 /* 26348 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
10248 /* 26352 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10249 /* 26356 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10250 /* 26360 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10251 /* 26365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10252 /* 26367 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (shl:{ *:[i16] } 1:{ *:[i16] }, GR8:{ *:[i8] }:$src2)) => (BTS16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (INSERT_SUBREG:{ *:[i16] } (IMPLICIT_DEF:{ *:[i16] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
10253 /* 26367 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
10254 /* 26370 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10255 /* 26374 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10256 /* 26379 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10257 /* 26381 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
10258 /* 26384 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10259 /* 26388 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10260 /* 26393 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10261 /* 26396 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10262 /* 26400 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10263 /* 26403 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
10264 /* 26408 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
10265 /* 26413 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10266 /* 26418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
10267 /* 26421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10268 /* 26423 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10269 /* 26425 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10270 /* 26428 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10271 /* 26431 */ GIR_RootConstrainSelectedInstOperands,
10272 /* 26432 */ // GIR_Coverage, 22808,
10273 /* 26432 */ GIR_EraseRootFromParent_Done,
10274 /* 26433 */ // Label 705: @26433
10275 /* 26433 */ GIM_Try, /*On fail goto*//*Label 706*/ GIMT_Encode4(26470), // Rule ID 22868 //
10276 /* 26438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10277 /* 26441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10278 /* 26445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10279 /* 26449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10280 /* 26453 */ // MIs[1] Operand 1
10281 /* 26453 */ // No operand predicates
10282 /* 26453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10283 /* 26455 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
10284 /* 26455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri),
10285 /* 26458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10286 /* 26460 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10287 /* 26462 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10288 /* 26465 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10289 /* 26468 */ GIR_RootConstrainSelectedInstOperands,
10290 /* 26469 */ // GIR_Coverage, 22868,
10291 /* 26469 */ GIR_EraseRootFromParent_Done,
10292 /* 26470 */ // Label 706: @26470
10293 /* 26470 */ GIM_Try, /*On fail goto*//*Label 707*/ GIMT_Encode4(26507), // Rule ID 22958 //
10294 /* 26475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10295 /* 26478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10296 /* 26482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10297 /* 26486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10298 /* 26490 */ // MIs[1] Operand 1
10299 /* 26490 */ // No operand predicates
10300 /* 26490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10301 /* 26492 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
10302 /* 26492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri_ND),
10303 /* 26495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10304 /* 26497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10305 /* 26499 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10306 /* 26502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10307 /* 26505 */ GIR_RootConstrainSelectedInstOperands,
10308 /* 26506 */ // GIR_Coverage, 22958,
10309 /* 26506 */ GIR_EraseRootFromParent_Done,
10310 /* 26507 */ // Label 707: @26507
10311 /* 26507 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(26536), // Rule ID 22860 //
10312 /* 26512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10313 /* 26515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10314 /* 26519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10315 /* 26523 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
10316 /* 26523 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr),
10317 /* 26528 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10318 /* 26534 */ GIR_RootConstrainSelectedInstOperands,
10319 /* 26535 */ // GIR_Coverage, 22860,
10320 /* 26535 */ GIR_Done,
10321 /* 26536 */ // Label 708: @26536
10322 /* 26536 */ GIM_Try, /*On fail goto*//*Label 709*/ GIMT_Encode4(26565), // Rule ID 22950 //
10323 /* 26541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10324 /* 26544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10325 /* 26548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
10326 /* 26552 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
10327 /* 26552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr_ND),
10328 /* 26557 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10329 /* 26563 */ GIR_RootConstrainSelectedInstOperands,
10330 /* 26564 */ // GIR_Coverage, 22950,
10331 /* 26564 */ GIR_Done,
10332 /* 26565 */ // Label 709: @26565
10333 /* 26565 */ GIM_Reject,
10334 /* 26566 */ // Label 699: @26566
10335 /* 26566 */ GIM_Reject,
10336 /* 26567 */ // Label 668: @26567
10337 /* 26567 */ GIM_Try, /*On fail goto*//*Label 710*/ GIMT_Encode4(28022),
10338 /* 26572 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
10339 /* 26575 */ GIM_Try, /*On fail goto*//*Label 711*/ GIMT_Encode4(26643), // Rule ID 26096 //
10340 /* 26580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10341 /* 26583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10342 /* 26586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10343 /* 26590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10344 /* 26594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10345 /* 26598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10346 /* 26601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10347 /* 26605 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10348 /* 26609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10349 /* 26613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10350 /* 26615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10351 /* 26622 */ // (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (OR32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10352 /* 26622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
10353 /* 26625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10354 /* 26627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10355 /* 26629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10356 /* 26633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10357 /* 26636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10358 /* 26641 */ GIR_RootConstrainSelectedInstOperands,
10359 /* 26642 */ // GIR_Coverage, 26096,
10360 /* 26642 */ GIR_EraseRootFromParent_Done,
10361 /* 26643 */ // Label 711: @26643
10362 /* 26643 */ GIM_Try, /*On fail goto*//*Label 712*/ GIMT_Encode4(26711), // Rule ID 26115 //
10363 /* 26648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10364 /* 26651 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10365 /* 26654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10366 /* 26658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10367 /* 26662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10368 /* 26666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10369 /* 26669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10370 /* 26673 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10371 /* 26677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10372 /* 26681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10373 /* 26683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10374 /* 26690 */ // (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (OR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10375 /* 26690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm_ND),
10376 /* 26693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10377 /* 26695 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10378 /* 26697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10379 /* 26701 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10380 /* 26704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10381 /* 26709 */ GIR_RootConstrainSelectedInstOperands,
10382 /* 26710 */ // GIR_Coverage, 26115,
10383 /* 26710 */ GIR_EraseRootFromParent_Done,
10384 /* 26711 */ // Label 712: @26711
10385 /* 26711 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(26779), // Rule ID 22865 //
10386 /* 26716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10387 /* 26719 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10388 /* 26722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10389 /* 26726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10390 /* 26730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10391 /* 26734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10392 /* 26738 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10393 /* 26741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10394 /* 26745 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10395 /* 26749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10396 /* 26751 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10397 /* 26758 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (OR32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10398 /* 26758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
10399 /* 26761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10400 /* 26763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10401 /* 26765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10402 /* 26769 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10403 /* 26772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10404 /* 26777 */ GIR_RootConstrainSelectedInstOperands,
10405 /* 26778 */ // GIR_Coverage, 22865,
10406 /* 26778 */ GIR_EraseRootFromParent_Done,
10407 /* 26779 */ // Label 713: @26779
10408 /* 26779 */ GIM_Try, /*On fail goto*//*Label 714*/ GIMT_Encode4(26847), // Rule ID 22955 //
10409 /* 26784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10410 /* 26787 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10411 /* 26790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10412 /* 26794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10413 /* 26798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10414 /* 26802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10415 /* 26806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10416 /* 26809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10417 /* 26813 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
10418 /* 26817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10419 /* 26819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10420 /* 26826 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (OR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
10421 /* 26826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm_ND),
10422 /* 26829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10423 /* 26831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10424 /* 26833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10425 /* 26837 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10426 /* 26840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10427 /* 26845 */ GIR_RootConstrainSelectedInstOperands,
10428 /* 26846 */ // GIR_Coverage, 22955,
10429 /* 26846 */ GIR_EraseRootFromParent_Done,
10430 /* 26847 */ // Label 714: @26847
10431 /* 26847 */ GIM_Try, /*On fail goto*//*Label 715*/ GIMT_Encode4(26924), // Rule ID 25036 //
10432 /* 26852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10433 /* 26855 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10434 /* 26858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10435 /* 26862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10436 /* 26866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10437 /* 26870 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10438 /* 26874 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10439 /* 26878 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10440 /* 26883 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10441 /* 26887 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10442 /* 26891 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10443 /* 26895 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10444 /* 26899 */ // MIs[2] src
10445 /* 26899 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10446 /* 26904 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10447 /* 26908 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10448 /* 26910 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10449 /* 26910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
10450 /* 26913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10451 /* 26915 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10452 /* 26919 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10453 /* 26922 */ GIR_RootConstrainSelectedInstOperands,
10454 /* 26923 */ // GIR_Coverage, 25036,
10455 /* 26923 */ GIR_EraseRootFromParent_Done,
10456 /* 26924 */ // Label 715: @26924
10457 /* 26924 */ GIM_Try, /*On fail goto*//*Label 716*/ GIMT_Encode4(27001), // Rule ID 25038 //
10458 /* 26929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10459 /* 26932 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10460 /* 26935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10461 /* 26939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10462 /* 26943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10463 /* 26947 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10464 /* 26951 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10465 /* 26955 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10466 /* 26960 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10467 /* 26964 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10468 /* 26968 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10469 /* 26972 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10470 /* 26976 */ // MIs[2] src
10471 /* 26976 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10472 /* 26981 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10473 /* 26985 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10474 /* 26987 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10475 /* 26987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
10476 /* 26990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10477 /* 26992 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10478 /* 26996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10479 /* 26999 */ GIR_RootConstrainSelectedInstOperands,
10480 /* 27000 */ // GIR_Coverage, 25038,
10481 /* 27000 */ GIR_EraseRootFromParent_Done,
10482 /* 27001 */ // Label 716: @27001
10483 /* 27001 */ GIM_Try, /*On fail goto*//*Label 717*/ GIMT_Encode4(27079), // Rule ID 25024 //
10484 /* 27006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10485 /* 27009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10486 /* 27013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10487 /* 27017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10488 /* 27021 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10489 /* 27025 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10490 /* 27029 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10491 /* 27033 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10492 /* 27037 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
10493 /* 27041 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10494 /* 27045 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10495 /* 27050 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10496 /* 27054 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10497 /* 27058 */ // MIs[0] src
10498 /* 27058 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
10499 /* 27063 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10500 /* 27065 */ // (or:{ *:[i32] } (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10501 /* 27065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10502 /* 27068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10503 /* 27070 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
10504 /* 27074 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10505 /* 27077 */ GIR_RootConstrainSelectedInstOperands,
10506 /* 27078 */ // GIR_Coverage, 25024,
10507 /* 27078 */ GIR_EraseRootFromParent_Done,
10508 /* 27079 */ // Label 717: @27079
10509 /* 27079 */ GIM_Try, /*On fail goto*//*Label 718*/ GIMT_Encode4(27156), // Rule ID 17351 //
10510 /* 27084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10511 /* 27087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10512 /* 27090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10513 /* 27094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10514 /* 27098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10515 /* 27102 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10516 /* 27106 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10517 /* 27110 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10518 /* 27115 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10519 /* 27119 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10520 /* 27123 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10521 /* 27127 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10522 /* 27131 */ // MIs[2] src
10523 /* 27131 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10524 /* 27136 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10525 /* 27140 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10526 /* 27142 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10527 /* 27142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
10528 /* 27145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10529 /* 27147 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10530 /* 27151 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10531 /* 27154 */ GIR_RootConstrainSelectedInstOperands,
10532 /* 27155 */ // GIR_Coverage, 17351,
10533 /* 27155 */ GIR_EraseRootFromParent_Done,
10534 /* 27156 */ // Label 718: @27156
10535 /* 27156 */ GIM_Try, /*On fail goto*//*Label 719*/ GIMT_Encode4(27233), // Rule ID 17353 //
10536 /* 27161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10537 /* 27164 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10538 /* 27167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10539 /* 27171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10540 /* 27175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10541 /* 27179 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10542 /* 27183 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10543 /* 27187 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10544 /* 27192 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10545 /* 27196 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10546 /* 27200 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10547 /* 27204 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10548 /* 27208 */ // MIs[2] src
10549 /* 27208 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10550 /* 27213 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10551 /* 27217 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10552 /* 27219 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10553 /* 27219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
10554 /* 27222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10555 /* 27224 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10556 /* 27228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10557 /* 27231 */ GIR_RootConstrainSelectedInstOperands,
10558 /* 27232 */ // GIR_Coverage, 17353,
10559 /* 27232 */ GIR_EraseRootFromParent_Done,
10560 /* 27233 */ // Label 719: @27233
10561 /* 27233 */ GIM_Try, /*On fail goto*//*Label 720*/ GIMT_Encode4(27307), // Rule ID 17339 //
10562 /* 27238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10563 /* 27241 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10564 /* 27244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10565 /* 27248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10566 /* 27252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10567 /* 27256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10568 /* 27260 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10569 /* 27264 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10570 /* 27268 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10571 /* 27272 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10572 /* 27276 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
10573 /* 27280 */ // MIs[2] src
10574 /* 27280 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10575 /* 27285 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10576 /* 27289 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10577 /* 27293 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10578 /* 27295 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] })) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10579 /* 27295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10580 /* 27298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10581 /* 27300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10582 /* 27302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10583 /* 27305 */ GIR_RootConstrainSelectedInstOperands,
10584 /* 27306 */ // GIR_Coverage, 17339,
10585 /* 27306 */ GIR_EraseRootFromParent_Done,
10586 /* 27307 */ // Label 720: @27307
10587 /* 27307 */ GIM_Try, /*On fail goto*//*Label 721*/ GIMT_Encode4(27365), // Rule ID 25032 //
10588 /* 27312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10589 /* 27315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10590 /* 27319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10591 /* 27323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10592 /* 27327 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10593 /* 27331 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10594 /* 27335 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10595 /* 27340 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10596 /* 27344 */ // MIs[0] src
10597 /* 27344 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10598 /* 27349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10599 /* 27351 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10600 /* 27351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
10601 /* 27354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10602 /* 27356 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10603 /* 27360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10604 /* 27363 */ GIR_RootConstrainSelectedInstOperands,
10605 /* 27364 */ // GIR_Coverage, 25032,
10606 /* 27364 */ GIR_EraseRootFromParent_Done,
10607 /* 27365 */ // Label 721: @27365
10608 /* 27365 */ GIM_Try, /*On fail goto*//*Label 722*/ GIMT_Encode4(27423), // Rule ID 25034 //
10609 /* 27370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10610 /* 27373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10611 /* 27377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10612 /* 27381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10613 /* 27385 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10614 /* 27389 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10615 /* 27393 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10616 /* 27398 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10617 /* 27402 */ // MIs[0] src
10618 /* 27402 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10619 /* 27407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10620 /* 27409 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10621 /* 27409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
10622 /* 27412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10623 /* 27414 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10624 /* 27418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10625 /* 27421 */ GIR_RootConstrainSelectedInstOperands,
10626 /* 27422 */ // GIR_Coverage, 25034,
10627 /* 27422 */ GIR_EraseRootFromParent_Done,
10628 /* 27423 */ // Label 722: @27423
10629 /* 27423 */ GIM_Try, /*On fail goto*//*Label 723*/ GIMT_Encode4(27532), // Rule ID 26076 //
10630 /* 27428 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10631 /* 27431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10632 /* 27435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10633 /* 27439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10634 /* 27443 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10635 /* 27447 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10636 /* 27451 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10637 /* 27455 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10638 /* 27460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10639 /* 27464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10640 /* 27466 */ // (or:{ *:[i32] } (shl:{ *:[i32] } 1:{ *:[i32] }, GR8:{ *:[i8] }:$src2), GR32:{ *:[i32] }:$src1) => (BTS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
10641 /* 27466 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
10642 /* 27469 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10643 /* 27473 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10644 /* 27478 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10645 /* 27480 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
10646 /* 27483 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10647 /* 27487 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10648 /* 27492 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10649 /* 27495 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10650 /* 27499 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10651 /* 27502 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10652 /* 27507 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10653 /* 27512 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10654 /* 27517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
10655 /* 27520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10656 /* 27522 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10657 /* 27524 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10658 /* 27527 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10659 /* 27530 */ GIR_RootConstrainSelectedInstOperands,
10660 /* 27531 */ // GIR_Coverage, 26076,
10661 /* 27531 */ GIR_EraseRootFromParent_Done,
10662 /* 27532 */ // Label 723: @27532
10663 /* 27532 */ GIM_Try, /*On fail goto*//*Label 724*/ GIMT_Encode4(27590), // Rule ID 25026 //
10664 /* 27537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10665 /* 27540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10666 /* 27544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10667 /* 27548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10668 /* 27552 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10669 /* 27556 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10670 /* 27560 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10671 /* 27564 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10672 /* 27569 */ // MIs[0] src
10673 /* 27569 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
10674 /* 27574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10675 /* 27576 */ // (or:{ *:[i32] } (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10676 /* 27576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10677 /* 27579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10678 /* 27581 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
10679 /* 27585 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10680 /* 27588 */ GIR_RootConstrainSelectedInstOperands,
10681 /* 27589 */ // GIR_Coverage, 25026,
10682 /* 27589 */ GIR_EraseRootFromParent_Done,
10683 /* 27590 */ // Label 724: @27590
10684 /* 27590 */ GIM_Try, /*On fail goto*//*Label 725*/ GIMT_Encode4(27644), // Rule ID 17347 //
10685 /* 27595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10686 /* 27598 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10687 /* 27601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10688 /* 27605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10689 /* 27609 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10690 /* 27613 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10691 /* 27617 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10692 /* 27621 */ // MIs[1] src
10693 /* 27621 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10694 /* 27626 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10695 /* 27630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10696 /* 27632 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10697 /* 27632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
10698 /* 27635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10699 /* 27637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10700 /* 27639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10701 /* 27642 */ GIR_RootConstrainSelectedInstOperands,
10702 /* 27643 */ // GIR_Coverage, 17347,
10703 /* 27643 */ GIR_EraseRootFromParent_Done,
10704 /* 27644 */ // Label 725: @27644
10705 /* 27644 */ GIM_Try, /*On fail goto*//*Label 726*/ GIMT_Encode4(27698), // Rule ID 17349 //
10706 /* 27649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10707 /* 27652 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10708 /* 27655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10709 /* 27659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10710 /* 27663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10711 /* 27667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10712 /* 27671 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10713 /* 27675 */ // MIs[1] src
10714 /* 27675 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10715 /* 27680 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10716 /* 27684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10717 /* 27686 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10718 /* 27686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
10719 /* 27689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10720 /* 27691 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10721 /* 27693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10722 /* 27696 */ GIR_RootConstrainSelectedInstOperands,
10723 /* 27697 */ // GIR_Coverage, 17349,
10724 /* 27697 */ GIR_EraseRootFromParent_Done,
10725 /* 27698 */ // Label 726: @27698
10726 /* 27698 */ GIM_Try, /*On fail goto*//*Label 727*/ GIMT_Encode4(27807), // Rule ID 22814 //
10727 /* 27703 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10728 /* 27706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10729 /* 27710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10730 /* 27714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10731 /* 27718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10732 /* 27722 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10733 /* 27726 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10734 /* 27730 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10735 /* 27734 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10736 /* 27739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10737 /* 27741 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (shl:{ *:[i32] } 1:{ *:[i32] }, GR8:{ *:[i8] }:$src2)) => (BTS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
10738 /* 27741 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
10739 /* 27744 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10740 /* 27748 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10741 /* 27753 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10742 /* 27755 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
10743 /* 27758 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10744 /* 27762 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10745 /* 27767 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10746 /* 27770 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10747 /* 27774 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10748 /* 27777 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10749 /* 27782 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10750 /* 27787 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10751 /* 27792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
10752 /* 27795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10753 /* 27797 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10754 /* 27799 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10755 /* 27802 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10756 /* 27805 */ GIR_RootConstrainSelectedInstOperands,
10757 /* 27806 */ // GIR_Coverage, 22814,
10758 /* 27806 */ GIR_EraseRootFromParent_Done,
10759 /* 27807 */ // Label 727: @27807
10760 /* 27807 */ GIM_Try, /*On fail goto*//*Label 728*/ GIMT_Encode4(27861), // Rule ID 17341 //
10761 /* 27812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10762 /* 27815 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10763 /* 27818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10764 /* 27822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10765 /* 27826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10766 /* 27830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10767 /* 27834 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10768 /* 27838 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10769 /* 27842 */ // MIs[1] src
10770 /* 27842 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10771 /* 27847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10772 /* 27849 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src)) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10773 /* 27849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10774 /* 27852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10775 /* 27854 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10776 /* 27856 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10777 /* 27859 */ GIR_RootConstrainSelectedInstOperands,
10778 /* 27860 */ // GIR_Coverage, 17341,
10779 /* 27860 */ GIR_EraseRootFromParent_Done,
10780 /* 27861 */ // Label 728: @27861
10781 /* 27861 */ GIM_Try, /*On fail goto*//*Label 729*/ GIMT_Encode4(27905), // Rule ID 22869 //
10782 /* 27866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10783 /* 27869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10784 /* 27872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10785 /* 27876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10786 /* 27880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10787 /* 27884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10788 /* 27888 */ // MIs[1] Operand 1
10789 /* 27888 */ // No operand predicates
10790 /* 27888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10791 /* 27890 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10792 /* 27890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri),
10793 /* 27893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10794 /* 27895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10795 /* 27897 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10796 /* 27900 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10797 /* 27903 */ GIR_RootConstrainSelectedInstOperands,
10798 /* 27904 */ // GIR_Coverage, 22869,
10799 /* 27904 */ GIR_EraseRootFromParent_Done,
10800 /* 27905 */ // Label 729: @27905
10801 /* 27905 */ GIM_Try, /*On fail goto*//*Label 730*/ GIMT_Encode4(27949), // Rule ID 22959 //
10802 /* 27910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10803 /* 27913 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10804 /* 27916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10805 /* 27920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10806 /* 27924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10807 /* 27928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10808 /* 27932 */ // MIs[1] Operand 1
10809 /* 27932 */ // No operand predicates
10810 /* 27932 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10811 /* 27934 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10812 /* 27934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri_ND),
10813 /* 27937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10814 /* 27939 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10815 /* 27941 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10816 /* 27944 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10817 /* 27947 */ GIR_RootConstrainSelectedInstOperands,
10818 /* 27948 */ // GIR_Coverage, 22959,
10819 /* 27948 */ GIR_EraseRootFromParent_Done,
10820 /* 27949 */ // Label 730: @27949
10821 /* 27949 */ GIM_Try, /*On fail goto*//*Label 731*/ GIMT_Encode4(27985), // Rule ID 22861 //
10822 /* 27954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10823 /* 27957 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10824 /* 27960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10825 /* 27964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10826 /* 27968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10827 /* 27972 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10828 /* 27972 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr),
10829 /* 27977 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10830 /* 27983 */ GIR_RootConstrainSelectedInstOperands,
10831 /* 27984 */ // GIR_Coverage, 22861,
10832 /* 27984 */ GIR_Done,
10833 /* 27985 */ // Label 731: @27985
10834 /* 27985 */ GIM_Try, /*On fail goto*//*Label 732*/ GIMT_Encode4(28021), // Rule ID 22951 //
10835 /* 27990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10836 /* 27993 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10837 /* 27996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10838 /* 28000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10839 /* 28004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10840 /* 28008 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10841 /* 28008 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr_ND),
10842 /* 28013 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10843 /* 28019 */ GIR_RootConstrainSelectedInstOperands,
10844 /* 28020 */ // GIR_Coverage, 22951,
10845 /* 28020 */ GIR_Done,
10846 /* 28021 */ // Label 732: @28021
10847 /* 28021 */ GIM_Reject,
10848 /* 28022 */ // Label 710: @28022
10849 /* 28022 */ GIM_Reject,
10850 /* 28023 */ // Label 669: @28023
10851 /* 28023 */ GIM_Try, /*On fail goto*//*Label 733*/ GIMT_Encode4(29486),
10852 /* 28028 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
10853 /* 28031 */ GIM_Try, /*On fail goto*//*Label 734*/ GIMT_Encode4(28099), // Rule ID 26097 //
10854 /* 28036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10855 /* 28039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10856 /* 28042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10857 /* 28046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10858 /* 28050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10859 /* 28054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10860 /* 28057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10861 /* 28061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10862 /* 28065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10863 /* 28069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10864 /* 28071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10865 /* 28078 */ // (or:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (OR64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10866 /* 28078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10867 /* 28081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10868 /* 28083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10869 /* 28085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10870 /* 28089 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10871 /* 28092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10872 /* 28097 */ GIR_RootConstrainSelectedInstOperands,
10873 /* 28098 */ // GIR_Coverage, 26097,
10874 /* 28098 */ GIR_EraseRootFromParent_Done,
10875 /* 28099 */ // Label 734: @28099
10876 /* 28099 */ GIM_Try, /*On fail goto*//*Label 735*/ GIMT_Encode4(28167), // Rule ID 26116 //
10877 /* 28104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10878 /* 28107 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10879 /* 28110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10880 /* 28114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10881 /* 28118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10882 /* 28122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10883 /* 28125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10884 /* 28129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10885 /* 28133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10886 /* 28137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10887 /* 28139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10888 /* 28146 */ // (or:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (OR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10889 /* 28146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm_ND),
10890 /* 28149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10891 /* 28151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10892 /* 28153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10893 /* 28157 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10894 /* 28160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10895 /* 28165 */ GIR_RootConstrainSelectedInstOperands,
10896 /* 28166 */ // GIR_Coverage, 26116,
10897 /* 28166 */ GIR_EraseRootFromParent_Done,
10898 /* 28167 */ // Label 735: @28167
10899 /* 28167 */ GIM_Try, /*On fail goto*//*Label 736*/ GIMT_Encode4(28235), // Rule ID 22866 //
10900 /* 28172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10901 /* 28175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10902 /* 28178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10903 /* 28182 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10904 /* 28186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10905 /* 28190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10906 /* 28194 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10907 /* 28197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10908 /* 28201 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10909 /* 28205 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10910 /* 28207 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10911 /* 28214 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (OR64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10912 /* 28214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10913 /* 28217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10914 /* 28219 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10915 /* 28221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10916 /* 28225 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10917 /* 28228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10918 /* 28233 */ GIR_RootConstrainSelectedInstOperands,
10919 /* 28234 */ // GIR_Coverage, 22866,
10920 /* 28234 */ GIR_EraseRootFromParent_Done,
10921 /* 28235 */ // Label 736: @28235
10922 /* 28235 */ GIM_Try, /*On fail goto*//*Label 737*/ GIMT_Encode4(28303), // Rule ID 22956 //
10923 /* 28240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10924 /* 28243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10925 /* 28246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10926 /* 28250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10927 /* 28254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10928 /* 28258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10929 /* 28262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10930 /* 28265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10931 /* 28269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10932 /* 28273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10933 /* 28275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10934 /* 28282 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (OR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
10935 /* 28282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm_ND),
10936 /* 28285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10937 /* 28287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10938 /* 28289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10939 /* 28293 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10940 /* 28296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10941 /* 28301 */ GIR_RootConstrainSelectedInstOperands,
10942 /* 28302 */ // GIR_Coverage, 22956,
10943 /* 28302 */ GIR_EraseRootFromParent_Done,
10944 /* 28303 */ // Label 737: @28303
10945 /* 28303 */ GIM_Try, /*On fail goto*//*Label 738*/ GIMT_Encode4(28380), // Rule ID 25037 //
10946 /* 28308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10947 /* 28311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10948 /* 28314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10949 /* 28318 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10950 /* 28322 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10951 /* 28326 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10952 /* 28330 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10953 /* 28334 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10954 /* 28339 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10955 /* 28343 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10956 /* 28347 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10957 /* 28351 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10958 /* 28355 */ // MIs[2] src
10959 /* 28355 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10960 /* 28360 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10961 /* 28364 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10962 /* 28366 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10963 /* 28366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10964 /* 28369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10965 /* 28371 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10966 /* 28375 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10967 /* 28378 */ GIR_RootConstrainSelectedInstOperands,
10968 /* 28379 */ // GIR_Coverage, 25037,
10969 /* 28379 */ GIR_EraseRootFromParent_Done,
10970 /* 28380 */ // Label 738: @28380
10971 /* 28380 */ GIM_Try, /*On fail goto*//*Label 739*/ GIMT_Encode4(28457), // Rule ID 25039 //
10972 /* 28385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10973 /* 28388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10974 /* 28391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10975 /* 28395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10976 /* 28399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10977 /* 28403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10978 /* 28407 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10979 /* 28411 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10980 /* 28416 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10981 /* 28420 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10982 /* 28424 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10983 /* 28428 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10984 /* 28432 */ // MIs[2] src
10985 /* 28432 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10986 /* 28437 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10987 /* 28441 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10988 /* 28443 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10989 /* 28443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10990 /* 28446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10991 /* 28448 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10992 /* 28452 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10993 /* 28455 */ GIR_RootConstrainSelectedInstOperands,
10994 /* 28456 */ // GIR_Coverage, 25039,
10995 /* 28456 */ GIR_EraseRootFromParent_Done,
10996 /* 28457 */ // Label 739: @28457
10997 /* 28457 */ GIM_Try, /*On fail goto*//*Label 740*/ GIMT_Encode4(28535), // Rule ID 25025 //
10998 /* 28462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10999 /* 28465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11000 /* 28469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11001 /* 28473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11002 /* 28477 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11003 /* 28481 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11004 /* 28485 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
11005 /* 28489 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
11006 /* 28493 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
11007 /* 28497 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
11008 /* 28501 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11009 /* 28506 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
11010 /* 28510 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
11011 /* 28514 */ // MIs[0] src
11012 /* 28514 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
11013 /* 28519 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11014 /* 28521 */ // (or:{ *:[i64] } (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11015 /* 28521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11016 /* 28524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11017 /* 28526 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
11018 /* 28530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11019 /* 28533 */ GIR_RootConstrainSelectedInstOperands,
11020 /* 28534 */ // GIR_Coverage, 25025,
11021 /* 28534 */ GIR_EraseRootFromParent_Done,
11022 /* 28535 */ // Label 740: @28535
11023 /* 28535 */ GIM_Try, /*On fail goto*//*Label 741*/ GIMT_Encode4(28612), // Rule ID 17352 //
11024 /* 28540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11025 /* 28543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11026 /* 28546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11027 /* 28550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11028 /* 28554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11029 /* 28558 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11030 /* 28562 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11031 /* 28566 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11032 /* 28571 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
11033 /* 28575 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
11034 /* 28579 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
11035 /* 28583 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
11036 /* 28587 */ // MIs[2] src
11037 /* 28587 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
11038 /* 28592 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
11039 /* 28596 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11040 /* 28598 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11041 /* 28598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
11042 /* 28601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11043 /* 28603 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11044 /* 28607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11045 /* 28610 */ GIR_RootConstrainSelectedInstOperands,
11046 /* 28611 */ // GIR_Coverage, 17352,
11047 /* 28611 */ GIR_EraseRootFromParent_Done,
11048 /* 28612 */ // Label 741: @28612
11049 /* 28612 */ GIM_Try, /*On fail goto*//*Label 742*/ GIMT_Encode4(28689), // Rule ID 17354 //
11050 /* 28617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11051 /* 28620 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11052 /* 28623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11053 /* 28627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11054 /* 28631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11055 /* 28635 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11056 /* 28639 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11057 /* 28643 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11058 /* 28648 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
11059 /* 28652 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
11060 /* 28656 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
11061 /* 28660 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
11062 /* 28664 */ // MIs[2] src
11063 /* 28664 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
11064 /* 28669 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
11065 /* 28673 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11066 /* 28675 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11067 /* 28675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
11068 /* 28678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11069 /* 28680 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11070 /* 28684 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11071 /* 28687 */ GIR_RootConstrainSelectedInstOperands,
11072 /* 28688 */ // GIR_Coverage, 17354,
11073 /* 28688 */ GIR_EraseRootFromParent_Done,
11074 /* 28689 */ // Label 742: @28689
11075 /* 28689 */ GIM_Try, /*On fail goto*//*Label 743*/ GIMT_Encode4(28763), // Rule ID 17340 //
11076 /* 28694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11077 /* 28697 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11078 /* 28700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11079 /* 28704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11080 /* 28708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11081 /* 28712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
11082 /* 28716 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11083 /* 28720 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11084 /* 28724 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
11085 /* 28728 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
11086 /* 28732 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
11087 /* 28736 */ // MIs[2] src
11088 /* 28736 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
11089 /* 28741 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
11090 /* 28745 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
11091 /* 28749 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
11092 /* 28751 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] })) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11093 /* 28751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11094 /* 28754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11095 /* 28756 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11096 /* 28758 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11097 /* 28761 */ GIR_RootConstrainSelectedInstOperands,
11098 /* 28762 */ // GIR_Coverage, 17340,
11099 /* 28762 */ GIR_EraseRootFromParent_Done,
11100 /* 28763 */ // Label 743: @28763
11101 /* 28763 */ GIM_Try, /*On fail goto*//*Label 744*/ GIMT_Encode4(28821), // Rule ID 25033 //
11102 /* 28768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11103 /* 28771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11104 /* 28775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11105 /* 28779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11106 /* 28783 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11107 /* 28787 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11108 /* 28791 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11109 /* 28796 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
11110 /* 28800 */ // MIs[0] src
11111 /* 28800 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
11112 /* 28805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11113 /* 28807 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11114 /* 28807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
11115 /* 28810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11116 /* 28812 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11117 /* 28816 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11118 /* 28819 */ GIR_RootConstrainSelectedInstOperands,
11119 /* 28820 */ // GIR_Coverage, 25033,
11120 /* 28820 */ GIR_EraseRootFromParent_Done,
11121 /* 28821 */ // Label 744: @28821
11122 /* 28821 */ GIM_Try, /*On fail goto*//*Label 745*/ GIMT_Encode4(28879), // Rule ID 25035 //
11123 /* 28826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11124 /* 28829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11125 /* 28833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11126 /* 28837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11127 /* 28841 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11128 /* 28845 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11129 /* 28849 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11130 /* 28854 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
11131 /* 28858 */ // MIs[0] src
11132 /* 28858 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
11133 /* 28863 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11134 /* 28865 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11135 /* 28865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
11136 /* 28868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11137 /* 28870 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
11138 /* 28874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11139 /* 28877 */ GIR_RootConstrainSelectedInstOperands,
11140 /* 28878 */ // GIR_Coverage, 25035,
11141 /* 28878 */ GIR_EraseRootFromParent_Done,
11142 /* 28879 */ // Label 745: @28879
11143 /* 28879 */ GIM_Try, /*On fail goto*//*Label 746*/ GIMT_Encode4(28988), // Rule ID 26082 //
11144 /* 28884 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11145 /* 28887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11146 /* 28891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11147 /* 28895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
11148 /* 28899 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11149 /* 28903 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
11150 /* 28907 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
11151 /* 28911 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
11152 /* 28916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11153 /* 28920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11154 /* 28922 */ // (or:{ *:[i64] } (shl:{ *:[i64] } 1:{ *:[i64] }, GR8:{ *:[i8] }:$src2), GR64:{ *:[i64] }:$src1) => (BTS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
11155 /* 28922 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
11156 /* 28925 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
11157 /* 28929 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11158 /* 28934 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
11159 /* 28936 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
11160 /* 28939 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
11161 /* 28943 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11162 /* 28948 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11163 /* 28951 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
11164 /* 28955 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
11165 /* 28958 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11166 /* 28963 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11167 /* 28968 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
11168 /* 28973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
11169 /* 28976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11170 /* 28978 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11171 /* 28980 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11172 /* 28983 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11173 /* 28986 */ GIR_RootConstrainSelectedInstOperands,
11174 /* 28987 */ // GIR_Coverage, 26082,
11175 /* 28987 */ GIR_EraseRootFromParent_Done,
11176 /* 28988 */ // Label 746: @28988
11177 /* 28988 */ GIM_Try, /*On fail goto*//*Label 747*/ GIMT_Encode4(29046), // Rule ID 25027 //
11178 /* 28993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11179 /* 28996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11180 /* 29000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11181 /* 29004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
11182 /* 29008 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11183 /* 29012 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11184 /* 29016 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
11185 /* 29020 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11186 /* 29025 */ // MIs[0] src
11187 /* 29025 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
11188 /* 29030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11189 /* 29032 */ // (or:{ *:[i64] } (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11190 /* 29032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11191 /* 29035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11192 /* 29037 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
11193 /* 29041 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11194 /* 29044 */ GIR_RootConstrainSelectedInstOperands,
11195 /* 29045 */ // GIR_Coverage, 25027,
11196 /* 29045 */ GIR_EraseRootFromParent_Done,
11197 /* 29046 */ // Label 747: @29046
11198 /* 29046 */ GIM_Try, /*On fail goto*//*Label 748*/ GIMT_Encode4(29100), // Rule ID 17348 //
11199 /* 29051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11200 /* 29054 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11201 /* 29057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11202 /* 29061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11203 /* 29065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11204 /* 29069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11205 /* 29073 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11206 /* 29077 */ // MIs[1] src
11207 /* 29077 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
11208 /* 29082 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
11209 /* 29086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11210 /* 29088 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11211 /* 29088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
11212 /* 29091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11213 /* 29093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11214 /* 29095 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11215 /* 29098 */ GIR_RootConstrainSelectedInstOperands,
11216 /* 29099 */ // GIR_Coverage, 17348,
11217 /* 29099 */ GIR_EraseRootFromParent_Done,
11218 /* 29100 */ // Label 748: @29100
11219 /* 29100 */ GIM_Try, /*On fail goto*//*Label 749*/ GIMT_Encode4(29154), // Rule ID 17350 //
11220 /* 29105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11221 /* 29108 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11222 /* 29111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11223 /* 29115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11224 /* 29119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11225 /* 29123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
11226 /* 29127 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
11227 /* 29131 */ // MIs[1] src
11228 /* 29131 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
11229 /* 29136 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
11230 /* 29140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11231 /* 29142 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11232 /* 29142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
11233 /* 29145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11234 /* 29147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11235 /* 29149 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11236 /* 29152 */ GIR_RootConstrainSelectedInstOperands,
11237 /* 29153 */ // GIR_Coverage, 17350,
11238 /* 29153 */ GIR_EraseRootFromParent_Done,
11239 /* 29154 */ // Label 749: @29154
11240 /* 29154 */ GIM_Try, /*On fail goto*//*Label 750*/ GIMT_Encode4(29263), // Rule ID 22820 //
11241 /* 29159 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11242 /* 29162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11243 /* 29166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11244 /* 29170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11245 /* 29174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
11246 /* 29178 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11247 /* 29182 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
11248 /* 29186 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
11249 /* 29190 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
11250 /* 29195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11251 /* 29197 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (shl:{ *:[i64] } 1:{ *:[i64] }, GR8:{ *:[i8] }:$src2)) => (BTS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
11252 /* 29197 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
11253 /* 29200 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
11254 /* 29204 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11255 /* 29209 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
11256 /* 29211 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
11257 /* 29214 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
11258 /* 29218 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11259 /* 29223 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11260 /* 29226 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
11261 /* 29230 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
11262 /* 29233 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11263 /* 29238 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
11264 /* 29243 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
11265 /* 29248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
11266 /* 29251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11267 /* 29253 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11268 /* 29255 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11269 /* 29258 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11270 /* 29261 */ GIR_RootConstrainSelectedInstOperands,
11271 /* 29262 */ // GIR_Coverage, 22820,
11272 /* 29262 */ GIR_EraseRootFromParent_Done,
11273 /* 29263 */ // Label 750: @29263
11274 /* 29263 */ GIM_Try, /*On fail goto*//*Label 751*/ GIMT_Encode4(29317), // Rule ID 17342 //
11275 /* 29268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
11276 /* 29271 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11277 /* 29274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11278 /* 29278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11279 /* 29282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11280 /* 29286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
11281 /* 29290 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
11282 /* 29294 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
11283 /* 29298 */ // MIs[1] src
11284 /* 29298 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
11285 /* 29303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11286 /* 29305 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src)) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
11287 /* 29305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
11288 /* 29308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11289 /* 29310 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
11290 /* 29312 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11291 /* 29315 */ GIR_RootConstrainSelectedInstOperands,
11292 /* 29316 */ // GIR_Coverage, 17342,
11293 /* 29316 */ GIR_EraseRootFromParent_Done,
11294 /* 29317 */ // Label 751: @29317
11295 /* 29317 */ GIM_Try, /*On fail goto*//*Label 752*/ GIMT_Encode4(29365), // Rule ID 22870 //
11296 /* 29322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
11297 /* 29325 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11298 /* 29328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11299 /* 29332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11300 /* 29336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11301 /* 29340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
11302 /* 29344 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
11303 /* 29348 */ // MIs[1] Operand 1
11304 /* 29348 */ // No operand predicates
11305 /* 29348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11306 /* 29350 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
11307 /* 29350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32),
11308 /* 29353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11309 /* 29355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11310 /* 29357 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
11311 /* 29360 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11312 /* 29363 */ GIR_RootConstrainSelectedInstOperands,
11313 /* 29364 */ // GIR_Coverage, 22870,
11314 /* 29364 */ GIR_EraseRootFromParent_Done,
11315 /* 29365 */ // Label 752: @29365
11316 /* 29365 */ GIM_Try, /*On fail goto*//*Label 753*/ GIMT_Encode4(29413), // Rule ID 22960 //
11317 /* 29370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
11318 /* 29373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11319 /* 29376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11320 /* 29380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11321 /* 29384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11322 /* 29388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
11323 /* 29392 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
11324 /* 29396 */ // MIs[1] Operand 1
11325 /* 29396 */ // No operand predicates
11326 /* 29396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11327 /* 29398 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
11328 /* 29398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32_ND),
11329 /* 29401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11330 /* 29403 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11331 /* 29405 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
11332 /* 29408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
11333 /* 29411 */ GIR_RootConstrainSelectedInstOperands,
11334 /* 29412 */ // GIR_Coverage, 22960,
11335 /* 29412 */ GIR_EraseRootFromParent_Done,
11336 /* 29413 */ // Label 753: @29413
11337 /* 29413 */ GIM_Try, /*On fail goto*//*Label 754*/ GIMT_Encode4(29449), // Rule ID 22862 //
11338 /* 29418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
11339 /* 29421 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11340 /* 29424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11341 /* 29428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11342 /* 29432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11343 /* 29436 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
11344 /* 29436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr),
11345 /* 29441 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
11346 /* 29447 */ GIR_RootConstrainSelectedInstOperands,
11347 /* 29448 */ // GIR_Coverage, 22862,
11348 /* 29448 */ GIR_Done,
11349 /* 29449 */ // Label 754: @29449
11350 /* 29449 */ GIM_Try, /*On fail goto*//*Label 755*/ GIMT_Encode4(29485), // Rule ID 22952 //
11351 /* 29454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
11352 /* 29457 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
11353 /* 29460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11354 /* 29464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11355 /* 29468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
11356 /* 29472 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
11357 /* 29472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr_ND),
11358 /* 29477 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
11359 /* 29483 */ GIR_RootConstrainSelectedInstOperands,
11360 /* 29484 */ // GIR_Coverage, 22952,
11361 /* 29484 */ GIR_Done,
11362 /* 29485 */ // Label 755: @29485
11363 /* 29485 */ GIM_Reject,
11364 /* 29486 */ // Label 733: @29486
11365 /* 29486 */ GIM_Reject,
11366 /* 29487 */ // Label 670: @29487
11367 /* 29487 */ GIM_Try, /*On fail goto*//*Label 756*/ GIMT_Encode4(29586), // Rule ID 19490 //
11368 /* 29492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
11369 /* 29495 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
11370 /* 29498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
11371 /* 29502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
11372 /* 29506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
11373 /* 29510 */ // (or:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, VK2:{ *:[v2i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
11374 /* 29510 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11375 /* 29513 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11376 /* 29517 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11377 /* 29522 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11378 /* 29526 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11379 /* 29531 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11380 /* 29534 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11381 /* 29538 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11382 /* 29543 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
11383 /* 29547 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11384 /* 29552 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11385 /* 29555 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11386 /* 29559 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11387 /* 29564 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11388 /* 29567 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11389 /* 29570 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11390 /* 29572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11391 /* 29575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11392 /* 29577 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11393 /* 29580 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
11394 /* 29585 */ // GIR_Coverage, 19490,
11395 /* 29585 */ GIR_EraseRootFromParent_Done,
11396 /* 29586 */ // Label 756: @29586
11397 /* 29586 */ GIM_Reject,
11398 /* 29587 */ // Label 671: @29587
11399 /* 29587 */ GIM_Try, /*On fail goto*//*Label 757*/ GIMT_Encode4(29928),
11400 /* 29592 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
11401 /* 29595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
11402 /* 29598 */ GIM_Try, /*On fail goto*//*Label 758*/ GIMT_Encode4(29660), // Rule ID 23396 //
11403 /* 29603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11404 /* 29606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11405 /* 29610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11406 /* 29614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11407 /* 29618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11408 /* 29621 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11409 /* 29625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11410 /* 29629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11411 /* 29633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11412 /* 29635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11413 /* 29642 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11414 /* 29642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11415 /* 29645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11416 /* 29647 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11417 /* 29649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11418 /* 29653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11419 /* 29658 */ GIR_RootConstrainSelectedInstOperands,
11420 /* 29659 */ // GIR_Coverage, 23396,
11421 /* 29659 */ GIR_EraseRootFromParent_Done,
11422 /* 29660 */ // Label 758: @29660
11423 /* 29660 */ GIM_Try, /*On fail goto*//*Label 759*/ GIMT_Encode4(29722), // Rule ID 24218 //
11424 /* 29665 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11425 /* 29668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11426 /* 29672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11427 /* 29676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11428 /* 29680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11429 /* 29683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11430 /* 29687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11431 /* 29691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11432 /* 29695 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11433 /* 29697 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11434 /* 29704 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11435 /* 29704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11436 /* 29707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11437 /* 29709 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11438 /* 29711 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11439 /* 29715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11440 /* 29720 */ GIR_RootConstrainSelectedInstOperands,
11441 /* 29721 */ // GIR_Coverage, 24218,
11442 /* 29721 */ GIR_EraseRootFromParent_Done,
11443 /* 29722 */ // Label 759: @29722
11444 /* 29722 */ GIM_Try, /*On fail goto*//*Label 760*/ GIMT_Encode4(29784), // Rule ID 2116 //
11445 /* 29727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11446 /* 29730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11447 /* 29734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11448 /* 29738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11449 /* 29742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11450 /* 29746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11451 /* 29749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11452 /* 29753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11453 /* 29757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11454 /* 29759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11455 /* 29766 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11456 /* 29766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11457 /* 29769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11458 /* 29771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11459 /* 29773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11460 /* 29777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11461 /* 29782 */ GIR_RootConstrainSelectedInstOperands,
11462 /* 29783 */ // GIR_Coverage, 2116,
11463 /* 29783 */ GIR_EraseRootFromParent_Done,
11464 /* 29784 */ // Label 760: @29784
11465 /* 29784 */ GIM_Try, /*On fail goto*//*Label 761*/ GIMT_Encode4(29846), // Rule ID 5764 //
11466 /* 29789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11467 /* 29792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11468 /* 29796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11469 /* 29800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11470 /* 29804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11471 /* 29808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11472 /* 29811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11473 /* 29815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11474 /* 29819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11475 /* 29821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11476 /* 29828 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11477 /* 29828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11478 /* 29831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11479 /* 29833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11480 /* 29835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11481 /* 29839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11482 /* 29844 */ GIR_RootConstrainSelectedInstOperands,
11483 /* 29845 */ // GIR_Coverage, 5764,
11484 /* 29845 */ GIR_EraseRootFromParent_Done,
11485 /* 29846 */ // Label 761: @29846
11486 /* 29846 */ GIM_Try, /*On fail goto*//*Label 762*/ GIMT_Encode4(29873), // Rule ID 2115 //
11487 /* 29851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11488 /* 29854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11489 /* 29858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11490 /* 29862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11491 /* 29866 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11492 /* 29866 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11493 /* 29871 */ GIR_RootConstrainSelectedInstOperands,
11494 /* 29872 */ // GIR_Coverage, 2115,
11495 /* 29872 */ GIR_Done,
11496 /* 29873 */ // Label 762: @29873
11497 /* 29873 */ GIM_Try, /*On fail goto*//*Label 763*/ GIMT_Encode4(29900), // Rule ID 2117 //
11498 /* 29878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11499 /* 29881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11500 /* 29885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11501 /* 29889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11502 /* 29893 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
11503 /* 29893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11504 /* 29898 */ GIR_RootConstrainSelectedInstOperands,
11505 /* 29899 */ // GIR_Coverage, 2117,
11506 /* 29899 */ GIR_Done,
11507 /* 29900 */ // Label 763: @29900
11508 /* 29900 */ GIM_Try, /*On fail goto*//*Label 764*/ GIMT_Encode4(29927), // Rule ID 5761 //
11509 /* 29905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11510 /* 29908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11511 /* 29912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11512 /* 29916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11513 /* 29920 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
11514 /* 29920 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11515 /* 29925 */ GIR_RootConstrainSelectedInstOperands,
11516 /* 29926 */ // GIR_Coverage, 5761,
11517 /* 29926 */ GIR_Done,
11518 /* 29927 */ // Label 764: @29927
11519 /* 29927 */ GIM_Reject,
11520 /* 29928 */ // Label 757: @29928
11521 /* 29928 */ GIM_Reject,
11522 /* 29929 */ // Label 672: @29929
11523 /* 29929 */ GIM_Try, /*On fail goto*//*Label 765*/ GIMT_Encode4(30028), // Rule ID 19491 //
11524 /* 29934 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
11525 /* 29937 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
11526 /* 29940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
11527 /* 29944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
11528 /* 29948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
11529 /* 29952 */ // (or:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, VK4:{ *:[v4i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
11530 /* 29952 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11531 /* 29955 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11532 /* 29959 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11533 /* 29964 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11534 /* 29968 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11535 /* 29973 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11536 /* 29976 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11537 /* 29980 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11538 /* 29985 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
11539 /* 29989 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11540 /* 29994 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11541 /* 29997 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11542 /* 30001 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11543 /* 30006 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11544 /* 30009 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11545 /* 30012 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11546 /* 30014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11547 /* 30017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11548 /* 30019 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11549 /* 30022 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
11550 /* 30027 */ // GIR_Coverage, 19491,
11551 /* 30027 */ GIR_EraseRootFromParent_Done,
11552 /* 30028 */ // Label 765: @30028
11553 /* 30028 */ GIM_Reject,
11554 /* 30029 */ // Label 673: @30029
11555 /* 30029 */ GIM_Try, /*On fail goto*//*Label 766*/ GIMT_Encode4(30370),
11556 /* 30034 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
11557 /* 30037 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11558 /* 30040 */ GIM_Try, /*On fail goto*//*Label 767*/ GIMT_Encode4(30102), // Rule ID 24236 //
11559 /* 30045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11560 /* 30048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11561 /* 30052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11562 /* 30056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11563 /* 30060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11564 /* 30063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11565 /* 30067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11566 /* 30071 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11567 /* 30075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11568 /* 30077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11569 /* 30084 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11570 /* 30084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11571 /* 30087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11572 /* 30089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11573 /* 30091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11574 /* 30095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11575 /* 30100 */ GIR_RootConstrainSelectedInstOperands,
11576 /* 30101 */ // GIR_Coverage, 24236,
11577 /* 30101 */ GIR_EraseRootFromParent_Done,
11578 /* 30102 */ // Label 767: @30102
11579 /* 30102 */ GIM_Try, /*On fail goto*//*Label 768*/ GIMT_Encode4(30164), // Rule ID 25289 //
11580 /* 30107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11581 /* 30110 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11582 /* 30114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11583 /* 30118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11584 /* 30122 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11585 /* 30125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11586 /* 30129 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11587 /* 30133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11588 /* 30137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11589 /* 30139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11590 /* 30146 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11591 /* 30146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11592 /* 30149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11593 /* 30151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11594 /* 30153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11595 /* 30157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11596 /* 30162 */ GIR_RootConstrainSelectedInstOperands,
11597 /* 30163 */ // GIR_Coverage, 25289,
11598 /* 30163 */ GIR_EraseRootFromParent_Done,
11599 /* 30164 */ // Label 768: @30164
11600 /* 30164 */ GIM_Try, /*On fail goto*//*Label 769*/ GIMT_Encode4(30226), // Rule ID 5791 //
11601 /* 30169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11602 /* 30172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11603 /* 30176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11604 /* 30180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11605 /* 30184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11606 /* 30188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11607 /* 30191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11608 /* 30195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11609 /* 30199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11610 /* 30201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11611 /* 30208 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11612 /* 30208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11613 /* 30211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11614 /* 30213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11615 /* 30215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11616 /* 30219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11617 /* 30224 */ GIR_RootConstrainSelectedInstOperands,
11618 /* 30225 */ // GIR_Coverage, 5791,
11619 /* 30225 */ GIR_EraseRootFromParent_Done,
11620 /* 30226 */ // Label 769: @30226
11621 /* 30226 */ GIM_Try, /*On fail goto*//*Label 770*/ GIMT_Encode4(30288), // Rule ID 18152 //
11622 /* 30231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11623 /* 30234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11624 /* 30238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11625 /* 30242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11626 /* 30246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11627 /* 30250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11628 /* 30253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11629 /* 30257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11630 /* 30261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11631 /* 30263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11632 /* 30270 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11633 /* 30270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11634 /* 30273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11635 /* 30275 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11636 /* 30277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11637 /* 30281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11638 /* 30286 */ GIR_RootConstrainSelectedInstOperands,
11639 /* 30287 */ // GIR_Coverage, 18152,
11640 /* 30287 */ GIR_EraseRootFromParent_Done,
11641 /* 30288 */ // Label 770: @30288
11642 /* 30288 */ GIM_Try, /*On fail goto*//*Label 771*/ GIMT_Encode4(30315), // Rule ID 5788 //
11643 /* 30293 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11644 /* 30296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11645 /* 30300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11646 /* 30304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11647 /* 30308 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
11648 /* 30308 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rr),
11649 /* 30313 */ GIR_RootConstrainSelectedInstOperands,
11650 /* 30314 */ // GIR_Coverage, 5788,
11651 /* 30314 */ GIR_Done,
11652 /* 30315 */ // Label 771: @30315
11653 /* 30315 */ GIM_Try, /*On fail goto*//*Label 772*/ GIMT_Encode4(30342), // Rule ID 18140 //
11654 /* 30320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11655 /* 30323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11656 /* 30327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11657 /* 30331 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11658 /* 30335 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11659 /* 30335 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11660 /* 30340 */ GIR_RootConstrainSelectedInstOperands,
11661 /* 30341 */ // GIR_Coverage, 18140,
11662 /* 30341 */ GIR_Done,
11663 /* 30342 */ // Label 772: @30342
11664 /* 30342 */ GIM_Try, /*On fail goto*//*Label 773*/ GIMT_Encode4(30369), // Rule ID 18164 //
11665 /* 30347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11666 /* 30350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11667 /* 30354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11668 /* 30358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11669 /* 30362 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11670 /* 30362 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11671 /* 30367 */ GIR_RootConstrainSelectedInstOperands,
11672 /* 30368 */ // GIR_Coverage, 18164,
11673 /* 30368 */ GIR_Done,
11674 /* 30369 */ // Label 773: @30369
11675 /* 30369 */ GIM_Reject,
11676 /* 30370 */ // Label 766: @30370
11677 /* 30370 */ GIM_Reject,
11678 /* 30371 */ // Label 674: @30371
11679 /* 30371 */ GIM_Try, /*On fail goto*//*Label 774*/ GIMT_Encode4(30836),
11680 /* 30376 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
11681 /* 30379 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
11682 /* 30382 */ GIM_Try, /*On fail goto*//*Label 775*/ GIMT_Encode4(30444), // Rule ID 23398 //
11683 /* 30387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11684 /* 30390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11685 /* 30394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11686 /* 30398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11687 /* 30402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11688 /* 30405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11689 /* 30409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11690 /* 30413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11691 /* 30417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11692 /* 30419 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11693 /* 30426 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11694 /* 30426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11695 /* 30429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11696 /* 30431 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11697 /* 30433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11698 /* 30437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11699 /* 30442 */ GIR_RootConstrainSelectedInstOperands,
11700 /* 30443 */ // GIR_Coverage, 23398,
11701 /* 30443 */ GIR_EraseRootFromParent_Done,
11702 /* 30444 */ // Label 775: @30444
11703 /* 30444 */ GIM_Try, /*On fail goto*//*Label 776*/ GIMT_Encode4(30506), // Rule ID 24212 //
11704 /* 30449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11705 /* 30452 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11706 /* 30456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11707 /* 30460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11708 /* 30464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11709 /* 30467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11710 /* 30471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11711 /* 30475 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11712 /* 30479 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11713 /* 30481 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11714 /* 30488 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11715 /* 30488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11716 /* 30491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11717 /* 30493 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11718 /* 30495 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11719 /* 30499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11720 /* 30504 */ GIR_RootConstrainSelectedInstOperands,
11721 /* 30505 */ // GIR_Coverage, 24212,
11722 /* 30505 */ GIR_EraseRootFromParent_Done,
11723 /* 30506 */ // Label 776: @30506
11724 /* 30506 */ GIM_Try, /*On fail goto*//*Label 777*/ GIMT_Encode4(30568), // Rule ID 25279 //
11725 /* 30511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11726 /* 30514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11727 /* 30518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11728 /* 30522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11729 /* 30526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11730 /* 30529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11731 /* 30533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11732 /* 30537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11733 /* 30541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11734 /* 30543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11735 /* 30550 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11736 /* 30550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11737 /* 30553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11738 /* 30555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11739 /* 30557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11740 /* 30561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11741 /* 30566 */ GIR_RootConstrainSelectedInstOperands,
11742 /* 30567 */ // GIR_Coverage, 25279,
11743 /* 30567 */ GIR_EraseRootFromParent_Done,
11744 /* 30568 */ // Label 777: @30568
11745 /* 30568 */ GIM_Try, /*On fail goto*//*Label 778*/ GIMT_Encode4(30630), // Rule ID 2120 //
11746 /* 30573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11747 /* 30576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11748 /* 30580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11749 /* 30584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11750 /* 30588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11751 /* 30592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11752 /* 30595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11753 /* 30599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11754 /* 30603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11755 /* 30605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11756 /* 30612 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11757 /* 30612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11758 /* 30615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11759 /* 30617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11760 /* 30619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11761 /* 30623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11762 /* 30628 */ GIR_RootConstrainSelectedInstOperands,
11763 /* 30629 */ // GIR_Coverage, 2120,
11764 /* 30629 */ GIR_EraseRootFromParent_Done,
11765 /* 30630 */ // Label 778: @30630
11766 /* 30630 */ GIM_Try, /*On fail goto*//*Label 779*/ GIMT_Encode4(30692), // Rule ID 5755 //
11767 /* 30635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11768 /* 30638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11769 /* 30642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11770 /* 30646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11771 /* 30650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11772 /* 30654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11773 /* 30657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11774 /* 30661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11775 /* 30665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11776 /* 30667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11777 /* 30674 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11778 /* 30674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11779 /* 30677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11780 /* 30679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11781 /* 30681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11782 /* 30685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11783 /* 30690 */ GIR_RootConstrainSelectedInstOperands,
11784 /* 30691 */ // GIR_Coverage, 5755,
11785 /* 30691 */ GIR_EraseRootFromParent_Done,
11786 /* 30692 */ // Label 779: @30692
11787 /* 30692 */ GIM_Try, /*On fail goto*//*Label 780*/ GIMT_Encode4(30754), // Rule ID 18126 //
11788 /* 30697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11789 /* 30700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11790 /* 30704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11791 /* 30708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11792 /* 30712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11793 /* 30716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11794 /* 30719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11795 /* 30723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11796 /* 30727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11797 /* 30729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11798 /* 30736 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
11799 /* 30736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11800 /* 30739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11801 /* 30741 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11802 /* 30743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11803 /* 30747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11804 /* 30752 */ GIR_RootConstrainSelectedInstOperands,
11805 /* 30753 */ // GIR_Coverage, 18126,
11806 /* 30753 */ GIR_EraseRootFromParent_Done,
11807 /* 30754 */ // Label 780: @30754
11808 /* 30754 */ GIM_Try, /*On fail goto*//*Label 781*/ GIMT_Encode4(30781), // Rule ID 2119 //
11809 /* 30759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11810 /* 30762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11811 /* 30766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11812 /* 30770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11813 /* 30774 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11814 /* 30774 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11815 /* 30779 */ GIR_RootConstrainSelectedInstOperands,
11816 /* 30780 */ // GIR_Coverage, 2119,
11817 /* 30780 */ GIR_Done,
11818 /* 30781 */ // Label 781: @30781
11819 /* 30781 */ GIM_Try, /*On fail goto*//*Label 782*/ GIMT_Encode4(30808), // Rule ID 5752 //
11820 /* 30786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11821 /* 30789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11822 /* 30793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11823 /* 30797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11824 /* 30801 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
11825 /* 30801 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11826 /* 30806 */ GIR_RootConstrainSelectedInstOperands,
11827 /* 30807 */ // GIR_Coverage, 5752,
11828 /* 30807 */ GIR_Done,
11829 /* 30808 */ // Label 782: @30808
11830 /* 30808 */ GIM_Try, /*On fail goto*//*Label 783*/ GIMT_Encode4(30835), // Rule ID 18110 //
11831 /* 30813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11832 /* 30816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11833 /* 30820 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11834 /* 30824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11835 /* 30828 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
11836 /* 30828 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11837 /* 30833 */ GIR_RootConstrainSelectedInstOperands,
11838 /* 30834 */ // GIR_Coverage, 18110,
11839 /* 30834 */ GIR_Done,
11840 /* 30835 */ // Label 783: @30835
11841 /* 30835 */ GIM_Reject,
11842 /* 30836 */ // Label 774: @30836
11843 /* 30836 */ GIM_Reject,
11844 /* 30837 */ // Label 675: @30837
11845 /* 30837 */ GIM_Try, /*On fail goto*//*Label 784*/ GIMT_Encode4(30960),
11846 /* 30842 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
11847 /* 30845 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
11848 /* 30848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11849 /* 30852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11850 /* 30856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
11851 /* 30860 */ GIM_Try, /*On fail goto*//*Label 785*/ GIMT_Encode4(30875), // Rule ID 4420 //
11852 /* 30865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
11853 /* 30868 */ // (or:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
11854 /* 30868 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORBkk),
11855 /* 30873 */ GIR_RootConstrainSelectedInstOperands,
11856 /* 30874 */ // GIR_Coverage, 4420,
11857 /* 30874 */ GIR_Done,
11858 /* 30875 */ // Label 785: @30875
11859 /* 30875 */ GIM_Try, /*On fail goto*//*Label 786*/ GIMT_Encode4(30959), // Rule ID 19488 //
11860 /* 30880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
11861 /* 30883 */ // (or:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
11862 /* 30883 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
11863 /* 30886 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11864 /* 30890 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11865 /* 30895 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
11866 /* 30899 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11867 /* 30904 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
11868 /* 30907 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11869 /* 30911 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11870 /* 30916 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
11871 /* 30920 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
11872 /* 30925 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
11873 /* 30928 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
11874 /* 30932 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
11875 /* 30937 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
11876 /* 30940 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
11877 /* 30943 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
11878 /* 30945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
11879 /* 30948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11880 /* 30950 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
11881 /* 30953 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
11882 /* 30958 */ // GIR_Coverage, 19488,
11883 /* 30958 */ GIR_EraseRootFromParent_Done,
11884 /* 30959 */ // Label 786: @30959
11885 /* 30959 */ GIM_Reject,
11886 /* 30960 */ // Label 784: @30960
11887 /* 30960 */ GIM_Reject,
11888 /* 30961 */ // Label 676: @30961
11889 /* 30961 */ GIM_Try, /*On fail goto*//*Label 787*/ GIMT_Encode4(31302),
11890 /* 30966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
11891 /* 30969 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11892 /* 30972 */ GIM_Try, /*On fail goto*//*Label 788*/ GIMT_Encode4(31034), // Rule ID 25288 //
11893 /* 30977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11894 /* 30980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11895 /* 30984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11896 /* 30988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11897 /* 30992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11898 /* 30995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11899 /* 30999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11900 /* 31003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11901 /* 31007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11902 /* 31009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11903 /* 31016 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11904 /* 31016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11905 /* 31019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11906 /* 31021 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11907 /* 31023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11908 /* 31027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11909 /* 31032 */ GIR_RootConstrainSelectedInstOperands,
11910 /* 31033 */ // GIR_Coverage, 25288,
11911 /* 31033 */ GIR_EraseRootFromParent_Done,
11912 /* 31034 */ // Label 788: @31034
11913 /* 31034 */ GIM_Try, /*On fail goto*//*Label 789*/ GIMT_Encode4(31096), // Rule ID 25468 //
11914 /* 31039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11915 /* 31042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11916 /* 31046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11917 /* 31050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11918 /* 31054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11919 /* 31057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11920 /* 31061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11921 /* 31065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11922 /* 31069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11923 /* 31071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11924 /* 31078 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11925 /* 31078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11926 /* 31081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11927 /* 31083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11928 /* 31085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11929 /* 31089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11930 /* 31094 */ GIR_RootConstrainSelectedInstOperands,
11931 /* 31095 */ // GIR_Coverage, 25468,
11932 /* 31095 */ GIR_EraseRootFromParent_Done,
11933 /* 31096 */ // Label 789: @31096
11934 /* 31096 */ GIM_Try, /*On fail goto*//*Label 790*/ GIMT_Encode4(31158), // Rule ID 18151 //
11935 /* 31101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11936 /* 31104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11937 /* 31108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11938 /* 31112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11939 /* 31116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11940 /* 31120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11941 /* 31123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11942 /* 31127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11943 /* 31131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11944 /* 31133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11945 /* 31140 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11946 /* 31140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11947 /* 31143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11948 /* 31145 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11949 /* 31147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11950 /* 31151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11951 /* 31156 */ GIR_RootConstrainSelectedInstOperands,
11952 /* 31157 */ // GIR_Coverage, 18151,
11953 /* 31157 */ GIR_EraseRootFromParent_Done,
11954 /* 31158 */ // Label 790: @31158
11955 /* 31158 */ GIM_Try, /*On fail goto*//*Label 791*/ GIMT_Encode4(31220), // Rule ID 20035 //
11956 /* 31163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11957 /* 31166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11958 /* 31170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11959 /* 31174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11960 /* 31178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11961 /* 31182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11962 /* 31185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11963 /* 31189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11964 /* 31193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11965 /* 31195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11966 /* 31202 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11967 /* 31202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11968 /* 31205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11969 /* 31207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11970 /* 31209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11971 /* 31213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11972 /* 31218 */ GIR_RootConstrainSelectedInstOperands,
11973 /* 31219 */ // GIR_Coverage, 20035,
11974 /* 31219 */ GIR_EraseRootFromParent_Done,
11975 /* 31220 */ // Label 791: @31220
11976 /* 31220 */ GIM_Try, /*On fail goto*//*Label 792*/ GIMT_Encode4(31247), // Rule ID 18139 //
11977 /* 31225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11978 /* 31228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11979 /* 31232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11980 /* 31236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11981 /* 31240 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11982 /* 31240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11983 /* 31245 */ GIR_RootConstrainSelectedInstOperands,
11984 /* 31246 */ // GIR_Coverage, 18139,
11985 /* 31246 */ GIR_Done,
11986 /* 31247 */ // Label 792: @31247
11987 /* 31247 */ GIM_Try, /*On fail goto*//*Label 793*/ GIMT_Encode4(31274), // Rule ID 18163 //
11988 /* 31252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11989 /* 31255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11990 /* 31259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11991 /* 31263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11992 /* 31267 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11993 /* 31267 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11994 /* 31272 */ GIR_RootConstrainSelectedInstOperands,
11995 /* 31273 */ // GIR_Coverage, 18163,
11996 /* 31273 */ GIR_Done,
11997 /* 31274 */ // Label 793: @31274
11998 /* 31274 */ GIM_Try, /*On fail goto*//*Label 794*/ GIMT_Encode4(31301), // Rule ID 20027 //
11999 /* 31279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12000 /* 31282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12001 /* 31286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12002 /* 31290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12003 /* 31294 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
12004 /* 31294 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
12005 /* 31299 */ GIR_RootConstrainSelectedInstOperands,
12006 /* 31300 */ // GIR_Coverage, 20027,
12007 /* 31300 */ GIR_Done,
12008 /* 31301 */ // Label 794: @31301
12009 /* 31301 */ GIM_Reject,
12010 /* 31302 */ // Label 787: @31302
12011 /* 31302 */ GIM_Reject,
12012 /* 31303 */ // Label 677: @31303
12013 /* 31303 */ GIM_Try, /*On fail goto*//*Label 795*/ GIMT_Encode4(31768),
12014 /* 31308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
12015 /* 31311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
12016 /* 31314 */ GIM_Try, /*On fail goto*//*Label 796*/ GIMT_Encode4(31376), // Rule ID 24230 //
12017 /* 31319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12018 /* 31322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12019 /* 31326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12020 /* 31330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12021 /* 31334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12022 /* 31337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12023 /* 31341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12024 /* 31345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12025 /* 31349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12026 /* 31351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12027 /* 31358 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12028 /* 31358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
12029 /* 31361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12030 /* 31363 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12031 /* 31365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12032 /* 31369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12033 /* 31374 */ GIR_RootConstrainSelectedInstOperands,
12034 /* 31375 */ // GIR_Coverage, 24230,
12035 /* 31375 */ GIR_EraseRootFromParent_Done,
12036 /* 31376 */ // Label 796: @31376
12037 /* 31376 */ GIM_Try, /*On fail goto*//*Label 797*/ GIMT_Encode4(31438), // Rule ID 25268 //
12038 /* 31381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12039 /* 31384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12040 /* 31388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12041 /* 31392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12042 /* 31396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12043 /* 31399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12044 /* 31403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12045 /* 31407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12046 /* 31411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12047 /* 31413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12048 /* 31420 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12049 /* 31420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12050 /* 31423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12051 /* 31425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12052 /* 31427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12053 /* 31431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12054 /* 31436 */ GIR_RootConstrainSelectedInstOperands,
12055 /* 31437 */ // GIR_Coverage, 25268,
12056 /* 31437 */ GIR_EraseRootFromParent_Done,
12057 /* 31438 */ // Label 797: @31438
12058 /* 31438 */ GIM_Try, /*On fail goto*//*Label 798*/ GIMT_Encode4(31500), // Rule ID 25278 //
12059 /* 31443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12060 /* 31446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12061 /* 31450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12062 /* 31454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12063 /* 31458 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12064 /* 31461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12065 /* 31465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12066 /* 31469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12067 /* 31473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12068 /* 31475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12069 /* 31482 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12070 /* 31482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12071 /* 31485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12072 /* 31487 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12073 /* 31489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12074 /* 31493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12075 /* 31498 */ GIR_RootConstrainSelectedInstOperands,
12076 /* 31499 */ // GIR_Coverage, 25278,
12077 /* 31499 */ GIR_EraseRootFromParent_Done,
12078 /* 31500 */ // Label 798: @31500
12079 /* 31500 */ GIM_Try, /*On fail goto*//*Label 799*/ GIMT_Encode4(31562), // Rule ID 5782 //
12080 /* 31505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12081 /* 31508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12082 /* 31512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12083 /* 31516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12084 /* 31520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12085 /* 31524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12086 /* 31527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12087 /* 31531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12088 /* 31535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12089 /* 31537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12090 /* 31544 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12091 /* 31544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
12092 /* 31547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12093 /* 31549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12094 /* 31551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12095 /* 31555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12096 /* 31560 */ GIR_RootConstrainSelectedInstOperands,
12097 /* 31561 */ // GIR_Coverage, 5782,
12098 /* 31561 */ GIR_EraseRootFromParent_Done,
12099 /* 31562 */ // Label 799: @31562
12100 /* 31562 */ GIM_Try, /*On fail goto*//*Label 800*/ GIMT_Encode4(31624), // Rule ID 18096 //
12101 /* 31567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12102 /* 31570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12103 /* 31574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12104 /* 31578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12105 /* 31582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12106 /* 31586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12107 /* 31589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12108 /* 31593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12109 /* 31597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12110 /* 31599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12111 /* 31606 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12112 /* 31606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12113 /* 31609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12114 /* 31611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12115 /* 31613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12116 /* 31617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12117 /* 31622 */ GIR_RootConstrainSelectedInstOperands,
12118 /* 31623 */ // GIR_Coverage, 18096,
12119 /* 31623 */ GIR_EraseRootFromParent_Done,
12120 /* 31624 */ // Label 800: @31624
12121 /* 31624 */ GIM_Try, /*On fail goto*//*Label 801*/ GIMT_Encode4(31686), // Rule ID 18125 //
12122 /* 31629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12123 /* 31632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12124 /* 31636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12125 /* 31640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12126 /* 31644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12127 /* 31648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12128 /* 31651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12129 /* 31655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12130 /* 31659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12131 /* 31661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12132 /* 31668 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12133 /* 31668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12134 /* 31671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12135 /* 31673 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12136 /* 31675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12137 /* 31679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12138 /* 31684 */ GIR_RootConstrainSelectedInstOperands,
12139 /* 31685 */ // GIR_Coverage, 18125,
12140 /* 31685 */ GIR_EraseRootFromParent_Done,
12141 /* 31686 */ // Label 801: @31686
12142 /* 31686 */ GIM_Try, /*On fail goto*//*Label 802*/ GIMT_Encode4(31713), // Rule ID 5779 //
12143 /* 31691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12144 /* 31694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12145 /* 31698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12146 /* 31702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12147 /* 31706 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
12148 /* 31706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rr),
12149 /* 31711 */ GIR_RootConstrainSelectedInstOperands,
12150 /* 31712 */ // GIR_Coverage, 5779,
12151 /* 31712 */ GIR_Done,
12152 /* 31713 */ // Label 802: @31713
12153 /* 31713 */ GIM_Try, /*On fail goto*//*Label 803*/ GIMT_Encode4(31740), // Rule ID 18084 //
12154 /* 31718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12155 /* 31721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12156 /* 31725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12157 /* 31729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12158 /* 31733 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
12159 /* 31733 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
12160 /* 31738 */ GIR_RootConstrainSelectedInstOperands,
12161 /* 31739 */ // GIR_Coverage, 18084,
12162 /* 31739 */ GIR_Done,
12163 /* 31740 */ // Label 803: @31740
12164 /* 31740 */ GIM_Try, /*On fail goto*//*Label 804*/ GIMT_Encode4(31767), // Rule ID 18109 //
12165 /* 31745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12166 /* 31748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12167 /* 31752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12168 /* 31756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12169 /* 31760 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
12170 /* 31760 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
12171 /* 31765 */ GIR_RootConstrainSelectedInstOperands,
12172 /* 31766 */ // GIR_Coverage, 18109,
12173 /* 31766 */ GIR_Done,
12174 /* 31767 */ // Label 804: @31767
12175 /* 31767 */ GIM_Reject,
12176 /* 31768 */ // Label 795: @31768
12177 /* 31768 */ GIM_Reject,
12178 /* 31769 */ // Label 678: @31769
12179 /* 31769 */ GIM_Try, /*On fail goto*//*Label 805*/ GIMT_Encode4(31924),
12180 /* 31774 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
12181 /* 31777 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
12182 /* 31780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12183 /* 31784 */ GIM_Try, /*On fail goto*//*Label 806*/ GIMT_Encode4(31842), // Rule ID 24206 //
12184 /* 31789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12185 /* 31792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12186 /* 31796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12187 /* 31800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12188 /* 31803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12189 /* 31807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12190 /* 31811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12191 /* 31815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12192 /* 31817 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12193 /* 31824 */ // (or:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12194 /* 31824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12195 /* 31827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12196 /* 31829 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12197 /* 31831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12198 /* 31835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12199 /* 31840 */ GIR_RootConstrainSelectedInstOperands,
12200 /* 31841 */ // GIR_Coverage, 24206,
12201 /* 31841 */ GIR_EraseRootFromParent_Done,
12202 /* 31842 */ // Label 806: @31842
12203 /* 31842 */ GIM_Try, /*On fail goto*//*Label 807*/ GIMT_Encode4(31900), // Rule ID 5746 //
12204 /* 31847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12205 /* 31850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12206 /* 31854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12207 /* 31858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12208 /* 31862 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12209 /* 31865 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12210 /* 31869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12211 /* 31873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12212 /* 31875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12213 /* 31882 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12214 /* 31882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12215 /* 31885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12216 /* 31887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12217 /* 31889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12218 /* 31893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12219 /* 31898 */ GIR_RootConstrainSelectedInstOperands,
12220 /* 31899 */ // GIR_Coverage, 5746,
12221 /* 31899 */ GIR_EraseRootFromParent_Done,
12222 /* 31900 */ // Label 807: @31900
12223 /* 31900 */ GIM_Try, /*On fail goto*//*Label 808*/ GIMT_Encode4(31923), // Rule ID 5743 //
12224 /* 31905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12225 /* 31908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12226 /* 31912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12227 /* 31916 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
12228 /* 31916 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12229 /* 31921 */ GIR_RootConstrainSelectedInstOperands,
12230 /* 31922 */ // GIR_Coverage, 5743,
12231 /* 31922 */ GIR_Done,
12232 /* 31923 */ // Label 808: @31923
12233 /* 31923 */ GIM_Reject,
12234 /* 31924 */ // Label 805: @31924
12235 /* 31924 */ GIM_Reject,
12236 /* 31925 */ // Label 679: @31925
12237 /* 31925 */ GIM_Try, /*On fail goto*//*Label 809*/ GIMT_Encode4(31958), // Rule ID 4421 //
12238 /* 31930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12239 /* 31933 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
12240 /* 31936 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
12241 /* 31939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
12242 /* 31943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
12243 /* 31947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
12244 /* 31951 */ // (or:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
12245 /* 31951 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORWkk),
12246 /* 31956 */ GIR_RootConstrainSelectedInstOperands,
12247 /* 31957 */ // GIR_Coverage, 4421,
12248 /* 31957 */ GIR_Done,
12249 /* 31958 */ // Label 809: @31958
12250 /* 31958 */ GIM_Reject,
12251 /* 31959 */ // Label 680: @31959
12252 /* 31959 */ GIM_Try, /*On fail goto*//*Label 810*/ GIMT_Encode4(32300),
12253 /* 31964 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
12254 /* 31967 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
12255 /* 31970 */ GIM_Try, /*On fail goto*//*Label 811*/ GIMT_Encode4(32032), // Rule ID 25287 //
12256 /* 31975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12257 /* 31978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12258 /* 31982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12259 /* 31986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12260 /* 31990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12261 /* 31993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12262 /* 31997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12263 /* 32001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12264 /* 32005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12265 /* 32007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12266 /* 32014 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12267 /* 32014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
12268 /* 32017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12269 /* 32019 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12270 /* 32021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12271 /* 32025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12272 /* 32030 */ GIR_RootConstrainSelectedInstOperands,
12273 /* 32031 */ // GIR_Coverage, 25287,
12274 /* 32031 */ GIR_EraseRootFromParent_Done,
12275 /* 32032 */ // Label 811: @32032
12276 /* 32032 */ GIM_Try, /*On fail goto*//*Label 812*/ GIMT_Encode4(32094), // Rule ID 25467 //
12277 /* 32037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12278 /* 32040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12279 /* 32044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12280 /* 32048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12281 /* 32052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12282 /* 32055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12283 /* 32059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12284 /* 32063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12285 /* 32067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12286 /* 32069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12287 /* 32076 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12288 /* 32076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
12289 /* 32079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12290 /* 32081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12291 /* 32083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12292 /* 32087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12293 /* 32092 */ GIR_RootConstrainSelectedInstOperands,
12294 /* 32093 */ // GIR_Coverage, 25467,
12295 /* 32093 */ GIR_EraseRootFromParent_Done,
12296 /* 32094 */ // Label 812: @32094
12297 /* 32094 */ GIM_Try, /*On fail goto*//*Label 813*/ GIMT_Encode4(32156), // Rule ID 18150 //
12298 /* 32099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12299 /* 32102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12300 /* 32106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12301 /* 32110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12302 /* 32114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12303 /* 32118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12304 /* 32121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12305 /* 32125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12306 /* 32129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12307 /* 32131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12308 /* 32138 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12309 /* 32138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
12310 /* 32141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12311 /* 32143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12312 /* 32145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12313 /* 32149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12314 /* 32154 */ GIR_RootConstrainSelectedInstOperands,
12315 /* 32155 */ // GIR_Coverage, 18150,
12316 /* 32155 */ GIR_EraseRootFromParent_Done,
12317 /* 32156 */ // Label 813: @32156
12318 /* 32156 */ GIM_Try, /*On fail goto*//*Label 814*/ GIMT_Encode4(32218), // Rule ID 20034 //
12319 /* 32161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12320 /* 32164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12321 /* 32168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12322 /* 32172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12323 /* 32176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12324 /* 32180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12325 /* 32183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12326 /* 32187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12327 /* 32191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12328 /* 32193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12329 /* 32200 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12330 /* 32200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
12331 /* 32203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12332 /* 32205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12333 /* 32207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12334 /* 32211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12335 /* 32216 */ GIR_RootConstrainSelectedInstOperands,
12336 /* 32217 */ // GIR_Coverage, 20034,
12337 /* 32217 */ GIR_EraseRootFromParent_Done,
12338 /* 32218 */ // Label 814: @32218
12339 /* 32218 */ GIM_Try, /*On fail goto*//*Label 815*/ GIMT_Encode4(32245), // Rule ID 18138 //
12340 /* 32223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12341 /* 32226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12342 /* 32230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12343 /* 32234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12344 /* 32238 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
12345 /* 32238 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
12346 /* 32243 */ GIR_RootConstrainSelectedInstOperands,
12347 /* 32244 */ // GIR_Coverage, 18138,
12348 /* 32244 */ GIR_Done,
12349 /* 32245 */ // Label 815: @32245
12350 /* 32245 */ GIM_Try, /*On fail goto*//*Label 816*/ GIMT_Encode4(32272), // Rule ID 18162 //
12351 /* 32250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
12352 /* 32253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12353 /* 32257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12354 /* 32261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12355 /* 32265 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
12356 /* 32265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
12357 /* 32270 */ GIR_RootConstrainSelectedInstOperands,
12358 /* 32271 */ // GIR_Coverage, 18162,
12359 /* 32271 */ GIR_Done,
12360 /* 32272 */ // Label 816: @32272
12361 /* 32272 */ GIM_Try, /*On fail goto*//*Label 817*/ GIMT_Encode4(32299), // Rule ID 20026 //
12362 /* 32277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12363 /* 32280 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12364 /* 32284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12365 /* 32288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12366 /* 32292 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
12367 /* 32292 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
12368 /* 32297 */ GIR_RootConstrainSelectedInstOperands,
12369 /* 32298 */ // GIR_Coverage, 20026,
12370 /* 32298 */ GIR_Done,
12371 /* 32299 */ // Label 817: @32299
12372 /* 32299 */ GIM_Reject,
12373 /* 32300 */ // Label 810: @32300
12374 /* 32300 */ GIM_Reject,
12375 /* 32301 */ // Label 681: @32301
12376 /* 32301 */ GIM_Try, /*On fail goto*//*Label 818*/ GIMT_Encode4(32766),
12377 /* 32306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
12378 /* 32309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
12379 /* 32312 */ GIM_Try, /*On fail goto*//*Label 819*/ GIMT_Encode4(32374), // Rule ID 25267 //
12380 /* 32317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12381 /* 32320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12382 /* 32324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12383 /* 32328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12384 /* 32332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12385 /* 32335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12386 /* 32339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12387 /* 32343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12388 /* 32347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12389 /* 32349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12390 /* 32356 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12391 /* 32356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12392 /* 32359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12393 /* 32361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12394 /* 32363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12395 /* 32367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12396 /* 32372 */ GIR_RootConstrainSelectedInstOperands,
12397 /* 32373 */ // GIR_Coverage, 25267,
12398 /* 32373 */ GIR_EraseRootFromParent_Done,
12399 /* 32374 */ // Label 819: @32374
12400 /* 32374 */ GIM_Try, /*On fail goto*//*Label 820*/ GIMT_Encode4(32436), // Rule ID 25277 //
12401 /* 32379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12402 /* 32382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12403 /* 32386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12404 /* 32390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12405 /* 32394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12406 /* 32397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12407 /* 32401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12408 /* 32405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12409 /* 32409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12410 /* 32411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12411 /* 32418 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12412 /* 32418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12413 /* 32421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12414 /* 32423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12415 /* 32425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12416 /* 32429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12417 /* 32434 */ GIR_RootConstrainSelectedInstOperands,
12418 /* 32435 */ // GIR_Coverage, 25277,
12419 /* 32435 */ GIR_EraseRootFromParent_Done,
12420 /* 32436 */ // Label 820: @32436
12421 /* 32436 */ GIM_Try, /*On fail goto*//*Label 821*/ GIMT_Encode4(32498), // Rule ID 25474 //
12422 /* 32441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12423 /* 32444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12424 /* 32448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12425 /* 32452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12426 /* 32456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12427 /* 32459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12428 /* 32463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12429 /* 32467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12430 /* 32471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12431 /* 32473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12432 /* 32480 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12433 /* 32480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12434 /* 32483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12435 /* 32485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12436 /* 32487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12437 /* 32491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12438 /* 32496 */ GIR_RootConstrainSelectedInstOperands,
12439 /* 32497 */ // GIR_Coverage, 25474,
12440 /* 32497 */ GIR_EraseRootFromParent_Done,
12441 /* 32498 */ // Label 821: @32498
12442 /* 32498 */ GIM_Try, /*On fail goto*//*Label 822*/ GIMT_Encode4(32560), // Rule ID 18095 //
12443 /* 32503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12444 /* 32506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12445 /* 32510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12446 /* 32514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12447 /* 32518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12448 /* 32522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12449 /* 32525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12450 /* 32529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12451 /* 32533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12452 /* 32535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12453 /* 32542 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12454 /* 32542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12455 /* 32545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12456 /* 32547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12457 /* 32549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12458 /* 32553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12459 /* 32558 */ GIR_RootConstrainSelectedInstOperands,
12460 /* 32559 */ // GIR_Coverage, 18095,
12461 /* 32559 */ GIR_EraseRootFromParent_Done,
12462 /* 32560 */ // Label 822: @32560
12463 /* 32560 */ GIM_Try, /*On fail goto*//*Label 823*/ GIMT_Encode4(32622), // Rule ID 18124 //
12464 /* 32565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12465 /* 32568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12466 /* 32572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12467 /* 32576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12468 /* 32580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12469 /* 32584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12470 /* 32587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12471 /* 32591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12472 /* 32595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12473 /* 32597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12474 /* 32604 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12475 /* 32604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12476 /* 32607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12477 /* 32609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12478 /* 32611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12479 /* 32615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12480 /* 32620 */ GIR_RootConstrainSelectedInstOperands,
12481 /* 32621 */ // GIR_Coverage, 18124,
12482 /* 32621 */ GIR_EraseRootFromParent_Done,
12483 /* 32622 */ // Label 823: @32622
12484 /* 32622 */ GIM_Try, /*On fail goto*//*Label 824*/ GIMT_Encode4(32684), // Rule ID 20051 //
12485 /* 32627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12486 /* 32630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12487 /* 32634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12488 /* 32638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12489 /* 32642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12490 /* 32646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12491 /* 32649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12492 /* 32653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12493 /* 32657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12494 /* 32659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12495 /* 32666 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12496 /* 32666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12497 /* 32669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12498 /* 32671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12499 /* 32673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12500 /* 32677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12501 /* 32682 */ GIR_RootConstrainSelectedInstOperands,
12502 /* 32683 */ // GIR_Coverage, 20051,
12503 /* 32683 */ GIR_EraseRootFromParent_Done,
12504 /* 32684 */ // Label 824: @32684
12505 /* 32684 */ GIM_Try, /*On fail goto*//*Label 825*/ GIMT_Encode4(32711), // Rule ID 18083 //
12506 /* 32689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12507 /* 32692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12508 /* 32696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12509 /* 32700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12510 /* 32704 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
12511 /* 32704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
12512 /* 32709 */ GIR_RootConstrainSelectedInstOperands,
12513 /* 32710 */ // GIR_Coverage, 18083,
12514 /* 32710 */ GIR_Done,
12515 /* 32711 */ // Label 825: @32711
12516 /* 32711 */ GIM_Try, /*On fail goto*//*Label 826*/ GIMT_Encode4(32738), // Rule ID 18108 //
12517 /* 32716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12518 /* 32719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12519 /* 32723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12520 /* 32727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12521 /* 32731 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
12522 /* 32731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
12523 /* 32736 */ GIR_RootConstrainSelectedInstOperands,
12524 /* 32737 */ // GIR_Coverage, 18108,
12525 /* 32737 */ GIR_Done,
12526 /* 32738 */ // Label 826: @32738
12527 /* 32738 */ GIM_Try, /*On fail goto*//*Label 827*/ GIMT_Encode4(32765), // Rule ID 20043 //
12528 /* 32743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12529 /* 32746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12530 /* 32750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12531 /* 32754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12532 /* 32758 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
12533 /* 32758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
12534 /* 32763 */ GIR_RootConstrainSelectedInstOperands,
12535 /* 32764 */ // GIR_Coverage, 20043,
12536 /* 32764 */ GIR_Done,
12537 /* 32765 */ // Label 827: @32765
12538 /* 32765 */ GIM_Reject,
12539 /* 32766 */ // Label 818: @32766
12540 /* 32766 */ GIM_Reject,
12541 /* 32767 */ // Label 682: @32767
12542 /* 32767 */ GIM_Try, /*On fail goto*//*Label 828*/ GIMT_Encode4(32922),
12543 /* 32772 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
12544 /* 32775 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
12545 /* 32778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12546 /* 32782 */ GIM_Try, /*On fail goto*//*Label 829*/ GIMT_Encode4(32840), // Rule ID 24224 //
12547 /* 32787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12548 /* 32790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12549 /* 32794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12550 /* 32798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12551 /* 32801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12552 /* 32805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12553 /* 32809 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12554 /* 32813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12555 /* 32815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12556 /* 32822 */ // (or:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12557 /* 32822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
12558 /* 32825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12559 /* 32827 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12560 /* 32829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12561 /* 32833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12562 /* 32838 */ GIR_RootConstrainSelectedInstOperands,
12563 /* 32839 */ // GIR_Coverage, 24224,
12564 /* 32839 */ GIR_EraseRootFromParent_Done,
12565 /* 32840 */ // Label 829: @32840
12566 /* 32840 */ GIM_Try, /*On fail goto*//*Label 830*/ GIMT_Encode4(32898), // Rule ID 5773 //
12567 /* 32845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12568 /* 32848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12569 /* 32852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12570 /* 32856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12571 /* 32860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12572 /* 32863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12573 /* 32867 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12574 /* 32871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12575 /* 32873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12576 /* 32880 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12577 /* 32880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
12578 /* 32883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12579 /* 32885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12580 /* 32887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12581 /* 32891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12582 /* 32896 */ GIR_RootConstrainSelectedInstOperands,
12583 /* 32897 */ // GIR_Coverage, 5773,
12584 /* 32897 */ GIR_EraseRootFromParent_Done,
12585 /* 32898 */ // Label 830: @32898
12586 /* 32898 */ GIM_Try, /*On fail goto*//*Label 831*/ GIMT_Encode4(32921), // Rule ID 5770 //
12587 /* 32903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12588 /* 32906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12589 /* 32910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12590 /* 32914 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
12591 /* 32914 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZrr),
12592 /* 32919 */ GIR_RootConstrainSelectedInstOperands,
12593 /* 32920 */ // GIR_Coverage, 5770,
12594 /* 32920 */ GIR_Done,
12595 /* 32921 */ // Label 831: @32921
12596 /* 32921 */ GIM_Reject,
12597 /* 32922 */ // Label 828: @32922
12598 /* 32922 */ GIM_Reject,
12599 /* 32923 */ // Label 683: @32923
12600 /* 32923 */ GIM_Try, /*On fail goto*//*Label 832*/ GIMT_Encode4(32956), // Rule ID 4422 //
12601 /* 32928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
12602 /* 32931 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
12603 /* 32934 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
12604 /* 32937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
12605 /* 32941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
12606 /* 32945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
12607 /* 32949 */ // (or:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
12608 /* 32949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORDkk),
12609 /* 32954 */ GIR_RootConstrainSelectedInstOperands,
12610 /* 32955 */ // GIR_Coverage, 4422,
12611 /* 32955 */ GIR_Done,
12612 /* 32956 */ // Label 832: @32956
12613 /* 32956 */ GIM_Reject,
12614 /* 32957 */ // Label 684: @32957
12615 /* 32957 */ GIM_Try, /*On fail goto*//*Label 833*/ GIMT_Encode4(33422),
12616 /* 32962 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
12617 /* 32965 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
12618 /* 32968 */ GIM_Try, /*On fail goto*//*Label 834*/ GIMT_Encode4(33030), // Rule ID 25266 //
12619 /* 32973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12620 /* 32976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12621 /* 32980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12622 /* 32984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12623 /* 32988 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12624 /* 32991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12625 /* 32995 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12626 /* 32999 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12627 /* 33003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12628 /* 33005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12629 /* 33012 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12630 /* 33012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12631 /* 33015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12632 /* 33017 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12633 /* 33019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12634 /* 33023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12635 /* 33028 */ GIR_RootConstrainSelectedInstOperands,
12636 /* 33029 */ // GIR_Coverage, 25266,
12637 /* 33029 */ GIR_EraseRootFromParent_Done,
12638 /* 33030 */ // Label 834: @33030
12639 /* 33030 */ GIM_Try, /*On fail goto*//*Label 835*/ GIMT_Encode4(33092), // Rule ID 25276 //
12640 /* 33035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12641 /* 33038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12642 /* 33042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12643 /* 33046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12644 /* 33050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12645 /* 33053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12646 /* 33057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12647 /* 33061 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12648 /* 33065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12649 /* 33067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12650 /* 33074 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12651 /* 33074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12652 /* 33077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12653 /* 33079 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12654 /* 33081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12655 /* 33085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12656 /* 33090 */ GIR_RootConstrainSelectedInstOperands,
12657 /* 33091 */ // GIR_Coverage, 25276,
12658 /* 33091 */ GIR_EraseRootFromParent_Done,
12659 /* 33092 */ // Label 835: @33092
12660 /* 33092 */ GIM_Try, /*On fail goto*//*Label 836*/ GIMT_Encode4(33154), // Rule ID 25473 //
12661 /* 33097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12662 /* 33100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12663 /* 33104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12664 /* 33108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12665 /* 33112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12666 /* 33115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12667 /* 33119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12668 /* 33123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12669 /* 33127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12670 /* 33129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12671 /* 33136 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12672 /* 33136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12673 /* 33139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12674 /* 33141 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12675 /* 33143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12676 /* 33147 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12677 /* 33152 */ GIR_RootConstrainSelectedInstOperands,
12678 /* 33153 */ // GIR_Coverage, 25473,
12679 /* 33153 */ GIR_EraseRootFromParent_Done,
12680 /* 33154 */ // Label 836: @33154
12681 /* 33154 */ GIM_Try, /*On fail goto*//*Label 837*/ GIMT_Encode4(33216), // Rule ID 18094 //
12682 /* 33159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12683 /* 33162 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12684 /* 33166 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12685 /* 33170 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12686 /* 33174 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12687 /* 33178 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12688 /* 33181 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12689 /* 33185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12690 /* 33189 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12691 /* 33191 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12692 /* 33198 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12693 /* 33198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12694 /* 33201 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12695 /* 33203 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12696 /* 33205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12697 /* 33209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12698 /* 33214 */ GIR_RootConstrainSelectedInstOperands,
12699 /* 33215 */ // GIR_Coverage, 18094,
12700 /* 33215 */ GIR_EraseRootFromParent_Done,
12701 /* 33216 */ // Label 837: @33216
12702 /* 33216 */ GIM_Try, /*On fail goto*//*Label 838*/ GIMT_Encode4(33278), // Rule ID 18123 //
12703 /* 33221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12704 /* 33224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12705 /* 33228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12706 /* 33232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12707 /* 33236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12708 /* 33240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12709 /* 33243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12710 /* 33247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12711 /* 33251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12712 /* 33253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12713 /* 33260 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12714 /* 33260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12715 /* 33263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12716 /* 33265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12717 /* 33267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12718 /* 33271 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12719 /* 33276 */ GIR_RootConstrainSelectedInstOperands,
12720 /* 33277 */ // GIR_Coverage, 18123,
12721 /* 33277 */ GIR_EraseRootFromParent_Done,
12722 /* 33278 */ // Label 838: @33278
12723 /* 33278 */ GIM_Try, /*On fail goto*//*Label 839*/ GIMT_Encode4(33340), // Rule ID 20050 //
12724 /* 33283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12725 /* 33286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12726 /* 33290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12727 /* 33294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12728 /* 33298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12729 /* 33302 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12730 /* 33305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12731 /* 33309 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12732 /* 33313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12733 /* 33315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12734 /* 33322 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12735 /* 33322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12736 /* 33325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12737 /* 33327 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12738 /* 33329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12739 /* 33333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12740 /* 33338 */ GIR_RootConstrainSelectedInstOperands,
12741 /* 33339 */ // GIR_Coverage, 20050,
12742 /* 33339 */ GIR_EraseRootFromParent_Done,
12743 /* 33340 */ // Label 839: @33340
12744 /* 33340 */ GIM_Try, /*On fail goto*//*Label 840*/ GIMT_Encode4(33367), // Rule ID 18082 //
12745 /* 33345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12746 /* 33348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12747 /* 33352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12748 /* 33356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12749 /* 33360 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
12750 /* 33360 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
12751 /* 33365 */ GIR_RootConstrainSelectedInstOperands,
12752 /* 33366 */ // GIR_Coverage, 18082,
12753 /* 33366 */ GIR_Done,
12754 /* 33367 */ // Label 840: @33367
12755 /* 33367 */ GIM_Try, /*On fail goto*//*Label 841*/ GIMT_Encode4(33394), // Rule ID 18107 //
12756 /* 33372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12757 /* 33375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12758 /* 33379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12759 /* 33383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12760 /* 33387 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
12761 /* 33387 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
12762 /* 33392 */ GIR_RootConstrainSelectedInstOperands,
12763 /* 33393 */ // GIR_Coverage, 18107,
12764 /* 33393 */ GIR_Done,
12765 /* 33394 */ // Label 841: @33394
12766 /* 33394 */ GIM_Try, /*On fail goto*//*Label 842*/ GIMT_Encode4(33421), // Rule ID 20042 //
12767 /* 33399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
12768 /* 33402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12769 /* 33406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12770 /* 33410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12771 /* 33414 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
12772 /* 33414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
12773 /* 33419 */ GIR_RootConstrainSelectedInstOperands,
12774 /* 33420 */ // GIR_Coverage, 20042,
12775 /* 33420 */ GIR_Done,
12776 /* 33421 */ // Label 842: @33421
12777 /* 33421 */ GIM_Reject,
12778 /* 33422 */ // Label 833: @33422
12779 /* 33422 */ GIM_Reject,
12780 /* 33423 */ // Label 685: @33423
12781 /* 33423 */ GIM_Try, /*On fail goto*//*Label 843*/ GIMT_Encode4(33578),
12782 /* 33428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
12783 /* 33431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
12784 /* 33434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12785 /* 33438 */ GIM_Try, /*On fail goto*//*Label 844*/ GIMT_Encode4(33496), // Rule ID 25480 //
12786 /* 33443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12787 /* 33446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12788 /* 33450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12789 /* 33454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12790 /* 33457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12791 /* 33461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12792 /* 33465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12793 /* 33469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12794 /* 33471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12795 /* 33478 */ // (or:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12796 /* 33478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12797 /* 33481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12798 /* 33483 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12799 /* 33485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12800 /* 33489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12801 /* 33494 */ GIR_RootConstrainSelectedInstOperands,
12802 /* 33495 */ // GIR_Coverage, 25480,
12803 /* 33495 */ GIR_EraseRootFromParent_Done,
12804 /* 33496 */ // Label 844: @33496
12805 /* 33496 */ GIM_Try, /*On fail goto*//*Label 845*/ GIMT_Encode4(33554), // Rule ID 20067 //
12806 /* 33501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12807 /* 33504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12808 /* 33508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12809 /* 33512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12810 /* 33516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12811 /* 33519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12812 /* 33523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12813 /* 33527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12814 /* 33529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12815 /* 33536 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
12816 /* 33536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12817 /* 33539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12818 /* 33541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12819 /* 33543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12820 /* 33547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12821 /* 33552 */ GIR_RootConstrainSelectedInstOperands,
12822 /* 33553 */ // GIR_Coverage, 20067,
12823 /* 33553 */ GIR_EraseRootFromParent_Done,
12824 /* 33554 */ // Label 845: @33554
12825 /* 33554 */ GIM_Try, /*On fail goto*//*Label 846*/ GIMT_Encode4(33577), // Rule ID 20059 //
12826 /* 33559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12827 /* 33562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12828 /* 33566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12829 /* 33570 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
12830 /* 33570 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12831 /* 33575 */ GIR_RootConstrainSelectedInstOperands,
12832 /* 33576 */ // GIR_Coverage, 20059,
12833 /* 33576 */ GIR_Done,
12834 /* 33577 */ // Label 846: @33577
12835 /* 33577 */ GIM_Reject,
12836 /* 33578 */ // Label 843: @33578
12837 /* 33578 */ GIM_Reject,
12838 /* 33579 */ // Label 686: @33579
12839 /* 33579 */ GIM_Try, /*On fail goto*//*Label 847*/ GIMT_Encode4(33612), // Rule ID 4423 //
12840 /* 33584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
12841 /* 33587 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
12842 /* 33590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
12843 /* 33593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12844 /* 33597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12845 /* 33601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
12846 /* 33605 */ // (or:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
12847 /* 33605 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORQkk),
12848 /* 33610 */ GIR_RootConstrainSelectedInstOperands,
12849 /* 33611 */ // GIR_Coverage, 4423,
12850 /* 33611 */ GIR_Done,
12851 /* 33612 */ // Label 847: @33612
12852 /* 33612 */ GIM_Reject,
12853 /* 33613 */ // Label 687: @33613
12854 /* 33613 */ GIM_Try, /*On fail goto*//*Label 848*/ GIMT_Encode4(33768),
12855 /* 33618 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
12856 /* 33621 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
12857 /* 33624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12858 /* 33628 */ GIM_Try, /*On fail goto*//*Label 849*/ GIMT_Encode4(33686), // Rule ID 25479 //
12859 /* 33633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12860 /* 33636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12861 /* 33640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12862 /* 33644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12863 /* 33647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12864 /* 33651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12865 /* 33655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12866 /* 33659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12867 /* 33661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12868 /* 33668 */ // (or:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12869 /* 33668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12870 /* 33671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12871 /* 33673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12872 /* 33675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12873 /* 33679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12874 /* 33684 */ GIR_RootConstrainSelectedInstOperands,
12875 /* 33685 */ // GIR_Coverage, 25479,
12876 /* 33685 */ GIR_EraseRootFromParent_Done,
12877 /* 33686 */ // Label 849: @33686
12878 /* 33686 */ GIM_Try, /*On fail goto*//*Label 850*/ GIMT_Encode4(33744), // Rule ID 20066 //
12879 /* 33691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12880 /* 33694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12881 /* 33698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12882 /* 33702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12883 /* 33706 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12884 /* 33709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12885 /* 33713 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12886 /* 33717 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12887 /* 33719 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12888 /* 33726 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
12889 /* 33726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12890 /* 33729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12891 /* 33731 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12892 /* 33733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12893 /* 33737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12894 /* 33742 */ GIR_RootConstrainSelectedInstOperands,
12895 /* 33743 */ // GIR_Coverage, 20066,
12896 /* 33743 */ GIR_EraseRootFromParent_Done,
12897 /* 33744 */ // Label 850: @33744
12898 /* 33744 */ GIM_Try, /*On fail goto*//*Label 851*/ GIMT_Encode4(33767), // Rule ID 20058 //
12899 /* 33749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12900 /* 33752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12901 /* 33756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12902 /* 33760 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
12903 /* 33760 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12904 /* 33765 */ GIR_RootConstrainSelectedInstOperands,
12905 /* 33766 */ // GIR_Coverage, 20058,
12906 /* 33766 */ GIR_Done,
12907 /* 33767 */ // Label 851: @33767
12908 /* 33767 */ GIM_Reject,
12909 /* 33768 */ // Label 848: @33768
12910 /* 33768 */ GIM_Reject,
12911 /* 33769 */ // Label 688: @33769
12912 /* 33769 */ GIM_Reject,
12913 /* 33770 */ // Label 5: @33770
12914 /* 33770 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 875*/ GIMT_Encode4(46470),
12915 /* 33781 */ /*GILLT_s1*//*Label 852*/ GIMT_Encode4(33881),
12916 /* 33785 */ /*GILLT_s8*//*Label 853*/ GIMT_Encode4(34439),
12917 /* 33789 */ /*GILLT_s16*//*Label 854*/ GIMT_Encode4(34966),
12918 /* 33793 */ /*GILLT_s32*//*Label 855*/ GIMT_Encode4(35711),
12919 /* 33797 */ /*GILLT_s64*//*Label 856*/ GIMT_Encode4(36659), GIMT_Encode4(0), GIMT_Encode4(0),
12920 /* 33809 */ /*GILLT_v2s1*//*Label 857*/ GIMT_Encode4(37566),
12921 /* 33813 */ /*GILLT_v2s64*//*Label 858*/ GIMT_Encode4(38108),
12922 /* 33817 */ /*GILLT_v4s1*//*Label 859*/ GIMT_Encode4(38728),
12923 /* 33821 */ /*GILLT_v4s32*//*Label 860*/ GIMT_Encode4(39270),
12924 /* 33825 */ /*GILLT_v4s64*//*Label 861*/ GIMT_Encode4(39890),
12925 /* 33829 */ /*GILLT_v8s1*//*Label 862*/ GIMT_Encode4(40634),
12926 /* 33833 */ /*GILLT_v8s16*//*Label 863*/ GIMT_Encode4(41432),
12927 /* 33837 */ /*GILLT_v8s32*//*Label 864*/ GIMT_Encode4(42052),
12928 /* 33841 */ /*GILLT_v8s64*//*Label 865*/ GIMT_Encode4(42796),
12929 /* 33845 */ /*GILLT_v16s1*//*Label 866*/ GIMT_Encode4(42994),
12930 /* 33849 */ /*GILLT_v16s8*//*Label 867*/ GIMT_Encode4(43252),
12931 /* 33853 */ /*GILLT_v16s16*//*Label 868*/ GIMT_Encode4(43872),
12932 /* 33857 */ /*GILLT_v16s32*//*Label 869*/ GIMT_Encode4(44616),
12933 /* 33861 */ /*GILLT_v32s1*//*Label 870*/ GIMT_Encode4(44814),
12934 /* 33865 */ /*GILLT_v32s8*//*Label 871*/ GIMT_Encode4(45072),
12935 /* 33869 */ /*GILLT_v32s16*//*Label 872*/ GIMT_Encode4(45816),
12936 /* 33873 */ /*GILLT_v64s1*//*Label 873*/ GIMT_Encode4(46014),
12937 /* 33877 */ /*GILLT_v64s8*//*Label 874*/ GIMT_Encode4(46272),
12938 /* 33881 */ // Label 852: @33881
12939 /* 33881 */ GIM_Try, /*On fail goto*//*Label 876*/ GIMT_Encode4(34438),
12940 /* 33886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
12941 /* 33889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
12942 /* 33892 */ GIM_Try, /*On fail goto*//*Label 877*/ GIMT_Encode4(34016), // Rule ID 25405 //
12943 /* 33897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12944 /* 33901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12945 /* 33905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12946 /* 33909 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12947 /* 33913 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12948 /* 33917 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12949 /* 33922 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12950 /* 33926 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12951 /* 33932 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12952 /* 33934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12953 /* 33938 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12954 /* 33940 */ // (xor:{ *:[v1i1] } (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, immAllOnesV:{ *:[v1i1] }), VK1:{ *:[v1i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
12955 /* 33940 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12956 /* 33943 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12957 /* 33947 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12958 /* 33952 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12959 /* 33956 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12960 /* 33961 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12961 /* 33964 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12962 /* 33968 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12963 /* 33973 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12964 /* 33977 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12965 /* 33982 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12966 /* 33985 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12967 /* 33989 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12968 /* 33994 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12969 /* 33997 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12970 /* 34000 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12971 /* 34002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12972 /* 34005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12973 /* 34007 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12974 /* 34010 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12975 /* 34015 */ // GIR_Coverage, 25405,
12976 /* 34015 */ GIR_EraseRootFromParent_Done,
12977 /* 34016 */ // Label 877: @34016
12978 /* 34016 */ GIM_Try, /*On fail goto*//*Label 878*/ GIMT_Encode4(34141), // Rule ID 19493 //
12979 /* 34021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12980 /* 34025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12981 /* 34029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12982 /* 34033 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12983 /* 34037 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12984 /* 34041 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12985 /* 34046 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12986 /* 34051 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
12987 /* 34055 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12988 /* 34061 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12989 /* 34063 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12990 /* 34065 */ // (xor:{ *:[v1i1] } (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, VK1:{ *:[v1i1] }:$src2), immAllOnesV:{ *:[v1i1] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
12991 /* 34065 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12992 /* 34068 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12993 /* 34072 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12994 /* 34077 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
12995 /* 34081 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12996 /* 34086 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12997 /* 34089 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12998 /* 34093 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12999 /* 34098 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13000 /* 34102 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13001 /* 34107 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13002 /* 34110 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13003 /* 34114 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13004 /* 34119 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13005 /* 34122 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13006 /* 34125 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13007 /* 34127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13008 /* 34130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13009 /* 34132 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13010 /* 34135 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
13011 /* 34140 */ // GIR_Coverage, 19493,
13012 /* 34140 */ GIR_EraseRootFromParent_Done,
13013 /* 34141 */ // Label 878: @34141
13014 /* 34141 */ GIM_Try, /*On fail goto*//*Label 879*/ GIMT_Encode4(34265), // Rule ID 25406 //
13015 /* 34146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13016 /* 34150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13017 /* 34154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13018 /* 34158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13019 /* 34162 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
13020 /* 34166 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
13021 /* 34170 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13022 /* 34175 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13023 /* 34179 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13024 /* 34185 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13025 /* 34187 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13026 /* 34189 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src2, (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, immAllOnesV:{ *:[v1i1] })) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
13027 /* 34189 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13028 /* 34192 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13029 /* 34196 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13030 /* 34201 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13031 /* 34205 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13032 /* 34210 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13033 /* 34213 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13034 /* 34217 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13035 /* 34222 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13036 /* 34226 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13037 /* 34231 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13038 /* 34234 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13039 /* 34238 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13040 /* 34243 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13041 /* 34246 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13042 /* 34249 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13043 /* 34251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13044 /* 34254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13045 /* 34256 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13046 /* 34259 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
13047 /* 34264 */ // GIR_Coverage, 25406,
13048 /* 34264 */ GIR_EraseRootFromParent_Done,
13049 /* 34265 */ // Label 879: @34265
13050 /* 34265 */ GIM_Try, /*On fail goto*//*Label 880*/ GIMT_Encode4(34344), // Rule ID 19479 //
13051 /* 34270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13052 /* 34274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13053 /* 34278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13054 /* 34282 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13055 /* 34288 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13056 /* 34290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13057 /* 34292 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src, immAllOnesV:{ *:[v1i1] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
13058 /* 34292 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13059 /* 34295 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13060 /* 34299 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13061 /* 34304 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13062 /* 34308 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13063 /* 34313 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13064 /* 34316 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13065 /* 34320 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13066 /* 34325 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13067 /* 34328 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13068 /* 34330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13069 /* 34333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13070 /* 34335 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13071 /* 34338 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13072 /* 34343 */ // GIR_Coverage, 19479,
13073 /* 34343 */ GIR_EraseRootFromParent_Done,
13074 /* 34344 */ // Label 880: @34344
13075 /* 34344 */ GIM_Try, /*On fail goto*//*Label 881*/ GIMT_Encode4(34437), // Rule ID 19497 //
13076 /* 34349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13077 /* 34353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13078 /* 34357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
13079 /* 34361 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src1, VK1:{ *:[v1i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KXORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src2, VK16:{ *:[i32] })), VK1:{ *:[i32] })
13080 /* 34361 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13081 /* 34364 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13082 /* 34368 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13083 /* 34373 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13084 /* 34377 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13085 /* 34382 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13086 /* 34385 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13087 /* 34389 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13088 /* 34394 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13089 /* 34398 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13090 /* 34403 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13091 /* 34406 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13092 /* 34410 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13093 /* 34415 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13094 /* 34418 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13095 /* 34421 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13096 /* 34423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13097 /* 34426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13098 /* 34428 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13099 /* 34431 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
13100 /* 34436 */ // GIR_Coverage, 19497,
13101 /* 34436 */ GIR_EraseRootFromParent_Done,
13102 /* 34437 */ // Label 881: @34437
13103 /* 34437 */ GIM_Reject,
13104 /* 34438 */ // Label 876: @34438
13105 /* 34438 */ GIM_Reject,
13106 /* 34439 */ // Label 853: @34439
13107 /* 34439 */ GIM_Try, /*On fail goto*//*Label 882*/ GIMT_Encode4(34965),
13108 /* 34444 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
13109 /* 34447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
13110 /* 34450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13111 /* 34454 */ GIM_Try, /*On fail goto*//*Label 883*/ GIMT_Encode4(34510), // Rule ID 271 //
13112 /* 34459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13113 /* 34462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13114 /* 34466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13115 /* 34470 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13116 /* 34473 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13117 /* 34477 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13118 /* 34481 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13119 /* 34485 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13120 /* 34487 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13121 /* 34494 */ // (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, -1:{ *:[i8] }) => (NOT8m_ND:{ *:[i8] } addr:{ *:[iPTR] }:$src1)
13122 /* 34494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m_ND),
13123 /* 34497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13124 /* 34499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13125 /* 34503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13126 /* 34508 */ GIR_RootConstrainSelectedInstOperands,
13127 /* 34509 */ // GIR_Coverage, 271,
13128 /* 34509 */ GIR_EraseRootFromParent_Done,
13129 /* 34510 */ // Label 883: @34510
13130 /* 34510 */ GIM_Try, /*On fail goto*//*Label 884*/ GIMT_Encode4(34571), // Rule ID 26098 //
13131 /* 34515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13132 /* 34518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13133 /* 34522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13134 /* 34526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13135 /* 34529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13136 /* 34533 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13137 /* 34537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13138 /* 34541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13139 /* 34543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13140 /* 34550 */ // (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (XOR8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13141 /* 34550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
13142 /* 34553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13143 /* 34555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13144 /* 34557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13145 /* 34561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13146 /* 34564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13147 /* 34569 */ GIR_RootConstrainSelectedInstOperands,
13148 /* 34570 */ // GIR_Coverage, 26098,
13149 /* 34570 */ GIR_EraseRootFromParent_Done,
13150 /* 34571 */ // Label 884: @34571
13151 /* 34571 */ GIM_Try, /*On fail goto*//*Label 885*/ GIMT_Encode4(34632), // Rule ID 26117 //
13152 /* 34576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13153 /* 34579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13154 /* 34583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13155 /* 34587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13156 /* 34590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13157 /* 34594 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13158 /* 34598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13159 /* 34602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13160 /* 34604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13161 /* 34611 */ // (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, GR8:{ *:[i8] }:$src1) => (XOR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13162 /* 34611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm_ND),
13163 /* 34614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13164 /* 34616 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13165 /* 34618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13166 /* 34622 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13167 /* 34625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13168 /* 34630 */ GIR_RootConstrainSelectedInstOperands,
13169 /* 34631 */ // GIR_Coverage, 26117,
13170 /* 34631 */ GIR_EraseRootFromParent_Done,
13171 /* 34632 */ // Label 885: @34632
13172 /* 34632 */ GIM_Try, /*On fail goto*//*Label 886*/ GIMT_Encode4(34693), // Rule ID 22875 //
13173 /* 34637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13174 /* 34640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13175 /* 34644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13176 /* 34648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13177 /* 34652 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13178 /* 34655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13179 /* 34659 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13180 /* 34663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13181 /* 34665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13182 /* 34672 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (XOR8rm:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13183 /* 34672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
13184 /* 34675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13185 /* 34677 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13186 /* 34679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13187 /* 34683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13188 /* 34686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13189 /* 34691 */ GIR_RootConstrainSelectedInstOperands,
13190 /* 34692 */ // GIR_Coverage, 22875,
13191 /* 34692 */ GIR_EraseRootFromParent_Done,
13192 /* 34693 */ // Label 886: @34693
13193 /* 34693 */ GIM_Try, /*On fail goto*//*Label 887*/ GIMT_Encode4(34754), // Rule ID 22965 //
13194 /* 34698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13195 /* 34701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13196 /* 34705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13197 /* 34709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13198 /* 34713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13199 /* 34716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13200 /* 34720 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
13201 /* 34724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13202 /* 34726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13203 /* 34733 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>) => (XOR8rm_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, addr:{ *:[iPTR] }:$src2)
13204 /* 34733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm_ND),
13205 /* 34736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13206 /* 34738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13207 /* 34740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13208 /* 34744 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13209 /* 34747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13210 /* 34752 */ GIR_RootConstrainSelectedInstOperands,
13211 /* 34753 */ // GIR_Coverage, 22965,
13212 /* 34753 */ GIR_EraseRootFromParent_Done,
13213 /* 34754 */ // Label 887: @34754
13214 /* 34754 */ GIM_Try, /*On fail goto*//*Label 888*/ GIMT_Encode4(34782), // Rule ID 22632 //
13215 /* 34759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13216 /* 34763 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 128,
13217 /* 34767 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] }) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] })
13218 /* 34767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
13219 /* 34770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13220 /* 34772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13221 /* 34774 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
13222 /* 34777 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13223 /* 34780 */ GIR_RootConstrainSelectedInstOperands,
13224 /* 34781 */ // GIR_Coverage, 22632,
13225 /* 34781 */ GIR_EraseRootFromParent_Done,
13226 /* 34782 */ // Label 888: @34782
13227 /* 34782 */ GIM_Try, /*On fail goto*//*Label 889*/ GIMT_Encode4(34807), // Rule ID 243 //
13228 /* 34787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13229 /* 34790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13230 /* 34794 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13231 /* 34798 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r:{ *:[i8] } GR8:{ *:[i8] }:$src1)
13232 /* 34798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r),
13233 /* 34801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13234 /* 34803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13235 /* 34805 */ GIR_RootConstrainSelectedInstOperands,
13236 /* 34806 */ // GIR_Coverage, 243,
13237 /* 34806 */ GIR_EraseRootFromParent_Done,
13238 /* 34807 */ // Label 889: @34807
13239 /* 34807 */ GIM_Try, /*On fail goto*//*Label 890*/ GIMT_Encode4(34832), // Rule ID 251 //
13240 /* 34812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13241 /* 34815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13242 /* 34819 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13243 /* 34823 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
13244 /* 34823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r_ND),
13245 /* 34826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13246 /* 34828 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13247 /* 34830 */ GIR_RootConstrainSelectedInstOperands,
13248 /* 34831 */ // GIR_Coverage, 251,
13249 /* 34831 */ GIR_EraseRootFromParent_Done,
13250 /* 34832 */ // Label 890: @34832
13251 /* 34832 */ GIM_Try, /*On fail goto*//*Label 891*/ GIMT_Encode4(34869), // Rule ID 22879 //
13252 /* 34837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13253 /* 34840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13254 /* 34844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13255 /* 34848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13256 /* 34852 */ // MIs[1] Operand 1
13257 /* 34852 */ // No operand predicates
13258 /* 34852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13259 /* 34854 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
13260 /* 34854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri),
13261 /* 34857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13262 /* 34859 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13263 /* 34861 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13264 /* 34864 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13265 /* 34867 */ GIR_RootConstrainSelectedInstOperands,
13266 /* 34868 */ // GIR_Coverage, 22879,
13267 /* 34868 */ GIR_EraseRootFromParent_Done,
13268 /* 34869 */ // Label 891: @34869
13269 /* 34869 */ GIM_Try, /*On fail goto*//*Label 892*/ GIMT_Encode4(34906), // Rule ID 22969 //
13270 /* 34874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13271 /* 34877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13272 /* 34881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13273 /* 34885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13274 /* 34889 */ // MIs[1] Operand 1
13275 /* 34889 */ // No operand predicates
13276 /* 34889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13277 /* 34891 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
13278 /* 34891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri_ND),
13279 /* 34894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13280 /* 34896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13281 /* 34898 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13282 /* 34901 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13283 /* 34904 */ GIR_RootConstrainSelectedInstOperands,
13284 /* 34905 */ // GIR_Coverage, 22969,
13285 /* 34905 */ GIR_EraseRootFromParent_Done,
13286 /* 34906 */ // Label 892: @34906
13287 /* 34906 */ GIM_Try, /*On fail goto*//*Label 893*/ GIMT_Encode4(34935), // Rule ID 22871 //
13288 /* 34911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13289 /* 34914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13290 /* 34918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13291 /* 34922 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
13292 /* 34922 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr),
13293 /* 34927 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13294 /* 34933 */ GIR_RootConstrainSelectedInstOperands,
13295 /* 34934 */ // GIR_Coverage, 22871,
13296 /* 34934 */ GIR_Done,
13297 /* 34935 */ // Label 893: @34935
13298 /* 34935 */ GIM_Try, /*On fail goto*//*Label 894*/ GIMT_Encode4(34964), // Rule ID 22961 //
13299 /* 34940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13300 /* 34943 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13301 /* 34947 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13302 /* 34951 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
13303 /* 34951 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr_ND),
13304 /* 34956 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13305 /* 34962 */ GIR_RootConstrainSelectedInstOperands,
13306 /* 34963 */ // GIR_Coverage, 22961,
13307 /* 34963 */ GIR_Done,
13308 /* 34964 */ // Label 894: @34964
13309 /* 34964 */ GIM_Reject,
13310 /* 34965 */ // Label 882: @34965
13311 /* 34965 */ GIM_Reject,
13312 /* 34966 */ // Label 854: @34966
13313 /* 34966 */ GIM_Try, /*On fail goto*//*Label 895*/ GIMT_Encode4(35710),
13314 /* 34971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
13315 /* 34974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
13316 /* 34977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13317 /* 34981 */ GIM_Try, /*On fail goto*//*Label 896*/ GIMT_Encode4(35037), // Rule ID 272 //
13318 /* 34986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13319 /* 34989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13320 /* 34993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13321 /* 34997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13322 /* 35000 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13323 /* 35004 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13324 /* 35008 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13325 /* 35012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13326 /* 35014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13327 /* 35021 */ // (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, -1:{ *:[i16] }) => (NOT16m_ND:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
13328 /* 35021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m_ND),
13329 /* 35024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13330 /* 35026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13331 /* 35030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13332 /* 35035 */ GIR_RootConstrainSelectedInstOperands,
13333 /* 35036 */ // GIR_Coverage, 272,
13334 /* 35036 */ GIR_EraseRootFromParent_Done,
13335 /* 35037 */ // Label 896: @35037
13336 /* 35037 */ GIM_Try, /*On fail goto*//*Label 897*/ GIMT_Encode4(35098), // Rule ID 26099 //
13337 /* 35042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13338 /* 35045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13339 /* 35049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13340 /* 35053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13341 /* 35056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13342 /* 35060 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13343 /* 35064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13344 /* 35068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13345 /* 35070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13346 /* 35077 */ // (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (XOR16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
13347 /* 35077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
13348 /* 35080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13349 /* 35082 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13350 /* 35084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13351 /* 35088 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13352 /* 35091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13353 /* 35096 */ GIR_RootConstrainSelectedInstOperands,
13354 /* 35097 */ // GIR_Coverage, 26099,
13355 /* 35097 */ GIR_EraseRootFromParent_Done,
13356 /* 35098 */ // Label 897: @35098
13357 /* 35098 */ GIM_Try, /*On fail goto*//*Label 898*/ GIMT_Encode4(35159), // Rule ID 26118 //
13358 /* 35103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13359 /* 35106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13360 /* 35110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13361 /* 35114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13362 /* 35117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13363 /* 35121 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13364 /* 35125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13365 /* 35129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13366 /* 35131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13367 /* 35138 */ // (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src1) => (XOR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
13368 /* 35138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm_ND),
13369 /* 35141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13370 /* 35143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13371 /* 35145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13372 /* 35149 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13373 /* 35152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13374 /* 35157 */ GIR_RootConstrainSelectedInstOperands,
13375 /* 35158 */ // GIR_Coverage, 26118,
13376 /* 35158 */ GIR_EraseRootFromParent_Done,
13377 /* 35159 */ // Label 898: @35159
13378 /* 35159 */ GIM_Try, /*On fail goto*//*Label 899*/ GIMT_Encode4(35220), // Rule ID 22876 //
13379 /* 35164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13380 /* 35167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13381 /* 35171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13382 /* 35175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13383 /* 35179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13384 /* 35182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13385 /* 35186 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13386 /* 35190 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13387 /* 35192 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13388 /* 35199 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (XOR16rm:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
13389 /* 35199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
13390 /* 35202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13391 /* 35204 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13392 /* 35206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13393 /* 35210 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13394 /* 35213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13395 /* 35218 */ GIR_RootConstrainSelectedInstOperands,
13396 /* 35219 */ // GIR_Coverage, 22876,
13397 /* 35219 */ GIR_EraseRootFromParent_Done,
13398 /* 35220 */ // Label 899: @35220
13399 /* 35220 */ GIM_Try, /*On fail goto*//*Label 900*/ GIMT_Encode4(35281), // Rule ID 22966 //
13400 /* 35225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13401 /* 35228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13402 /* 35232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13403 /* 35236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13404 /* 35240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13405 /* 35243 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13406 /* 35247 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
13407 /* 35251 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13408 /* 35253 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13409 /* 35260 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (XOR16rm_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, addr:{ *:[iPTR] }:$src2)
13410 /* 35260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm_ND),
13411 /* 35263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13412 /* 35265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13413 /* 35267 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13414 /* 35271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13415 /* 35274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13416 /* 35279 */ GIR_RootConstrainSelectedInstOperands,
13417 /* 35280 */ // GIR_Coverage, 22966,
13418 /* 35280 */ GIR_EraseRootFromParent_Done,
13419 /* 35281 */ // Label 900: @35281
13420 /* 35281 */ GIM_Try, /*On fail goto*//*Label 901*/ GIMT_Encode4(35323), // Rule ID 22633 //
13421 /* 35286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13422 /* 35290 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744073709518848u),
13423 /* 35301 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] }) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] })
13424 /* 35301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
13425 /* 35304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13426 /* 35306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13427 /* 35308 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744073709518848u),
13428 /* 35318 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13429 /* 35321 */ GIR_RootConstrainSelectedInstOperands,
13430 /* 35322 */ // GIR_Coverage, 22633,
13431 /* 35322 */ GIR_EraseRootFromParent_Done,
13432 /* 35323 */ // Label 901: @35323
13433 /* 35323 */ GIM_Try, /*On fail goto*//*Label 902*/ GIMT_Encode4(35425), // Rule ID 26071 //
13434 /* 35328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13435 /* 35332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13436 /* 35336 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
13437 /* 35340 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13438 /* 35344 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13439 /* 35348 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13440 /* 35353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13441 /* 35357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13442 /* 35359 */ // (xor:{ *:[i16] } (shl:{ *:[i16] } 1:{ *:[i16] }, GR8:{ *:[i8] }:$src2), GR16:{ *:[i16] }:$src1) => (BTC16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (INSERT_SUBREG:{ *:[i16] } (IMPLICIT_DEF:{ *:[i16] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
13443 /* 35359 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
13444 /* 35362 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13445 /* 35366 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13446 /* 35371 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13447 /* 35373 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
13448 /* 35376 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13449 /* 35380 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13450 /* 35385 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13451 /* 35388 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13452 /* 35392 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13453 /* 35395 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
13454 /* 35400 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
13455 /* 35405 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13456 /* 35410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
13457 /* 35413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13458 /* 35415 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13459 /* 35417 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13460 /* 35420 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13461 /* 35423 */ GIR_RootConstrainSelectedInstOperands,
13462 /* 35424 */ // GIR_Coverage, 26071,
13463 /* 35424 */ GIR_EraseRootFromParent_Done,
13464 /* 35425 */ // Label 902: @35425
13465 /* 35425 */ GIM_Try, /*On fail goto*//*Label 903*/ GIMT_Encode4(35527), // Rule ID 22809 //
13466 /* 35430 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13467 /* 35434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13468 /* 35438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13469 /* 35442 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
13470 /* 35446 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13471 /* 35450 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13472 /* 35454 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13473 /* 35459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13474 /* 35461 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (shl:{ *:[i16] } 1:{ *:[i16] }, GR8:{ *:[i8] }:$src2)) => (BTC16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (INSERT_SUBREG:{ *:[i16] } (IMPLICIT_DEF:{ *:[i16] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
13475 /* 35461 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
13476 /* 35464 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13477 /* 35468 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13478 /* 35473 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13479 /* 35475 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
13480 /* 35478 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13481 /* 35482 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13482 /* 35487 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13483 /* 35490 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13484 /* 35494 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13485 /* 35497 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
13486 /* 35502 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
13487 /* 35507 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13488 /* 35512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
13489 /* 35515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13490 /* 35517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13491 /* 35519 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13492 /* 35522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13493 /* 35525 */ GIR_RootConstrainSelectedInstOperands,
13494 /* 35526 */ // GIR_Coverage, 22809,
13495 /* 35526 */ GIR_EraseRootFromParent_Done,
13496 /* 35527 */ // Label 903: @35527
13497 /* 35527 */ GIM_Try, /*On fail goto*//*Label 904*/ GIMT_Encode4(35552), // Rule ID 244 //
13498 /* 35532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13499 /* 35535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13500 /* 35539 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13501 /* 35543 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r:{ *:[i16] } GR16:{ *:[i16] }:$src1)
13502 /* 35543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r),
13503 /* 35546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13504 /* 35548 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13505 /* 35550 */ GIR_RootConstrainSelectedInstOperands,
13506 /* 35551 */ // GIR_Coverage, 244,
13507 /* 35551 */ GIR_EraseRootFromParent_Done,
13508 /* 35552 */ // Label 904: @35552
13509 /* 35552 */ GIM_Try, /*On fail goto*//*Label 905*/ GIMT_Encode4(35577), // Rule ID 252 //
13510 /* 35557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13511 /* 35560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13512 /* 35564 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13513 /* 35568 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
13514 /* 35568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r_ND),
13515 /* 35571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13516 /* 35573 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13517 /* 35575 */ GIR_RootConstrainSelectedInstOperands,
13518 /* 35576 */ // GIR_Coverage, 252,
13519 /* 35576 */ GIR_EraseRootFromParent_Done,
13520 /* 35577 */ // Label 905: @35577
13521 /* 35577 */ GIM_Try, /*On fail goto*//*Label 906*/ GIMT_Encode4(35614), // Rule ID 22880 //
13522 /* 35582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13523 /* 35585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13524 /* 35589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13525 /* 35593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13526 /* 35597 */ // MIs[1] Operand 1
13527 /* 35597 */ // No operand predicates
13528 /* 35597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13529 /* 35599 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
13530 /* 35599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri),
13531 /* 35602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13532 /* 35604 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13533 /* 35606 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13534 /* 35609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13535 /* 35612 */ GIR_RootConstrainSelectedInstOperands,
13536 /* 35613 */ // GIR_Coverage, 22880,
13537 /* 35613 */ GIR_EraseRootFromParent_Done,
13538 /* 35614 */ // Label 906: @35614
13539 /* 35614 */ GIM_Try, /*On fail goto*//*Label 907*/ GIMT_Encode4(35651), // Rule ID 22970 //
13540 /* 35619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13541 /* 35622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13542 /* 35626 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13543 /* 35630 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13544 /* 35634 */ // MIs[1] Operand 1
13545 /* 35634 */ // No operand predicates
13546 /* 35634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13547 /* 35636 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
13548 /* 35636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri_ND),
13549 /* 35639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13550 /* 35641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13551 /* 35643 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13552 /* 35646 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13553 /* 35649 */ GIR_RootConstrainSelectedInstOperands,
13554 /* 35650 */ // GIR_Coverage, 22970,
13555 /* 35650 */ GIR_EraseRootFromParent_Done,
13556 /* 35651 */ // Label 907: @35651
13557 /* 35651 */ GIM_Try, /*On fail goto*//*Label 908*/ GIMT_Encode4(35680), // Rule ID 22872 //
13558 /* 35656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13559 /* 35659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13560 /* 35663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13561 /* 35667 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
13562 /* 35667 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr),
13563 /* 35672 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13564 /* 35678 */ GIR_RootConstrainSelectedInstOperands,
13565 /* 35679 */ // GIR_Coverage, 22872,
13566 /* 35679 */ GIR_Done,
13567 /* 35680 */ // Label 908: @35680
13568 /* 35680 */ GIM_Try, /*On fail goto*//*Label 909*/ GIMT_Encode4(35709), // Rule ID 22962 //
13569 /* 35685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13570 /* 35688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13571 /* 35692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
13572 /* 35696 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
13573 /* 35696 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr_ND),
13574 /* 35701 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13575 /* 35707 */ GIR_RootConstrainSelectedInstOperands,
13576 /* 35708 */ // GIR_Coverage, 22962,
13577 /* 35708 */ GIR_Done,
13578 /* 35709 */ // Label 909: @35709
13579 /* 35709 */ GIM_Reject,
13580 /* 35710 */ // Label 895: @35710
13581 /* 35710 */ GIM_Reject,
13582 /* 35711 */ // Label 855: @35711
13583 /* 35711 */ GIM_Try, /*On fail goto*//*Label 910*/ GIMT_Encode4(36658),
13584 /* 35716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
13585 /* 35719 */ GIM_Try, /*On fail goto*//*Label 911*/ GIMT_Encode4(35782), // Rule ID 273 //
13586 /* 35724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13587 /* 35727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13588 /* 35730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13589 /* 35734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13590 /* 35738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13591 /* 35742 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13592 /* 35745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13593 /* 35749 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13594 /* 35753 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13595 /* 35757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13596 /* 35759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13597 /* 35766 */ // (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, -1:{ *:[i32] }) => (NOT32m_ND:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
13598 /* 35766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m_ND),
13599 /* 35769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13600 /* 35771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13601 /* 35775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13602 /* 35780 */ GIR_RootConstrainSelectedInstOperands,
13603 /* 35781 */ // GIR_Coverage, 273,
13604 /* 35781 */ GIR_EraseRootFromParent_Done,
13605 /* 35782 */ // Label 911: @35782
13606 /* 35782 */ GIM_Try, /*On fail goto*//*Label 912*/ GIMT_Encode4(35850), // Rule ID 26100 //
13607 /* 35787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13608 /* 35790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13609 /* 35793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13610 /* 35797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13611 /* 35801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13612 /* 35805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13613 /* 35808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13614 /* 35812 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13615 /* 35816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13616 /* 35820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13617 /* 35822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13618 /* 35829 */ // (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (XOR32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13619 /* 35829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
13620 /* 35832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13621 /* 35834 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13622 /* 35836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13623 /* 35840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13624 /* 35843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13625 /* 35848 */ GIR_RootConstrainSelectedInstOperands,
13626 /* 35849 */ // GIR_Coverage, 26100,
13627 /* 35849 */ GIR_EraseRootFromParent_Done,
13628 /* 35850 */ // Label 912: @35850
13629 /* 35850 */ GIM_Try, /*On fail goto*//*Label 913*/ GIMT_Encode4(35918), // Rule ID 26119 //
13630 /* 35855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13631 /* 35858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13632 /* 35861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13633 /* 35865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13634 /* 35869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13635 /* 35873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13636 /* 35876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13637 /* 35880 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13638 /* 35884 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13639 /* 35888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13640 /* 35890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13641 /* 35897 */ // (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src1) => (XOR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13642 /* 35897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm_ND),
13643 /* 35900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13644 /* 35902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13645 /* 35904 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13646 /* 35908 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13647 /* 35911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13648 /* 35916 */ GIR_RootConstrainSelectedInstOperands,
13649 /* 35917 */ // GIR_Coverage, 26119,
13650 /* 35917 */ GIR_EraseRootFromParent_Done,
13651 /* 35918 */ // Label 913: @35918
13652 /* 35918 */ GIM_Try, /*On fail goto*//*Label 914*/ GIMT_Encode4(35986), // Rule ID 22877 //
13653 /* 35923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13654 /* 35926 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13655 /* 35929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13656 /* 35933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13657 /* 35937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13658 /* 35941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13659 /* 35945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13660 /* 35948 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13661 /* 35952 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13662 /* 35956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13663 /* 35958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13664 /* 35965 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (XOR32rm:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13665 /* 35965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
13666 /* 35968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13667 /* 35970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13668 /* 35972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13669 /* 35976 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13670 /* 35979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13671 /* 35984 */ GIR_RootConstrainSelectedInstOperands,
13672 /* 35985 */ // GIR_Coverage, 22877,
13673 /* 35985 */ GIR_EraseRootFromParent_Done,
13674 /* 35986 */ // Label 914: @35986
13675 /* 35986 */ GIM_Try, /*On fail goto*//*Label 915*/ GIMT_Encode4(36054), // Rule ID 22967 //
13676 /* 35991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13677 /* 35994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13678 /* 35997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13679 /* 36001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13680 /* 36005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13681 /* 36009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13682 /* 36013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13683 /* 36016 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13684 /* 36020 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
13685 /* 36024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13686 /* 36026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13687 /* 36033 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (XOR32rm_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
13688 /* 36033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm_ND),
13689 /* 36036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13690 /* 36038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13691 /* 36040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13692 /* 36044 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13693 /* 36047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13694 /* 36052 */ GIR_RootConstrainSelectedInstOperands,
13695 /* 36053 */ // GIR_Coverage, 22967,
13696 /* 36053 */ GIR_EraseRootFromParent_Done,
13697 /* 36054 */ // Label 915: @36054
13698 /* 36054 */ GIM_Try, /*On fail goto*//*Label 916*/ GIMT_Encode4(36103), // Rule ID 22634 //
13699 /* 36059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13700 /* 36062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13701 /* 36066 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13702 /* 36070 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744071562067968u),
13703 /* 36081 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] }) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] })
13704 /* 36081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
13705 /* 36084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13706 /* 36086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13707 /* 36088 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
13708 /* 36098 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13709 /* 36101 */ GIR_RootConstrainSelectedInstOperands,
13710 /* 36102 */ // GIR_Coverage, 22634,
13711 /* 36102 */ GIR_EraseRootFromParent_Done,
13712 /* 36103 */ // Label 916: @36103
13713 /* 36103 */ GIM_Try, /*On fail goto*//*Label 917*/ GIMT_Encode4(36161), // Rule ID 25030 //
13714 /* 36108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13715 /* 36111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13716 /* 36115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13717 /* 36119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13718 /* 36123 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13719 /* 36127 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
13720 /* 36131 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13721 /* 36136 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13722 /* 36140 */ // MIs[0] src
13723 /* 36140 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
13724 /* 36145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13725 /* 36147 */ // (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
13726 /* 36147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
13727 /* 36150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13728 /* 36152 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
13729 /* 36156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13730 /* 36159 */ GIR_RootConstrainSelectedInstOperands,
13731 /* 36160 */ // GIR_Coverage, 25030,
13732 /* 36160 */ GIR_EraseRootFromParent_Done,
13733 /* 36161 */ // Label 917: @36161
13734 /* 36161 */ GIM_Try, /*On fail goto*//*Label 918*/ GIMT_Encode4(36270), // Rule ID 26077 //
13735 /* 36166 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13736 /* 36169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13737 /* 36173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13738 /* 36177 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13739 /* 36181 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13740 /* 36185 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13741 /* 36189 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13742 /* 36193 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13743 /* 36198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13744 /* 36202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13745 /* 36204 */ // (xor:{ *:[i32] } (shl:{ *:[i32] } 1:{ *:[i32] }, GR8:{ *:[i8] }:$src2), GR32:{ *:[i32] }:$src1) => (BTC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
13746 /* 36204 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
13747 /* 36207 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13748 /* 36211 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13749 /* 36216 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13750 /* 36218 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
13751 /* 36221 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13752 /* 36225 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13753 /* 36230 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13754 /* 36233 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13755 /* 36237 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13756 /* 36240 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13757 /* 36245 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13758 /* 36250 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13759 /* 36255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
13760 /* 36258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13761 /* 36260 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13762 /* 36262 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13763 /* 36265 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13764 /* 36268 */ GIR_RootConstrainSelectedInstOperands,
13765 /* 36269 */ // GIR_Coverage, 26077,
13766 /* 36269 */ GIR_EraseRootFromParent_Done,
13767 /* 36270 */ // Label 918: @36270
13768 /* 36270 */ GIM_Try, /*On fail goto*//*Label 919*/ GIMT_Encode4(36324), // Rule ID 17345 //
13769 /* 36275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13770 /* 36278 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13771 /* 36281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13772 /* 36285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13773 /* 36289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13774 /* 36293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13775 /* 36297 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
13776 /* 36301 */ // MIs[1] src
13777 /* 36301 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
13778 /* 36306 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13779 /* 36310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13780 /* 36312 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
13781 /* 36312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
13782 /* 36315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13783 /* 36317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13784 /* 36319 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13785 /* 36322 */ GIR_RootConstrainSelectedInstOperands,
13786 /* 36323 */ // GIR_Coverage, 17345,
13787 /* 36323 */ GIR_EraseRootFromParent_Done,
13788 /* 36324 */ // Label 919: @36324
13789 /* 36324 */ GIM_Try, /*On fail goto*//*Label 920*/ GIMT_Encode4(36433), // Rule ID 22815 //
13790 /* 36329 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13791 /* 36332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13792 /* 36336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13793 /* 36340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13794 /* 36344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13795 /* 36348 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13796 /* 36352 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13797 /* 36356 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13798 /* 36360 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13799 /* 36365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13800 /* 36367 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (shl:{ *:[i32] } 1:{ *:[i32] }, GR8:{ *:[i8] }:$src2)) => (BTC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
13801 /* 36367 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
13802 /* 36370 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13803 /* 36374 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13804 /* 36379 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13805 /* 36381 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
13806 /* 36384 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13807 /* 36388 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13808 /* 36393 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13809 /* 36396 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13810 /* 36400 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13811 /* 36403 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13812 /* 36408 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13813 /* 36413 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13814 /* 36418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
13815 /* 36421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13816 /* 36423 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13817 /* 36425 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13818 /* 36428 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13819 /* 36431 */ GIR_RootConstrainSelectedInstOperands,
13820 /* 36432 */ // GIR_Coverage, 22815,
13821 /* 36432 */ GIR_EraseRootFromParent_Done,
13822 /* 36433 */ // Label 920: @36433
13823 /* 36433 */ GIM_Try, /*On fail goto*//*Label 921*/ GIMT_Encode4(36465), // Rule ID 245 //
13824 /* 36438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13825 /* 36441 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13826 /* 36444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13827 /* 36448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13828 /* 36452 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13829 /* 36456 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r:{ *:[i32] } GR32:{ *:[i32] }:$src1)
13830 /* 36456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r),
13831 /* 36459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13832 /* 36461 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13833 /* 36463 */ GIR_RootConstrainSelectedInstOperands,
13834 /* 36464 */ // GIR_Coverage, 245,
13835 /* 36464 */ GIR_EraseRootFromParent_Done,
13836 /* 36465 */ // Label 921: @36465
13837 /* 36465 */ GIM_Try, /*On fail goto*//*Label 922*/ GIMT_Encode4(36497), // Rule ID 253 //
13838 /* 36470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13839 /* 36473 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13840 /* 36476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13841 /* 36480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13842 /* 36484 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13843 /* 36488 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
13844 /* 36488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r_ND),
13845 /* 36491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13846 /* 36493 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13847 /* 36495 */ GIR_RootConstrainSelectedInstOperands,
13848 /* 36496 */ // GIR_Coverage, 253,
13849 /* 36496 */ GIR_EraseRootFromParent_Done,
13850 /* 36497 */ // Label 922: @36497
13851 /* 36497 */ GIM_Try, /*On fail goto*//*Label 923*/ GIMT_Encode4(36541), // Rule ID 22881 //
13852 /* 36502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13853 /* 36505 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13854 /* 36508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13855 /* 36512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13856 /* 36516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13857 /* 36520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13858 /* 36524 */ // MIs[1] Operand 1
13859 /* 36524 */ // No operand predicates
13860 /* 36524 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13861 /* 36526 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
13862 /* 36526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri),
13863 /* 36529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13864 /* 36531 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13865 /* 36533 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13866 /* 36536 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13867 /* 36539 */ GIR_RootConstrainSelectedInstOperands,
13868 /* 36540 */ // GIR_Coverage, 22881,
13869 /* 36540 */ GIR_EraseRootFromParent_Done,
13870 /* 36541 */ // Label 923: @36541
13871 /* 36541 */ GIM_Try, /*On fail goto*//*Label 924*/ GIMT_Encode4(36585), // Rule ID 22971 //
13872 /* 36546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13873 /* 36549 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13874 /* 36552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13875 /* 36556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13876 /* 36560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13877 /* 36564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13878 /* 36568 */ // MIs[1] Operand 1
13879 /* 36568 */ // No operand predicates
13880 /* 36568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13881 /* 36570 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
13882 /* 36570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri_ND),
13883 /* 36573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13884 /* 36575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13885 /* 36577 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13886 /* 36580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13887 /* 36583 */ GIR_RootConstrainSelectedInstOperands,
13888 /* 36584 */ // GIR_Coverage, 22971,
13889 /* 36584 */ GIR_EraseRootFromParent_Done,
13890 /* 36585 */ // Label 924: @36585
13891 /* 36585 */ GIM_Try, /*On fail goto*//*Label 925*/ GIMT_Encode4(36621), // Rule ID 22873 //
13892 /* 36590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13893 /* 36593 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13894 /* 36596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13895 /* 36600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13896 /* 36604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13897 /* 36608 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
13898 /* 36608 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr),
13899 /* 36613 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13900 /* 36619 */ GIR_RootConstrainSelectedInstOperands,
13901 /* 36620 */ // GIR_Coverage, 22873,
13902 /* 36620 */ GIR_Done,
13903 /* 36621 */ // Label 925: @36621
13904 /* 36621 */ GIM_Try, /*On fail goto*//*Label 926*/ GIMT_Encode4(36657), // Rule ID 22963 //
13905 /* 36626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13906 /* 36629 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13907 /* 36632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13908 /* 36636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13909 /* 36640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13910 /* 36644 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
13911 /* 36644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr_ND),
13912 /* 36649 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13913 /* 36655 */ GIR_RootConstrainSelectedInstOperands,
13914 /* 36656 */ // GIR_Coverage, 22963,
13915 /* 36656 */ GIR_Done,
13916 /* 36657 */ // Label 926: @36657
13917 /* 36657 */ GIM_Reject,
13918 /* 36658 */ // Label 910: @36658
13919 /* 36658 */ GIM_Reject,
13920 /* 36659 */ // Label 856: @36659
13921 /* 36659 */ GIM_Try, /*On fail goto*//*Label 927*/ GIMT_Encode4(37565),
13922 /* 36664 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
13923 /* 36667 */ GIM_Try, /*On fail goto*//*Label 928*/ GIMT_Encode4(36730), // Rule ID 274 //
13924 /* 36672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13925 /* 36675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13926 /* 36678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13927 /* 36682 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13928 /* 36686 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13929 /* 36690 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13930 /* 36693 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13931 /* 36697 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13932 /* 36701 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13933 /* 36705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13934 /* 36707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13935 /* 36714 */ // (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, -1:{ *:[i64] }) => (NOT64m_ND:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
13936 /* 36714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m_ND),
13937 /* 36717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13938 /* 36719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
13939 /* 36723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13940 /* 36728 */ GIR_RootConstrainSelectedInstOperands,
13941 /* 36729 */ // GIR_Coverage, 274,
13942 /* 36729 */ GIR_EraseRootFromParent_Done,
13943 /* 36730 */ // Label 928: @36730
13944 /* 36730 */ GIM_Try, /*On fail goto*//*Label 929*/ GIMT_Encode4(36798), // Rule ID 26101 //
13945 /* 36735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13946 /* 36738 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13947 /* 36741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13948 /* 36745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13949 /* 36749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13950 /* 36753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13951 /* 36756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13952 /* 36760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13953 /* 36764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13954 /* 36768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13955 /* 36770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13956 /* 36777 */ // (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (XOR64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13957 /* 36777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
13958 /* 36780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13959 /* 36782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13960 /* 36784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13961 /* 36788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13962 /* 36791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13963 /* 36796 */ GIR_RootConstrainSelectedInstOperands,
13964 /* 36797 */ // GIR_Coverage, 26101,
13965 /* 36797 */ GIR_EraseRootFromParent_Done,
13966 /* 36798 */ // Label 929: @36798
13967 /* 36798 */ GIM_Try, /*On fail goto*//*Label 930*/ GIMT_Encode4(36866), // Rule ID 26120 //
13968 /* 36803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13969 /* 36806 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13970 /* 36809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13971 /* 36813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13972 /* 36817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13973 /* 36821 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13974 /* 36824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13975 /* 36828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13976 /* 36832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13977 /* 36836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13978 /* 36838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13979 /* 36845 */ // (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src1) => (XOR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
13980 /* 36845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm_ND),
13981 /* 36848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13982 /* 36850 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13983 /* 36852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13984 /* 36856 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13985 /* 36859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13986 /* 36864 */ GIR_RootConstrainSelectedInstOperands,
13987 /* 36865 */ // GIR_Coverage, 26120,
13988 /* 36865 */ GIR_EraseRootFromParent_Done,
13989 /* 36866 */ // Label 930: @36866
13990 /* 36866 */ GIM_Try, /*On fail goto*//*Label 931*/ GIMT_Encode4(36934), // Rule ID 22878 //
13991 /* 36871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13992 /* 36874 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13993 /* 36877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13994 /* 36881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13995 /* 36885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13996 /* 36889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13997 /* 36893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13998 /* 36896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13999 /* 36900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14000 /* 36904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14001 /* 36906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14002 /* 36913 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (XOR64rm:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14003 /* 36913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
14004 /* 36916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14005 /* 36918 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14006 /* 36920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14007 /* 36924 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14008 /* 36927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14009 /* 36932 */ GIR_RootConstrainSelectedInstOperands,
14010 /* 36933 */ // GIR_Coverage, 22878,
14011 /* 36933 */ GIR_EraseRootFromParent_Done,
14012 /* 36934 */ // Label 931: @36934
14013 /* 36934 */ GIM_Try, /*On fail goto*//*Label 932*/ GIMT_Encode4(37002), // Rule ID 22968 //
14014 /* 36939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
14015 /* 36942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14016 /* 36945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14017 /* 36949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14018 /* 36953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14019 /* 36957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14020 /* 36961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14021 /* 36964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14022 /* 36968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14023 /* 36972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14024 /* 36974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14025 /* 36981 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (XOR64rm_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14026 /* 36981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm_ND),
14027 /* 36984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14028 /* 36986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14029 /* 36988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14030 /* 36992 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14031 /* 36995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14032 /* 37000 */ GIR_RootConstrainSelectedInstOperands,
14033 /* 37001 */ // GIR_Coverage, 22968,
14034 /* 37001 */ GIR_EraseRootFromParent_Done,
14035 /* 37002 */ // Label 932: @37002
14036 /* 37002 */ GIM_Try, /*On fail goto*//*Label 933*/ GIMT_Encode4(37060), // Rule ID 25031 //
14037 /* 37007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
14038 /* 37010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14039 /* 37014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14040 /* 37018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
14041 /* 37022 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
14042 /* 37026 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
14043 /* 37030 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14044 /* 37035 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
14045 /* 37039 */ // MIs[0] src
14046 /* 37039 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
14047 /* 37044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14048 /* 37046 */ // (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
14049 /* 37046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
14050 /* 37049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14051 /* 37051 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
14052 /* 37055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14053 /* 37058 */ GIR_RootConstrainSelectedInstOperands,
14054 /* 37059 */ // GIR_Coverage, 25031,
14055 /* 37059 */ GIR_EraseRootFromParent_Done,
14056 /* 37060 */ // Label 933: @37060
14057 /* 37060 */ GIM_Try, /*On fail goto*//*Label 934*/ GIMT_Encode4(37169), // Rule ID 26083 //
14058 /* 37065 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14059 /* 37068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14060 /* 37072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14061 /* 37076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
14062 /* 37080 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
14063 /* 37084 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
14064 /* 37088 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
14065 /* 37092 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
14066 /* 37097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14067 /* 37101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14068 /* 37103 */ // (xor:{ *:[i64] } (shl:{ *:[i64] } 1:{ *:[i64] }, GR8:{ *:[i8] }:$src2), GR64:{ *:[i64] }:$src1) => (BTC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
14069 /* 37103 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
14070 /* 37106 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14071 /* 37110 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14072 /* 37115 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14073 /* 37117 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14074 /* 37120 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14075 /* 37124 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14076 /* 37129 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14077 /* 37132 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
14078 /* 37136 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
14079 /* 37139 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14080 /* 37144 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14081 /* 37149 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
14082 /* 37154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
14083 /* 37157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14084 /* 37159 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14085 /* 37161 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14086 /* 37164 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14087 /* 37167 */ GIR_RootConstrainSelectedInstOperands,
14088 /* 37168 */ // GIR_Coverage, 26083,
14089 /* 37168 */ GIR_EraseRootFromParent_Done,
14090 /* 37169 */ // Label 934: @37169
14091 /* 37169 */ GIM_Try, /*On fail goto*//*Label 935*/ GIMT_Encode4(37223), // Rule ID 17346 //
14092 /* 37174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
14093 /* 37177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14094 /* 37180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14095 /* 37184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14096 /* 37188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14097 /* 37192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
14098 /* 37196 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
14099 /* 37200 */ // MIs[1] src
14100 /* 37200 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
14101 /* 37205 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
14102 /* 37209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14103 /* 37211 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
14104 /* 37211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
14105 /* 37214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14106 /* 37216 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14107 /* 37218 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14108 /* 37221 */ GIR_RootConstrainSelectedInstOperands,
14109 /* 37222 */ // GIR_Coverage, 17346,
14110 /* 37222 */ GIR_EraseRootFromParent_Done,
14111 /* 37223 */ // Label 935: @37223
14112 /* 37223 */ GIM_Try, /*On fail goto*//*Label 936*/ GIMT_Encode4(37332), // Rule ID 22821 //
14113 /* 37228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14114 /* 37231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14115 /* 37235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14116 /* 37239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14117 /* 37243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
14118 /* 37247 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
14119 /* 37251 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
14120 /* 37255 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
14121 /* 37259 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
14122 /* 37264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14123 /* 37266 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (shl:{ *:[i64] } 1:{ *:[i64] }, GR8:{ *:[i8] }:$src2)) => (BTC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
14124 /* 37266 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
14125 /* 37269 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14126 /* 37273 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14127 /* 37278 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
14128 /* 37280 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
14129 /* 37283 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14130 /* 37287 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14131 /* 37292 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14132 /* 37295 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
14133 /* 37299 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
14134 /* 37302 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14135 /* 37307 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
14136 /* 37312 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
14137 /* 37317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
14138 /* 37320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14139 /* 37322 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14140 /* 37324 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14141 /* 37327 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14142 /* 37330 */ GIR_RootConstrainSelectedInstOperands,
14143 /* 37331 */ // GIR_Coverage, 22821,
14144 /* 37331 */ GIR_EraseRootFromParent_Done,
14145 /* 37332 */ // Label 936: @37332
14146 /* 37332 */ GIM_Try, /*On fail goto*//*Label 937*/ GIMT_Encode4(37364), // Rule ID 246 //
14147 /* 37337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
14148 /* 37340 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14149 /* 37343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14150 /* 37347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14151 /* 37351 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
14152 /* 37355 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r:{ *:[i64] } GR64:{ *:[i64] }:$src1)
14153 /* 37355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r),
14154 /* 37358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14155 /* 37360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14156 /* 37362 */ GIR_RootConstrainSelectedInstOperands,
14157 /* 37363 */ // GIR_Coverage, 246,
14158 /* 37363 */ GIR_EraseRootFromParent_Done,
14159 /* 37364 */ // Label 937: @37364
14160 /* 37364 */ GIM_Try, /*On fail goto*//*Label 938*/ GIMT_Encode4(37396), // Rule ID 254 //
14161 /* 37369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
14162 /* 37372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14163 /* 37375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14164 /* 37379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14165 /* 37383 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
14166 /* 37387 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
14167 /* 37387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r_ND),
14168 /* 37390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14169 /* 37392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14170 /* 37394 */ GIR_RootConstrainSelectedInstOperands,
14171 /* 37395 */ // GIR_Coverage, 254,
14172 /* 37395 */ GIR_EraseRootFromParent_Done,
14173 /* 37396 */ // Label 938: @37396
14174 /* 37396 */ GIM_Try, /*On fail goto*//*Label 939*/ GIMT_Encode4(37444), // Rule ID 22882 //
14175 /* 37401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
14176 /* 37404 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14177 /* 37407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14178 /* 37411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14179 /* 37415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14180 /* 37419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14181 /* 37423 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
14182 /* 37427 */ // MIs[1] Operand 1
14183 /* 37427 */ // No operand predicates
14184 /* 37427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14185 /* 37429 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
14186 /* 37429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32),
14187 /* 37432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14188 /* 37434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14189 /* 37436 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
14190 /* 37439 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14191 /* 37442 */ GIR_RootConstrainSelectedInstOperands,
14192 /* 37443 */ // GIR_Coverage, 22882,
14193 /* 37443 */ GIR_EraseRootFromParent_Done,
14194 /* 37444 */ // Label 939: @37444
14195 /* 37444 */ GIM_Try, /*On fail goto*//*Label 940*/ GIMT_Encode4(37492), // Rule ID 22972 //
14196 /* 37449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
14197 /* 37452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14198 /* 37455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14199 /* 37459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14200 /* 37463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14201 /* 37467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
14202 /* 37471 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
14203 /* 37475 */ // MIs[1] Operand 1
14204 /* 37475 */ // No operand predicates
14205 /* 37475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14206 /* 37477 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
14207 /* 37477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32_ND),
14208 /* 37480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14209 /* 37482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14210 /* 37484 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
14211 /* 37487 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
14212 /* 37490 */ GIR_RootConstrainSelectedInstOperands,
14213 /* 37491 */ // GIR_Coverage, 22972,
14214 /* 37491 */ GIR_EraseRootFromParent_Done,
14215 /* 37492 */ // Label 940: @37492
14216 /* 37492 */ GIM_Try, /*On fail goto*//*Label 941*/ GIMT_Encode4(37528), // Rule ID 22874 //
14217 /* 37497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
14218 /* 37500 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14219 /* 37503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14220 /* 37507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14221 /* 37511 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14222 /* 37515 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
14223 /* 37515 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr),
14224 /* 37520 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
14225 /* 37526 */ GIR_RootConstrainSelectedInstOperands,
14226 /* 37527 */ // GIR_Coverage, 22874,
14227 /* 37527 */ GIR_Done,
14228 /* 37528 */ // Label 941: @37528
14229 /* 37528 */ GIM_Try, /*On fail goto*//*Label 942*/ GIMT_Encode4(37564), // Rule ID 22964 //
14230 /* 37533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
14231 /* 37536 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
14232 /* 37539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14233 /* 37543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14234 /* 37547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
14235 /* 37551 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
14236 /* 37551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr_ND),
14237 /* 37556 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
14238 /* 37562 */ GIR_RootConstrainSelectedInstOperands,
14239 /* 37563 */ // GIR_Coverage, 22964,
14240 /* 37563 */ GIR_Done,
14241 /* 37564 */ // Label 942: @37564
14242 /* 37564 */ GIM_Reject,
14243 /* 37565 */ // Label 927: @37565
14244 /* 37565 */ GIM_Reject,
14245 /* 37566 */ // Label 857: @37566
14246 /* 37566 */ GIM_Try, /*On fail goto*//*Label 943*/ GIMT_Encode4(38107),
14247 /* 37571 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
14248 /* 37574 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
14249 /* 37577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14250 /* 37581 */ GIM_Try, /*On fail goto*//*Label 944*/ GIMT_Encode4(37701), // Rule ID 25407 //
14251 /* 37586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14252 /* 37590 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14253 /* 37594 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
14254 /* 37598 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
14255 /* 37602 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14256 /* 37607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14257 /* 37611 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14258 /* 37617 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14259 /* 37619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14260 /* 37623 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14261 /* 37625 */ // (xor:{ *:[v2i1] } (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, immAllOnesV:{ *:[v2i1] }), VK2:{ *:[v2i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
14262 /* 37625 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14263 /* 37628 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14264 /* 37632 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14265 /* 37637 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14266 /* 37641 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14267 /* 37646 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14268 /* 37649 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14269 /* 37653 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14270 /* 37658 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14271 /* 37662 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14272 /* 37667 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14273 /* 37670 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14274 /* 37674 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14275 /* 37679 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14276 /* 37682 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14277 /* 37685 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14278 /* 37687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14279 /* 37690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14280 /* 37692 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14281 /* 37695 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14282 /* 37700 */ // GIR_Coverage, 25407,
14283 /* 37700 */ GIR_EraseRootFromParent_Done,
14284 /* 37701 */ // Label 944: @37701
14285 /* 37701 */ GIM_Try, /*On fail goto*//*Label 945*/ GIMT_Encode4(37822), // Rule ID 19494 //
14286 /* 37706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14287 /* 37710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14288 /* 37714 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
14289 /* 37718 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
14290 /* 37722 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14291 /* 37727 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14292 /* 37732 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14293 /* 37736 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14294 /* 37742 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14295 /* 37744 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14296 /* 37746 */ // (xor:{ *:[v2i1] } (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, VK2:{ *:[v2i1] }:$src2), immAllOnesV:{ *:[v2i1] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
14297 /* 37746 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14298 /* 37749 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14299 /* 37753 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14300 /* 37758 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
14301 /* 37762 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14302 /* 37767 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14303 /* 37770 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14304 /* 37774 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14305 /* 37779 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14306 /* 37783 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14307 /* 37788 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14308 /* 37791 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14309 /* 37795 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14310 /* 37800 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14311 /* 37803 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14312 /* 37806 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14313 /* 37808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14314 /* 37811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14315 /* 37813 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14316 /* 37816 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14317 /* 37821 */ // GIR_Coverage, 19494,
14318 /* 37821 */ GIR_EraseRootFromParent_Done,
14319 /* 37822 */ // Label 945: @37822
14320 /* 37822 */ GIM_Try, /*On fail goto*//*Label 946*/ GIMT_Encode4(37942), // Rule ID 25408 //
14321 /* 37827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14322 /* 37831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14323 /* 37835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14324 /* 37839 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
14325 /* 37843 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
14326 /* 37847 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14327 /* 37852 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14328 /* 37856 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14329 /* 37862 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14330 /* 37864 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14331 /* 37866 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src2, (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, immAllOnesV:{ *:[v2i1] })) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
14332 /* 37866 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14333 /* 37869 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14334 /* 37873 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14335 /* 37878 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
14336 /* 37882 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14337 /* 37887 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14338 /* 37890 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14339 /* 37894 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14340 /* 37899 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14341 /* 37903 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14342 /* 37908 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14343 /* 37911 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14344 /* 37915 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14345 /* 37920 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14346 /* 37923 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14347 /* 37926 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14348 /* 37928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14349 /* 37931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14350 /* 37933 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14351 /* 37936 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14352 /* 37941 */ // GIR_Coverage, 25408,
14353 /* 37941 */ GIR_EraseRootFromParent_Done,
14354 /* 37942 */ // Label 946: @37942
14355 /* 37942 */ GIM_Try, /*On fail goto*//*Label 947*/ GIMT_Encode4(38017), // Rule ID 19478 //
14356 /* 37947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14357 /* 37951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14358 /* 37955 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14359 /* 37961 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14360 /* 37963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14361 /* 37965 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src, immAllOnesV:{ *:[v2i1] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
14362 /* 37965 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14363 /* 37968 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14364 /* 37972 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14365 /* 37977 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14366 /* 37981 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14367 /* 37986 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14368 /* 37989 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
14369 /* 37993 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14370 /* 37998 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14371 /* 38001 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14372 /* 38003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14373 /* 38006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14374 /* 38008 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14375 /* 38011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14376 /* 38016 */ // GIR_Coverage, 19478,
14377 /* 38016 */ GIR_EraseRootFromParent_Done,
14378 /* 38017 */ // Label 947: @38017
14379 /* 38017 */ GIM_Try, /*On fail goto*//*Label 948*/ GIMT_Encode4(38106), // Rule ID 19498 //
14380 /* 38022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14381 /* 38026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
14382 /* 38030 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src1, VK2:{ *:[v2i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KXORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src2, VK16:{ *:[i32] })), VK2:{ *:[i32] })
14383 /* 38030 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14384 /* 38033 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14385 /* 38037 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14386 /* 38042 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14387 /* 38046 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14388 /* 38051 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14389 /* 38054 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14390 /* 38058 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14391 /* 38063 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
14392 /* 38067 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14393 /* 38072 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14394 /* 38075 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
14395 /* 38079 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14396 /* 38084 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14397 /* 38087 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14398 /* 38090 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14399 /* 38092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14400 /* 38095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14401 /* 38097 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14402 /* 38100 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
14403 /* 38105 */ // GIR_Coverage, 19498,
14404 /* 38105 */ GIR_EraseRootFromParent_Done,
14405 /* 38106 */ // Label 948: @38106
14406 /* 38106 */ GIM_Reject,
14407 /* 38107 */ // Label 943: @38107
14408 /* 38107 */ GIM_Reject,
14409 /* 38108 */ // Label 858: @38108
14410 /* 38108 */ GIM_Try, /*On fail goto*//*Label 949*/ GIMT_Encode4(38727),
14411 /* 38113 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
14412 /* 38116 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
14413 /* 38119 */ GIM_Try, /*On fail goto*//*Label 950*/ GIMT_Encode4(38181), // Rule ID 23399 //
14414 /* 38124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14415 /* 38127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14416 /* 38131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14417 /* 38135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14418 /* 38139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14419 /* 38142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14420 /* 38146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14421 /* 38150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14422 /* 38154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14423 /* 38156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14424 /* 38163 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14425 /* 38163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14426 /* 38166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14427 /* 38168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14428 /* 38170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14429 /* 38174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14430 /* 38179 */ GIR_RootConstrainSelectedInstOperands,
14431 /* 38180 */ // GIR_Coverage, 23399,
14432 /* 38180 */ GIR_EraseRootFromParent_Done,
14433 /* 38181 */ // Label 950: @38181
14434 /* 38181 */ GIM_Try, /*On fail goto*//*Label 951*/ GIMT_Encode4(38243), // Rule ID 24254 //
14435 /* 38186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14436 /* 38189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14437 /* 38193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14438 /* 38197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14439 /* 38201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14440 /* 38204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14441 /* 38208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14442 /* 38212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14443 /* 38216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14444 /* 38218 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14445 /* 38225 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14446 /* 38225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14447 /* 38228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14448 /* 38230 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14449 /* 38232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14450 /* 38236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14451 /* 38241 */ GIR_RootConstrainSelectedInstOperands,
14452 /* 38242 */ // GIR_Coverage, 24254,
14453 /* 38242 */ GIR_EraseRootFromParent_Done,
14454 /* 38243 */ // Label 951: @38243
14455 /* 38243 */ GIM_Try, /*On fail goto*//*Label 952*/ GIMT_Encode4(38305), // Rule ID 2122 //
14456 /* 38248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14457 /* 38251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14458 /* 38255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14459 /* 38259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14460 /* 38263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14461 /* 38267 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14462 /* 38270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14463 /* 38274 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14464 /* 38278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14465 /* 38280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14466 /* 38287 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14467 /* 38287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14468 /* 38290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14469 /* 38292 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14470 /* 38294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14471 /* 38298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14472 /* 38303 */ GIR_RootConstrainSelectedInstOperands,
14473 /* 38304 */ // GIR_Coverage, 2122,
14474 /* 38304 */ GIR_EraseRootFromParent_Done,
14475 /* 38305 */ // Label 952: @38305
14476 /* 38305 */ GIM_Try, /*On fail goto*//*Label 953*/ GIMT_Encode4(38367), // Rule ID 5818 //
14477 /* 38310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14478 /* 38313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14479 /* 38317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14480 /* 38321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14481 /* 38325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14482 /* 38329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14483 /* 38332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14484 /* 38336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14485 /* 38340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14486 /* 38342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14487 /* 38349 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
14488 /* 38349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14489 /* 38352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14490 /* 38354 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14491 /* 38356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14492 /* 38360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14493 /* 38365 */ GIR_RootConstrainSelectedInstOperands,
14494 /* 38366 */ // GIR_Coverage, 5818,
14495 /* 38366 */ GIR_EraseRootFromParent_Done,
14496 /* 38367 */ // Label 953: @38367
14497 /* 38367 */ GIM_Try, /*On fail goto*//*Label 954*/ GIMT_Encode4(38599), // Rule ID 21954 //
14498 /* 38372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14499 /* 38375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14500 /* 38379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14501 /* 38383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14502 /* 38387 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14503 /* 38393 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14504 /* 38395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14505 /* 38397 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, immAllOnesV:{ *:[v2i64] }) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src, sub_xmm:{ *:[i32] }), 15:{ *:[i8] }), sub_xmm:{ *:[i32] })
14506 /* 38397 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14507 /* 38400 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14508 /* 38404 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14509 /* 38409 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14510 /* 38411 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14511 /* 38414 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14512 /* 38418 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14513 /* 38423 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14514 /* 38426 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14515 /* 38430 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14516 /* 38433 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14517 /* 38438 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14518 /* 38443 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14519 /* 38448 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14520 /* 38451 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14521 /* 38455 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14522 /* 38460 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14523 /* 38462 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14524 /* 38465 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14525 /* 38469 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14526 /* 38474 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14527 /* 38477 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14528 /* 38481 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14529 /* 38484 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14530 /* 38489 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14531 /* 38494 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14532 /* 38499 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14533 /* 38502 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14534 /* 38506 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14535 /* 38511 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14536 /* 38513 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14537 /* 38516 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14538 /* 38520 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14539 /* 38525 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14540 /* 38528 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14541 /* 38532 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14542 /* 38535 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14543 /* 38540 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14544 /* 38545 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14545 /* 38550 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14546 /* 38553 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14547 /* 38557 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14548 /* 38562 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14549 /* 38565 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14550 /* 38568 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14551 /* 38571 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14552 /* 38574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14553 /* 38576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14554 /* 38579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14555 /* 38581 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14556 /* 38588 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14557 /* 38593 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14558 /* 38598 */ // GIR_Coverage, 21954,
14559 /* 38598 */ GIR_EraseRootFromParent_Done,
14560 /* 38599 */ // Label 954: @38599
14561 /* 38599 */ GIM_Try, /*On fail goto*//*Label 955*/ GIMT_Encode4(38645), // Rule ID 21962 //
14562 /* 38604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14563 /* 38607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14564 /* 38611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14565 /* 38615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14566 /* 38619 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14567 /* 38625 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14568 /* 38627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14569 /* 38629 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, immAllOnesV:{ *:[v2i64] }) => (VPTERNLOGQZ128rri:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, 15:{ *:[i8] })
14570 /* 38629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14571 /* 38632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14572 /* 38634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14573 /* 38636 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14574 /* 38638 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14575 /* 38640 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14576 /* 38643 */ GIR_RootConstrainSelectedInstOperands,
14577 /* 38644 */ // GIR_Coverage, 21962,
14578 /* 38644 */ GIR_EraseRootFromParent_Done,
14579 /* 38645 */ // Label 955: @38645
14580 /* 38645 */ GIM_Try, /*On fail goto*//*Label 956*/ GIMT_Encode4(38672), // Rule ID 2121 //
14581 /* 38650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14582 /* 38653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14583 /* 38657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14584 /* 38661 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14585 /* 38665 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
14586 /* 38665 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14587 /* 38670 */ GIR_RootConstrainSelectedInstOperands,
14588 /* 38671 */ // GIR_Coverage, 2121,
14589 /* 38671 */ GIR_Done,
14590 /* 38672 */ // Label 956: @38672
14591 /* 38672 */ GIM_Try, /*On fail goto*//*Label 957*/ GIMT_Encode4(38699), // Rule ID 2123 //
14592 /* 38677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
14593 /* 38680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14594 /* 38684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14595 /* 38688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14596 /* 38692 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
14597 /* 38692 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14598 /* 38697 */ GIR_RootConstrainSelectedInstOperands,
14599 /* 38698 */ // GIR_Coverage, 2123,
14600 /* 38698 */ GIR_Done,
14601 /* 38699 */ // Label 957: @38699
14602 /* 38699 */ GIM_Try, /*On fail goto*//*Label 958*/ GIMT_Encode4(38726), // Rule ID 5815 //
14603 /* 38704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14604 /* 38707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14605 /* 38711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14606 /* 38715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14607 /* 38719 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPXORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
14608 /* 38719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14609 /* 38724 */ GIR_RootConstrainSelectedInstOperands,
14610 /* 38725 */ // GIR_Coverage, 5815,
14611 /* 38725 */ GIR_Done,
14612 /* 38726 */ // Label 958: @38726
14613 /* 38726 */ GIM_Reject,
14614 /* 38727 */ // Label 949: @38727
14615 /* 38727 */ GIM_Reject,
14616 /* 38728 */ // Label 859: @38728
14617 /* 38728 */ GIM_Try, /*On fail goto*//*Label 959*/ GIMT_Encode4(39269),
14618 /* 38733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
14619 /* 38736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
14620 /* 38739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14621 /* 38743 */ GIM_Try, /*On fail goto*//*Label 960*/ GIMT_Encode4(38863), // Rule ID 25409 //
14622 /* 38748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14623 /* 38752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14624 /* 38756 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
14625 /* 38760 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
14626 /* 38764 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14627 /* 38769 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14628 /* 38773 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14629 /* 38779 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14630 /* 38781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14631 /* 38785 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14632 /* 38787 */ // (xor:{ *:[v4i1] } (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, immAllOnesV:{ *:[v4i1] }), VK4:{ *:[v4i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
14633 /* 38787 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14634 /* 38790 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14635 /* 38794 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14636 /* 38799 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14637 /* 38803 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14638 /* 38808 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14639 /* 38811 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14640 /* 38815 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14641 /* 38820 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14642 /* 38824 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14643 /* 38829 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14644 /* 38832 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14645 /* 38836 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14646 /* 38841 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14647 /* 38844 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14648 /* 38847 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14649 /* 38849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14650 /* 38852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14651 /* 38854 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14652 /* 38857 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14653 /* 38862 */ // GIR_Coverage, 25409,
14654 /* 38862 */ GIR_EraseRootFromParent_Done,
14655 /* 38863 */ // Label 960: @38863
14656 /* 38863 */ GIM_Try, /*On fail goto*//*Label 961*/ GIMT_Encode4(38984), // Rule ID 19495 //
14657 /* 38868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14658 /* 38872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14659 /* 38876 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
14660 /* 38880 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
14661 /* 38884 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14662 /* 38889 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14663 /* 38894 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14664 /* 38898 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14665 /* 38904 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14666 /* 38906 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14667 /* 38908 */ // (xor:{ *:[v4i1] } (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, VK4:{ *:[v4i1] }:$src2), immAllOnesV:{ *:[v4i1] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
14668 /* 38908 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14669 /* 38911 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14670 /* 38915 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14671 /* 38920 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
14672 /* 38924 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14673 /* 38929 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14674 /* 38932 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14675 /* 38936 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14676 /* 38941 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14677 /* 38945 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14678 /* 38950 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14679 /* 38953 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14680 /* 38957 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14681 /* 38962 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14682 /* 38965 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14683 /* 38968 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14684 /* 38970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14685 /* 38973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14686 /* 38975 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14687 /* 38978 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14688 /* 38983 */ // GIR_Coverage, 19495,
14689 /* 38983 */ GIR_EraseRootFromParent_Done,
14690 /* 38984 */ // Label 961: @38984
14691 /* 38984 */ GIM_Try, /*On fail goto*//*Label 962*/ GIMT_Encode4(39104), // Rule ID 25410 //
14692 /* 38989 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14693 /* 38993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14694 /* 38997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14695 /* 39001 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
14696 /* 39005 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
14697 /* 39009 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14698 /* 39014 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14699 /* 39018 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14700 /* 39024 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14701 /* 39026 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14702 /* 39028 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src2, (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, immAllOnesV:{ *:[v4i1] })) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
14703 /* 39028 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14704 /* 39031 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14705 /* 39035 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14706 /* 39040 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
14707 /* 39044 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14708 /* 39049 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14709 /* 39052 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14710 /* 39056 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14711 /* 39061 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
14712 /* 39065 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14713 /* 39070 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14714 /* 39073 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14715 /* 39077 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14716 /* 39082 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14717 /* 39085 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14718 /* 39088 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14719 /* 39090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14720 /* 39093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14721 /* 39095 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14722 /* 39098 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14723 /* 39103 */ // GIR_Coverage, 25410,
14724 /* 39103 */ GIR_EraseRootFromParent_Done,
14725 /* 39104 */ // Label 962: @39104
14726 /* 39104 */ GIM_Try, /*On fail goto*//*Label 963*/ GIMT_Encode4(39179), // Rule ID 19477 //
14727 /* 39109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14728 /* 39113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14729 /* 39117 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14730 /* 39123 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14731 /* 39125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14732 /* 39127 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src, immAllOnesV:{ *:[v4i1] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src, VK16:{ *:[i32] })), VK4:{ *:[i32] })
14733 /* 39127 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14734 /* 39130 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14735 /* 39134 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14736 /* 39139 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14737 /* 39143 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14738 /* 39148 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14739 /* 39151 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
14740 /* 39155 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14741 /* 39160 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14742 /* 39163 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14743 /* 39165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14744 /* 39168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14745 /* 39170 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14746 /* 39173 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14747 /* 39178 */ // GIR_Coverage, 19477,
14748 /* 39178 */ GIR_EraseRootFromParent_Done,
14749 /* 39179 */ // Label 963: @39179
14750 /* 39179 */ GIM_Try, /*On fail goto*//*Label 964*/ GIMT_Encode4(39268), // Rule ID 19499 //
14751 /* 39184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14752 /* 39188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
14753 /* 39192 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src1, VK4:{ *:[v4i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KXORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src2, VK16:{ *:[i32] })), VK4:{ *:[i32] })
14754 /* 39192 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14755 /* 39195 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14756 /* 39199 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14757 /* 39204 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14758 /* 39208 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14759 /* 39213 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14760 /* 39216 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14761 /* 39220 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14762 /* 39225 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
14763 /* 39229 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14764 /* 39234 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14765 /* 39237 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
14766 /* 39241 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14767 /* 39246 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14768 /* 39249 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14769 /* 39252 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14770 /* 39254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14771 /* 39257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14772 /* 39259 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14773 /* 39262 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
14774 /* 39267 */ // GIR_Coverage, 19499,
14775 /* 39267 */ GIR_EraseRootFromParent_Done,
14776 /* 39268 */ // Label 964: @39268
14777 /* 39268 */ GIM_Reject,
14778 /* 39269 */ // Label 959: @39269
14779 /* 39269 */ GIM_Reject,
14780 /* 39270 */ // Label 860: @39270
14781 /* 39270 */ GIM_Try, /*On fail goto*//*Label 965*/ GIMT_Encode4(39889),
14782 /* 39275 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
14783 /* 39278 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
14784 /* 39281 */ GIM_Try, /*On fail goto*//*Label 966*/ GIMT_Encode4(39343), // Rule ID 24272 //
14785 /* 39286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14786 /* 39289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14787 /* 39293 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14788 /* 39297 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14789 /* 39301 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14790 /* 39304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14791 /* 39308 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14792 /* 39312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14793 /* 39316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14794 /* 39318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14795 /* 39325 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14796 /* 39325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
14797 /* 39328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14798 /* 39330 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14799 /* 39332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14800 /* 39336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14801 /* 39341 */ GIR_RootConstrainSelectedInstOperands,
14802 /* 39342 */ // GIR_Coverage, 24272,
14803 /* 39342 */ GIR_EraseRootFromParent_Done,
14804 /* 39343 */ // Label 966: @39343
14805 /* 39343 */ GIM_Try, /*On fail goto*//*Label 967*/ GIMT_Encode4(39405), // Rule ID 25292 //
14806 /* 39348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14807 /* 39351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14808 /* 39355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14809 /* 39359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14810 /* 39363 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14811 /* 39366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14812 /* 39370 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14813 /* 39374 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14814 /* 39378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14815 /* 39380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14816 /* 39387 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14817 /* 39387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14818 /* 39390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14819 /* 39392 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14820 /* 39394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14821 /* 39398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14822 /* 39403 */ GIR_RootConstrainSelectedInstOperands,
14823 /* 39404 */ // GIR_Coverage, 25292,
14824 /* 39404 */ GIR_EraseRootFromParent_Done,
14825 /* 39405 */ // Label 967: @39405
14826 /* 39405 */ GIM_Try, /*On fail goto*//*Label 968*/ GIMT_Encode4(39467), // Rule ID 5845 //
14827 /* 39410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14828 /* 39413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14829 /* 39417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14830 /* 39421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14831 /* 39425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14832 /* 39429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14833 /* 39432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14834 /* 39436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14835 /* 39440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14836 /* 39442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14837 /* 39449 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14838 /* 39449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
14839 /* 39452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14840 /* 39454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14841 /* 39456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14842 /* 39460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14843 /* 39465 */ GIR_RootConstrainSelectedInstOperands,
14844 /* 39466 */ // GIR_Coverage, 5845,
14845 /* 39466 */ GIR_EraseRootFromParent_Done,
14846 /* 39467 */ // Label 968: @39467
14847 /* 39467 */ GIM_Try, /*On fail goto*//*Label 969*/ GIMT_Encode4(39529), // Rule ID 18155 //
14848 /* 39472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14849 /* 39475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14850 /* 39479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14851 /* 39483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14852 /* 39487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14853 /* 39491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14854 /* 39494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14855 /* 39498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14856 /* 39502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14857 /* 39504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14858 /* 39511 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
14859 /* 39511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14860 /* 39514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14861 /* 39516 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14862 /* 39518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14863 /* 39522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14864 /* 39527 */ GIR_RootConstrainSelectedInstOperands,
14865 /* 39528 */ // GIR_Coverage, 18155,
14866 /* 39528 */ GIR_EraseRootFromParent_Done,
14867 /* 39529 */ // Label 969: @39529
14868 /* 39529 */ GIM_Try, /*On fail goto*//*Label 970*/ GIMT_Encode4(39761), // Rule ID 21953 //
14869 /* 39534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14870 /* 39537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14871 /* 39541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14872 /* 39545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14873 /* 39549 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14874 /* 39555 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14875 /* 39557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14876 /* 39559 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, immAllOnesV:{ *:[v4i32] }) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v4i32] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v4i32] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v4i32] }:$src, sub_xmm:{ *:[i32] }), 15:{ *:[i8] }), sub_xmm:{ *:[i32] })
14877 /* 39559 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14878 /* 39562 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14879 /* 39566 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14880 /* 39571 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14881 /* 39573 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14882 /* 39576 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14883 /* 39580 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14884 /* 39585 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14885 /* 39588 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14886 /* 39592 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14887 /* 39595 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14888 /* 39600 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14889 /* 39605 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14890 /* 39610 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14891 /* 39613 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14892 /* 39617 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14893 /* 39622 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14894 /* 39624 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14895 /* 39627 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14896 /* 39631 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14897 /* 39636 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14898 /* 39639 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14899 /* 39643 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14900 /* 39646 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14901 /* 39651 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14902 /* 39656 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14903 /* 39661 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14904 /* 39664 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14905 /* 39668 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14906 /* 39673 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14907 /* 39675 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14908 /* 39678 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14909 /* 39682 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14910 /* 39687 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14911 /* 39690 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14912 /* 39694 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14913 /* 39697 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14914 /* 39702 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14915 /* 39707 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14916 /* 39712 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14917 /* 39715 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14918 /* 39719 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14919 /* 39724 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14920 /* 39727 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14921 /* 39730 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14922 /* 39733 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14923 /* 39736 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14924 /* 39738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14925 /* 39741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14926 /* 39743 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14927 /* 39750 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14928 /* 39755 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14929 /* 39760 */ // GIR_Coverage, 21953,
14930 /* 39760 */ GIR_EraseRootFromParent_Done,
14931 /* 39761 */ // Label 970: @39761
14932 /* 39761 */ GIM_Try, /*On fail goto*//*Label 971*/ GIMT_Encode4(39807), // Rule ID 21961 //
14933 /* 39766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14934 /* 39769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14935 /* 39773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14936 /* 39777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14937 /* 39781 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14938 /* 39787 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14939 /* 39789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14940 /* 39791 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, immAllOnesV:{ *:[v4i32] }) => (VPTERNLOGQZ128rri:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, 15:{ *:[i8] })
14941 /* 39791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14942 /* 39794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14943 /* 39796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14944 /* 39798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14945 /* 39800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14946 /* 39802 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14947 /* 39805 */ GIR_RootConstrainSelectedInstOperands,
14948 /* 39806 */ // GIR_Coverage, 21961,
14949 /* 39806 */ GIR_EraseRootFromParent_Done,
14950 /* 39807 */ // Label 971: @39807
14951 /* 39807 */ GIM_Try, /*On fail goto*//*Label 972*/ GIMT_Encode4(39834), // Rule ID 5842 //
14952 /* 39812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
14953 /* 39815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14954 /* 39819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14955 /* 39823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14956 /* 39827 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPXORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
14957 /* 39827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rr),
14958 /* 39832 */ GIR_RootConstrainSelectedInstOperands,
14959 /* 39833 */ // GIR_Coverage, 5842,
14960 /* 39833 */ GIR_Done,
14961 /* 39834 */ // Label 972: @39834
14962 /* 39834 */ GIM_Try, /*On fail goto*//*Label 973*/ GIMT_Encode4(39861), // Rule ID 18143 //
14963 /* 39839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14964 /* 39842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14965 /* 39846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14966 /* 39850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14967 /* 39854 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
14968 /* 39854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14969 /* 39859 */ GIR_RootConstrainSelectedInstOperands,
14970 /* 39860 */ // GIR_Coverage, 18143,
14971 /* 39860 */ GIR_Done,
14972 /* 39861 */ // Label 973: @39861
14973 /* 39861 */ GIM_Try, /*On fail goto*//*Label 974*/ GIMT_Encode4(39888), // Rule ID 18167 //
14974 /* 39866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
14975 /* 39869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14976 /* 39873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14977 /* 39877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14978 /* 39881 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
14979 /* 39881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14980 /* 39886 */ GIR_RootConstrainSelectedInstOperands,
14981 /* 39887 */ // GIR_Coverage, 18167,
14982 /* 39887 */ GIR_Done,
14983 /* 39888 */ // Label 974: @39888
14984 /* 39888 */ GIM_Reject,
14985 /* 39889 */ // Label 965: @39889
14986 /* 39889 */ GIM_Reject,
14987 /* 39890 */ // Label 861: @39890
14988 /* 39890 */ GIM_Try, /*On fail goto*//*Label 975*/ GIMT_Encode4(40633),
14989 /* 39895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
14990 /* 39898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
14991 /* 39901 */ GIM_Try, /*On fail goto*//*Label 976*/ GIMT_Encode4(39963), // Rule ID 23401 //
14992 /* 39906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14993 /* 39909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14994 /* 39913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14995 /* 39917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14996 /* 39921 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14997 /* 39924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14998 /* 39928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14999 /* 39932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15000 /* 39936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15001 /* 39938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15002 /* 39945 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15003 /* 39945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15004 /* 39948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15005 /* 39950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15006 /* 39952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15007 /* 39956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15008 /* 39961 */ GIR_RootConstrainSelectedInstOperands,
15009 /* 39962 */ // GIR_Coverage, 23401,
15010 /* 39962 */ GIR_EraseRootFromParent_Done,
15011 /* 39963 */ // Label 976: @39963
15012 /* 39963 */ GIM_Try, /*On fail goto*//*Label 977*/ GIMT_Encode4(40025), // Rule ID 24248 //
15013 /* 39968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15014 /* 39971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15015 /* 39975 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15016 /* 39979 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15017 /* 39983 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15018 /* 39986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15019 /* 39990 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15020 /* 39994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15021 /* 39998 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15022 /* 40000 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15023 /* 40007 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15024 /* 40007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15025 /* 40010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15026 /* 40012 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15027 /* 40014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15028 /* 40018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15029 /* 40023 */ GIR_RootConstrainSelectedInstOperands,
15030 /* 40024 */ // GIR_Coverage, 24248,
15031 /* 40024 */ GIR_EraseRootFromParent_Done,
15032 /* 40025 */ // Label 977: @40025
15033 /* 40025 */ GIM_Try, /*On fail goto*//*Label 978*/ GIMT_Encode4(40087), // Rule ID 25283 //
15034 /* 40030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15035 /* 40033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15036 /* 40037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15037 /* 40041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15038 /* 40045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15039 /* 40048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15040 /* 40052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15041 /* 40056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15042 /* 40060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15043 /* 40062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15044 /* 40069 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15045 /* 40069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15046 /* 40072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15047 /* 40074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15048 /* 40076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15049 /* 40080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15050 /* 40085 */ GIR_RootConstrainSelectedInstOperands,
15051 /* 40086 */ // GIR_Coverage, 25283,
15052 /* 40086 */ GIR_EraseRootFromParent_Done,
15053 /* 40087 */ // Label 978: @40087
15054 /* 40087 */ GIM_Try, /*On fail goto*//*Label 979*/ GIMT_Encode4(40149), // Rule ID 2126 //
15055 /* 40092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15056 /* 40095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15057 /* 40099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15058 /* 40103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15059 /* 40107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15060 /* 40111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15061 /* 40114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15062 /* 40118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15063 /* 40122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15064 /* 40124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15065 /* 40131 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15066 /* 40131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15067 /* 40134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15068 /* 40136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15069 /* 40138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15070 /* 40142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15071 /* 40147 */ GIR_RootConstrainSelectedInstOperands,
15072 /* 40148 */ // GIR_Coverage, 2126,
15073 /* 40148 */ GIR_EraseRootFromParent_Done,
15074 /* 40149 */ // Label 979: @40149
15075 /* 40149 */ GIM_Try, /*On fail goto*//*Label 980*/ GIMT_Encode4(40211), // Rule ID 5809 //
15076 /* 40154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15077 /* 40157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15078 /* 40161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15079 /* 40165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15080 /* 40169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15081 /* 40173 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15082 /* 40176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15083 /* 40180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15084 /* 40184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15085 /* 40186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15086 /* 40193 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15087 /* 40193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15088 /* 40196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15089 /* 40198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15090 /* 40200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15091 /* 40204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15092 /* 40209 */ GIR_RootConstrainSelectedInstOperands,
15093 /* 40210 */ // GIR_Coverage, 5809,
15094 /* 40210 */ GIR_EraseRootFromParent_Done,
15095 /* 40211 */ // Label 980: @40211
15096 /* 40211 */ GIM_Try, /*On fail goto*//*Label 981*/ GIMT_Encode4(40273), // Rule ID 18130 //
15097 /* 40216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15098 /* 40219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15099 /* 40223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15100 /* 40227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15101 /* 40231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15102 /* 40235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15103 /* 40238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15104 /* 40242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15105 /* 40246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15106 /* 40248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15107 /* 40255 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15108 /* 40255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15109 /* 40258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15110 /* 40260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15111 /* 40262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15112 /* 40266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15113 /* 40271 */ GIR_RootConstrainSelectedInstOperands,
15114 /* 40272 */ // GIR_Coverage, 18130,
15115 /* 40272 */ GIR_EraseRootFromParent_Done,
15116 /* 40273 */ // Label 981: @40273
15117 /* 40273 */ GIM_Try, /*On fail goto*//*Label 982*/ GIMT_Encode4(40505), // Rule ID 21958 //
15118 /* 40278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15119 /* 40281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15120 /* 40285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15121 /* 40289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15122 /* 40293 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15123 /* 40299 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15124 /* 40301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15125 /* 40303 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, immAllOnesV:{ *:[v4i64] }) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src, sub_ymm:{ *:[i32] }), 15:{ *:[i8] }), sub_ymm:{ *:[i32] })
15126 /* 40303 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15127 /* 40306 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15128 /* 40310 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15129 /* 40315 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15130 /* 40317 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15131 /* 40320 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15132 /* 40324 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15133 /* 40329 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15134 /* 40332 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15135 /* 40336 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15136 /* 40339 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15137 /* 40344 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15138 /* 40349 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15139 /* 40354 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15140 /* 40357 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15141 /* 40361 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15142 /* 40366 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15143 /* 40368 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15144 /* 40371 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15145 /* 40375 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15146 /* 40380 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15147 /* 40383 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15148 /* 40387 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15149 /* 40390 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15150 /* 40395 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15151 /* 40400 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15152 /* 40405 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15153 /* 40408 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15154 /* 40412 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15155 /* 40417 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15156 /* 40419 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15157 /* 40422 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15158 /* 40426 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15159 /* 40431 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15160 /* 40434 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15161 /* 40438 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15162 /* 40441 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15163 /* 40446 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15164 /* 40451 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15165 /* 40456 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15166 /* 40459 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15167 /* 40463 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15168 /* 40468 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15169 /* 40471 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15170 /* 40474 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15171 /* 40477 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15172 /* 40480 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15173 /* 40482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15174 /* 40485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15175 /* 40487 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15176 /* 40494 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15177 /* 40499 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15178 /* 40504 */ // GIR_Coverage, 21958,
15179 /* 40504 */ GIR_EraseRootFromParent_Done,
15180 /* 40505 */ // Label 982: @40505
15181 /* 40505 */ GIM_Try, /*On fail goto*//*Label 983*/ GIMT_Encode4(40551), // Rule ID 21966 //
15182 /* 40510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15183 /* 40513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15184 /* 40517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15185 /* 40521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15186 /* 40525 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15187 /* 40531 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15188 /* 40533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15189 /* 40535 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, immAllOnesV:{ *:[v4i64] }) => (VPTERNLOGQZ256rri:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, 15:{ *:[i8] })
15190 /* 40535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15191 /* 40538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15192 /* 40540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15193 /* 40542 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15194 /* 40544 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15195 /* 40546 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15196 /* 40549 */ GIR_RootConstrainSelectedInstOperands,
15197 /* 40550 */ // GIR_Coverage, 21966,
15198 /* 40550 */ GIR_EraseRootFromParent_Done,
15199 /* 40551 */ // Label 983: @40551
15200 /* 40551 */ GIM_Try, /*On fail goto*//*Label 984*/ GIMT_Encode4(40578), // Rule ID 2125 //
15201 /* 40556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15202 /* 40559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15203 /* 40563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15204 /* 40567 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15205 /* 40571 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPXORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15206 /* 40571 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15207 /* 40576 */ GIR_RootConstrainSelectedInstOperands,
15208 /* 40577 */ // GIR_Coverage, 2125,
15209 /* 40577 */ GIR_Done,
15210 /* 40578 */ // Label 984: @40578
15211 /* 40578 */ GIM_Try, /*On fail goto*//*Label 985*/ GIMT_Encode4(40605), // Rule ID 5806 //
15212 /* 40583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15213 /* 40586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15214 /* 40590 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15215 /* 40594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15216 /* 40598 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPXORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
15217 /* 40598 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
15218 /* 40603 */ GIR_RootConstrainSelectedInstOperands,
15219 /* 40604 */ // GIR_Coverage, 5806,
15220 /* 40604 */ GIR_Done,
15221 /* 40605 */ // Label 985: @40605
15222 /* 40605 */ GIM_Try, /*On fail goto*//*Label 986*/ GIMT_Encode4(40632), // Rule ID 18114 //
15223 /* 40610 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15224 /* 40613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15225 /* 40617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15226 /* 40621 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15227 /* 40625 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VXORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
15228 /* 40625 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15229 /* 40630 */ GIR_RootConstrainSelectedInstOperands,
15230 /* 40631 */ // GIR_Coverage, 18114,
15231 /* 40631 */ GIR_Done,
15232 /* 40632 */ // Label 986: @40632
15233 /* 40632 */ GIM_Reject,
15234 /* 40633 */ // Label 975: @40633
15235 /* 40633 */ GIM_Reject,
15236 /* 40634 */ // Label 862: @40634
15237 /* 40634 */ GIM_Try, /*On fail goto*//*Label 987*/ GIMT_Encode4(41431),
15238 /* 40639 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
15239 /* 40642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
15240 /* 40645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15241 /* 40649 */ GIM_Try, /*On fail goto*//*Label 988*/ GIMT_Encode4(40709), // Rule ID 23717 //
15242 /* 40654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15243 /* 40657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15244 /* 40661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15245 /* 40665 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15246 /* 40669 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15247 /* 40673 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15248 /* 40678 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15249 /* 40682 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15250 /* 40688 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15251 /* 40690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15252 /* 40694 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15253 /* 40696 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15254 /* 40696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
15255 /* 40699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15256 /* 40701 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15257 /* 40705 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
15258 /* 40707 */ GIR_RootConstrainSelectedInstOperands,
15259 /* 40708 */ // GIR_Coverage, 23717,
15260 /* 40708 */ GIR_EraseRootFromParent_Done,
15261 /* 40709 */ // Label 988: @40709
15262 /* 40709 */ GIM_Try, /*On fail goto*//*Label 989*/ GIMT_Encode4(40832), // Rule ID 25403 //
15263 /* 40714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15264 /* 40717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15265 /* 40721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15266 /* 40725 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15267 /* 40729 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15268 /* 40733 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15269 /* 40738 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15270 /* 40742 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15271 /* 40748 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15272 /* 40750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15273 /* 40754 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15274 /* 40756 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
15275 /* 40756 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15276 /* 40759 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15277 /* 40763 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15278 /* 40768 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
15279 /* 40772 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15280 /* 40777 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15281 /* 40780 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15282 /* 40784 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15283 /* 40789 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
15284 /* 40793 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15285 /* 40798 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15286 /* 40801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15287 /* 40805 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15288 /* 40810 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15289 /* 40813 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15290 /* 40816 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15291 /* 40818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15292 /* 40821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15293 /* 40823 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15294 /* 40826 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15295 /* 40831 */ // GIR_Coverage, 25403,
15296 /* 40831 */ GIR_EraseRootFromParent_Done,
15297 /* 40832 */ // Label 989: @40832
15298 /* 40832 */ GIM_Try, /*On fail goto*//*Label 990*/ GIMT_Encode4(40895), // Rule ID 4424 //
15299 /* 40837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15300 /* 40840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15301 /* 40844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15302 /* 40848 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15303 /* 40852 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15304 /* 40856 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15305 /* 40861 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15306 /* 40866 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
15307 /* 40870 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15308 /* 40876 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15309 /* 40878 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15310 /* 40880 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2), immAllOnesV:{ *:[v8i1] }) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15311 /* 40880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
15312 /* 40883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15313 /* 40885 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15314 /* 40889 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
15315 /* 40893 */ GIR_RootConstrainSelectedInstOperands,
15316 /* 40894 */ // GIR_Coverage, 4424,
15317 /* 40894 */ GIR_EraseRootFromParent_Done,
15318 /* 40895 */ // Label 990: @40895
15319 /* 40895 */ GIM_Try, /*On fail goto*//*Label 991*/ GIMT_Encode4(41019), // Rule ID 19492 //
15320 /* 40900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15321 /* 40903 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15322 /* 40907 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15323 /* 40911 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15324 /* 40915 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15325 /* 40919 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15326 /* 40924 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15327 /* 40929 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
15328 /* 40933 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15329 /* 40939 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15330 /* 40941 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15331 /* 40943 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2), immAllOnesV:{ *:[v8i1] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
15332 /* 40943 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15333 /* 40946 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15334 /* 40950 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15335 /* 40955 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
15336 /* 40959 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15337 /* 40964 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15338 /* 40967 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15339 /* 40971 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15340 /* 40976 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
15341 /* 40980 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15342 /* 40985 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15343 /* 40988 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15344 /* 40992 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15345 /* 40997 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15346 /* 41000 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15347 /* 41003 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15348 /* 41005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15349 /* 41008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15350 /* 41010 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15351 /* 41013 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15352 /* 41018 */ // GIR_Coverage, 19492,
15353 /* 41018 */ GIR_EraseRootFromParent_Done,
15354 /* 41019 */ // Label 991: @41019
15355 /* 41019 */ GIM_Try, /*On fail goto*//*Label 992*/ GIMT_Encode4(41079), // Rule ID 23718 //
15356 /* 41024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15357 /* 41027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15358 /* 41031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15359 /* 41035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15360 /* 41039 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15361 /* 41043 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15362 /* 41047 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15363 /* 41052 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15364 /* 41056 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15365 /* 41062 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15366 /* 41064 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15367 /* 41066 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15368 /* 41066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
15369 /* 41069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15370 /* 41071 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
15371 /* 41075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
15372 /* 41077 */ GIR_RootConstrainSelectedInstOperands,
15373 /* 41078 */ // GIR_Coverage, 23718,
15374 /* 41078 */ GIR_EraseRootFromParent_Done,
15375 /* 41079 */ // Label 992: @41079
15376 /* 41079 */ GIM_Try, /*On fail goto*//*Label 993*/ GIMT_Encode4(41202), // Rule ID 25404 //
15377 /* 41084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15378 /* 41087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15379 /* 41091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15380 /* 41095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
15381 /* 41099 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
15382 /* 41103 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
15383 /* 41107 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15384 /* 41112 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
15385 /* 41116 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15386 /* 41122 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
15387 /* 41124 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
15388 /* 41126 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KXNORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
15389 /* 41126 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15390 /* 41129 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15391 /* 41133 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15392 /* 41138 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
15393 /* 41142 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15394 /* 41147 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15395 /* 41150 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15396 /* 41154 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15397 /* 41159 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
15398 /* 41163 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15399 /* 41168 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15400 /* 41171 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
15401 /* 41175 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15402 /* 41180 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15403 /* 41183 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15404 /* 41186 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15405 /* 41188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15406 /* 41191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15407 /* 41193 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15408 /* 41196 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15409 /* 41201 */ // GIR_Coverage, 25404,
15410 /* 41201 */ GIR_EraseRootFromParent_Done,
15411 /* 41202 */ // Label 993: @41202
15412 /* 41202 */ GIM_Try, /*On fail goto*//*Label 994*/ GIMT_Encode4(41237), // Rule ID 4412 //
15413 /* 41207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15414 /* 41210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15415 /* 41214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15416 /* 41218 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15417 /* 41224 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15418 /* 41226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15419 /* 41228 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (KNOTBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src)
15420 /* 41228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTBkk),
15421 /* 41231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15422 /* 41233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15423 /* 41235 */ GIR_RootConstrainSelectedInstOperands,
15424 /* 41236 */ // GIR_Coverage, 4412,
15425 /* 41236 */ GIR_EraseRootFromParent_Done,
15426 /* 41237 */ // Label 994: @41237
15427 /* 41237 */ GIM_Try, /*On fail goto*//*Label 995*/ GIMT_Encode4(41315), // Rule ID 19476 //
15428 /* 41242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoDQI),
15429 /* 41245 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15430 /* 41249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15431 /* 41253 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15432 /* 41259 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15433 /* 41261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15434 /* 41263 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src, VK16:{ *:[i32] })), VK8:{ *:[i32] })
15435 /* 41263 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15436 /* 41266 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15437 /* 41270 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15438 /* 41275 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15439 /* 41279 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15440 /* 41284 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15441 /* 41287 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
15442 /* 41291 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15443 /* 41296 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15444 /* 41299 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15445 /* 41301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15446 /* 41304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15447 /* 41306 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15448 /* 41309 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15449 /* 41314 */ // GIR_Coverage, 19476,
15450 /* 41314 */ GIR_EraseRootFromParent_Done,
15451 /* 41315 */ // Label 995: @41315
15452 /* 41315 */ GIM_Try, /*On fail goto*//*Label 996*/ GIMT_Encode4(41338), // Rule ID 4428 //
15453 /* 41320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
15454 /* 41323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15455 /* 41327 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15456 /* 41331 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KXORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
15457 /* 41331 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORBkk),
15458 /* 41336 */ GIR_RootConstrainSelectedInstOperands,
15459 /* 41337 */ // GIR_Coverage, 4428,
15460 /* 41337 */ GIR_Done,
15461 /* 41338 */ // Label 996: @41338
15462 /* 41338 */ GIM_Try, /*On fail goto*//*Label 997*/ GIMT_Encode4(41430), // Rule ID 19496 //
15463 /* 41343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
15464 /* 41346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15465 /* 41350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
15466 /* 41354 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KXORWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK16:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK16:{ *:[i32] })), VK8:{ *:[i32] })
15467 /* 41354 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
15468 /* 41357 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15469 /* 41361 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15470 /* 41366 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
15471 /* 41370 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15472 /* 41375 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
15473 /* 41378 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15474 /* 41382 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15475 /* 41387 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
15476 /* 41391 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
15477 /* 41396 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
15478 /* 41399 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
15479 /* 41403 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15480 /* 41408 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15481 /* 41411 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
15482 /* 41414 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15483 /* 41416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15484 /* 41419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15485 /* 41421 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
15486 /* 41424 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
15487 /* 41429 */ // GIR_Coverage, 19496,
15488 /* 41429 */ GIR_EraseRootFromParent_Done,
15489 /* 41430 */ // Label 997: @41430
15490 /* 41430 */ GIM_Reject,
15491 /* 41431 */ // Label 987: @41431
15492 /* 41431 */ GIM_Reject,
15493 /* 41432 */ // Label 863: @41432
15494 /* 41432 */ GIM_Try, /*On fail goto*//*Label 998*/ GIMT_Encode4(42051),
15495 /* 41437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
15496 /* 41440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
15497 /* 41443 */ GIM_Try, /*On fail goto*//*Label 999*/ GIMT_Encode4(41505), // Rule ID 25291 //
15498 /* 41448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15499 /* 41451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15500 /* 41455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15501 /* 41459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15502 /* 41463 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15503 /* 41466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15504 /* 41470 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15505 /* 41474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15506 /* 41478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15507 /* 41480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15508 /* 41487 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15509 /* 41487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15510 /* 41490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15511 /* 41492 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15512 /* 41494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15513 /* 41498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15514 /* 41503 */ GIR_RootConstrainSelectedInstOperands,
15515 /* 41504 */ // GIR_Coverage, 25291,
15516 /* 41504 */ GIR_EraseRootFromParent_Done,
15517 /* 41505 */ // Label 999: @41505
15518 /* 41505 */ GIM_Try, /*On fail goto*//*Label 1000*/ GIMT_Encode4(41567), // Rule ID 25470 //
15519 /* 41510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15520 /* 41513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15521 /* 41517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15522 /* 41521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15523 /* 41525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15524 /* 41528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15525 /* 41532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15526 /* 41536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15527 /* 41540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15528 /* 41542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15529 /* 41549 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15530 /* 41549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15531 /* 41552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15532 /* 41554 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15533 /* 41556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15534 /* 41560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15535 /* 41565 */ GIR_RootConstrainSelectedInstOperands,
15536 /* 41566 */ // GIR_Coverage, 25470,
15537 /* 41566 */ GIR_EraseRootFromParent_Done,
15538 /* 41567 */ // Label 1000: @41567
15539 /* 41567 */ GIM_Try, /*On fail goto*//*Label 1001*/ GIMT_Encode4(41629), // Rule ID 18154 //
15540 /* 41572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15541 /* 41575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15542 /* 41579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15543 /* 41583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15544 /* 41587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15545 /* 41591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15546 /* 41594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15547 /* 41598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15548 /* 41602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15549 /* 41604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15550 /* 41611 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15551 /* 41611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15552 /* 41614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15553 /* 41616 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15554 /* 41618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15555 /* 41622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15556 /* 41627 */ GIR_RootConstrainSelectedInstOperands,
15557 /* 41628 */ // GIR_Coverage, 18154,
15558 /* 41628 */ GIR_EraseRootFromParent_Done,
15559 /* 41629 */ // Label 1001: @41629
15560 /* 41629 */ GIM_Try, /*On fail goto*//*Label 1002*/ GIMT_Encode4(41691), // Rule ID 20037 //
15561 /* 41634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15562 /* 41637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15563 /* 41641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15564 /* 41645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15565 /* 41649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15566 /* 41653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15567 /* 41656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15568 /* 41660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15569 /* 41664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15570 /* 41666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15571 /* 41673 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15572 /* 41673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15573 /* 41676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15574 /* 41678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15575 /* 41680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15576 /* 41684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15577 /* 41689 */ GIR_RootConstrainSelectedInstOperands,
15578 /* 41690 */ // GIR_Coverage, 20037,
15579 /* 41690 */ GIR_EraseRootFromParent_Done,
15580 /* 41691 */ // Label 1002: @41691
15581 /* 41691 */ GIM_Try, /*On fail goto*//*Label 1003*/ GIMT_Encode4(41923), // Rule ID 21952 //
15582 /* 41696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15583 /* 41699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15584 /* 41703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15585 /* 41707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15586 /* 41711 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15587 /* 41717 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15588 /* 41719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15589 /* 41721 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, immAllOnesV:{ *:[v8i16] }) => (EXTRACT_SUBREG:{ *:[v8i16] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v8i16] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v8i16] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v8i16] }:$src, sub_xmm:{ *:[i32] }), 15:{ *:[i8] }), sub_xmm:{ *:[i32] })
15590 /* 41721 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15591 /* 41724 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15592 /* 41728 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15593 /* 41733 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15594 /* 41735 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15595 /* 41738 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15596 /* 41742 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15597 /* 41747 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15598 /* 41750 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15599 /* 41754 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
15600 /* 41757 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15601 /* 41762 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15602 /* 41767 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15603 /* 41772 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15604 /* 41775 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15605 /* 41779 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15606 /* 41784 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15607 /* 41786 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15608 /* 41789 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15609 /* 41793 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15610 /* 41798 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15611 /* 41801 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15612 /* 41805 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
15613 /* 41808 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15614 /* 41813 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15615 /* 41818 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15616 /* 41823 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15617 /* 41826 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15618 /* 41830 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15619 /* 41835 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15620 /* 41837 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15621 /* 41840 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15622 /* 41844 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15623 /* 41849 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15624 /* 41852 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15625 /* 41856 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15626 /* 41859 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15627 /* 41864 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15628 /* 41869 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15629 /* 41874 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15630 /* 41877 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15631 /* 41881 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15632 /* 41886 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15633 /* 41889 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15634 /* 41892 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15635 /* 41895 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15636 /* 41898 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15637 /* 41900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15638 /* 41903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15639 /* 41905 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15640 /* 41912 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15641 /* 41917 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15642 /* 41922 */ // GIR_Coverage, 21952,
15643 /* 41922 */ GIR_EraseRootFromParent_Done,
15644 /* 41923 */ // Label 1003: @41923
15645 /* 41923 */ GIM_Try, /*On fail goto*//*Label 1004*/ GIMT_Encode4(41969), // Rule ID 21960 //
15646 /* 41928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15647 /* 41931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15648 /* 41935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15649 /* 41939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15650 /* 41943 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15651 /* 41949 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15652 /* 41951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15653 /* 41953 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, immAllOnesV:{ *:[v8i16] }) => (VPTERNLOGQZ128rri:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, 15:{ *:[i8] })
15654 /* 41953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15655 /* 41956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15656 /* 41958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15657 /* 41960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15658 /* 41962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15659 /* 41964 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15660 /* 41967 */ GIR_RootConstrainSelectedInstOperands,
15661 /* 41968 */ // GIR_Coverage, 21960,
15662 /* 41968 */ GIR_EraseRootFromParent_Done,
15663 /* 41969 */ // Label 1004: @41969
15664 /* 41969 */ GIM_Try, /*On fail goto*//*Label 1005*/ GIMT_Encode4(41996), // Rule ID 18142 //
15665 /* 41974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15666 /* 41977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15667 /* 41981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15668 /* 41985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15669 /* 41989 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
15670 /* 41989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15671 /* 41994 */ GIR_RootConstrainSelectedInstOperands,
15672 /* 41995 */ // GIR_Coverage, 18142,
15673 /* 41995 */ GIR_Done,
15674 /* 41996 */ // Label 1005: @41996
15675 /* 41996 */ GIM_Try, /*On fail goto*//*Label 1006*/ GIMT_Encode4(42023), // Rule ID 18166 //
15676 /* 42001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
15677 /* 42004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15678 /* 42008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15679 /* 42012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15680 /* 42016 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
15681 /* 42016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15682 /* 42021 */ GIR_RootConstrainSelectedInstOperands,
15683 /* 42022 */ // GIR_Coverage, 18166,
15684 /* 42022 */ GIR_Done,
15685 /* 42023 */ // Label 1006: @42023
15686 /* 42023 */ GIM_Try, /*On fail goto*//*Label 1007*/ GIMT_Encode4(42050), // Rule ID 20029 //
15687 /* 42028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15688 /* 42031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15689 /* 42035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15690 /* 42039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15691 /* 42043 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPXORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
15692 /* 42043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
15693 /* 42048 */ GIR_RootConstrainSelectedInstOperands,
15694 /* 42049 */ // GIR_Coverage, 20029,
15695 /* 42049 */ GIR_Done,
15696 /* 42050 */ // Label 1007: @42050
15697 /* 42050 */ GIM_Reject,
15698 /* 42051 */ // Label 998: @42051
15699 /* 42051 */ GIM_Reject,
15700 /* 42052 */ // Label 864: @42052
15701 /* 42052 */ GIM_Try, /*On fail goto*//*Label 1008*/ GIMT_Encode4(42795),
15702 /* 42057 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
15703 /* 42060 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
15704 /* 42063 */ GIM_Try, /*On fail goto*//*Label 1009*/ GIMT_Encode4(42125), // Rule ID 24266 //
15705 /* 42068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15706 /* 42071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15707 /* 42075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15708 /* 42079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15709 /* 42083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15710 /* 42086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15711 /* 42090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15712 /* 42094 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15713 /* 42098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15714 /* 42100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15715 /* 42107 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15716 /* 42107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15717 /* 42110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15718 /* 42112 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15719 /* 42114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15720 /* 42118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15721 /* 42123 */ GIR_RootConstrainSelectedInstOperands,
15722 /* 42124 */ // GIR_Coverage, 24266,
15723 /* 42124 */ GIR_EraseRootFromParent_Done,
15724 /* 42125 */ // Label 1009: @42125
15725 /* 42125 */ GIM_Try, /*On fail goto*//*Label 1010*/ GIMT_Encode4(42187), // Rule ID 25271 //
15726 /* 42130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15727 /* 42133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15728 /* 42137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15729 /* 42141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15730 /* 42145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15731 /* 42148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15732 /* 42152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15733 /* 42156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15734 /* 42160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15735 /* 42162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15736 /* 42169 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15737 /* 42169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15738 /* 42172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15739 /* 42174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15740 /* 42176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15741 /* 42180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15742 /* 42185 */ GIR_RootConstrainSelectedInstOperands,
15743 /* 42186 */ // GIR_Coverage, 25271,
15744 /* 42186 */ GIR_EraseRootFromParent_Done,
15745 /* 42187 */ // Label 1010: @42187
15746 /* 42187 */ GIM_Try, /*On fail goto*//*Label 1011*/ GIMT_Encode4(42249), // Rule ID 25282 //
15747 /* 42192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15748 /* 42195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15749 /* 42199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15750 /* 42203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15751 /* 42207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15752 /* 42210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15753 /* 42214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15754 /* 42218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15755 /* 42222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15756 /* 42224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15757 /* 42231 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15758 /* 42231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15759 /* 42234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15760 /* 42236 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15761 /* 42238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15762 /* 42242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15763 /* 42247 */ GIR_RootConstrainSelectedInstOperands,
15764 /* 42248 */ // GIR_Coverage, 25282,
15765 /* 42248 */ GIR_EraseRootFromParent_Done,
15766 /* 42249 */ // Label 1011: @42249
15767 /* 42249 */ GIM_Try, /*On fail goto*//*Label 1012*/ GIMT_Encode4(42311), // Rule ID 5836 //
15768 /* 42254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15769 /* 42257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15770 /* 42261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15771 /* 42265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15772 /* 42269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15773 /* 42273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15774 /* 42276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15775 /* 42280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15776 /* 42284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15777 /* 42286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15778 /* 42293 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15779 /* 42293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15780 /* 42296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15781 /* 42298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15782 /* 42300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15783 /* 42304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15784 /* 42309 */ GIR_RootConstrainSelectedInstOperands,
15785 /* 42310 */ // GIR_Coverage, 5836,
15786 /* 42310 */ GIR_EraseRootFromParent_Done,
15787 /* 42311 */ // Label 1012: @42311
15788 /* 42311 */ GIM_Try, /*On fail goto*//*Label 1013*/ GIMT_Encode4(42373), // Rule ID 18099 //
15789 /* 42316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15790 /* 42319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15791 /* 42323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15792 /* 42327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15793 /* 42331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15794 /* 42335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15795 /* 42338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15796 /* 42342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15797 /* 42346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15798 /* 42348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15799 /* 42355 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15800 /* 42355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15801 /* 42358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15802 /* 42360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15803 /* 42362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15804 /* 42366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15805 /* 42371 */ GIR_RootConstrainSelectedInstOperands,
15806 /* 42372 */ // GIR_Coverage, 18099,
15807 /* 42372 */ GIR_EraseRootFromParent_Done,
15808 /* 42373 */ // Label 1013: @42373
15809 /* 42373 */ GIM_Try, /*On fail goto*//*Label 1014*/ GIMT_Encode4(42435), // Rule ID 18129 //
15810 /* 42378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15811 /* 42381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15812 /* 42385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15813 /* 42389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15814 /* 42393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15815 /* 42397 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15816 /* 42400 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15817 /* 42404 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15818 /* 42408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15819 /* 42410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15820 /* 42417 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15821 /* 42417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15822 /* 42420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15823 /* 42422 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15824 /* 42424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15825 /* 42428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15826 /* 42433 */ GIR_RootConstrainSelectedInstOperands,
15827 /* 42434 */ // GIR_Coverage, 18129,
15828 /* 42434 */ GIR_EraseRootFromParent_Done,
15829 /* 42435 */ // Label 1014: @42435
15830 /* 42435 */ GIM_Try, /*On fail goto*//*Label 1015*/ GIMT_Encode4(42667), // Rule ID 21957 //
15831 /* 42440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15832 /* 42443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15833 /* 42447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15834 /* 42451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15835 /* 42455 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15836 /* 42461 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15837 /* 42463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15838 /* 42465 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, immAllOnesV:{ *:[v8i32] }) => (EXTRACT_SUBREG:{ *:[v8i32] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v8i32] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v8i32] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v8i32] }:$src, sub_ymm:{ *:[i32] }), 15:{ *:[i8] }), sub_ymm:{ *:[i32] })
15839 /* 42465 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15840 /* 42468 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15841 /* 42472 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15842 /* 42477 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15843 /* 42479 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15844 /* 42482 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15845 /* 42486 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15846 /* 42491 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15847 /* 42494 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15848 /* 42498 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15849 /* 42501 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15850 /* 42506 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15851 /* 42511 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15852 /* 42516 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15853 /* 42519 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15854 /* 42523 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15855 /* 42528 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15856 /* 42530 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15857 /* 42533 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15858 /* 42537 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15859 /* 42542 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15860 /* 42545 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15861 /* 42549 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15862 /* 42552 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15863 /* 42557 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15864 /* 42562 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15865 /* 42567 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15866 /* 42570 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15867 /* 42574 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15868 /* 42579 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15869 /* 42581 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15870 /* 42584 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15871 /* 42588 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15872 /* 42593 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15873 /* 42596 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15874 /* 42600 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15875 /* 42603 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15876 /* 42608 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15877 /* 42613 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15878 /* 42618 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15879 /* 42621 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15880 /* 42625 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15881 /* 42630 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15882 /* 42633 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15883 /* 42636 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15884 /* 42639 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15885 /* 42642 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15886 /* 42644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15887 /* 42647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15888 /* 42649 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15889 /* 42656 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15890 /* 42661 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15891 /* 42666 */ // GIR_Coverage, 21957,
15892 /* 42666 */ GIR_EraseRootFromParent_Done,
15893 /* 42667 */ // Label 1015: @42667
15894 /* 42667 */ GIM_Try, /*On fail goto*//*Label 1016*/ GIMT_Encode4(42713), // Rule ID 21965 //
15895 /* 42672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15896 /* 42675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15897 /* 42679 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15898 /* 42683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15899 /* 42687 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15900 /* 42693 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15901 /* 42695 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15902 /* 42697 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, immAllOnesV:{ *:[v8i32] }) => (VPTERNLOGQZ256rri:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, 15:{ *:[i8] })
15903 /* 42697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15904 /* 42700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15905 /* 42702 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15906 /* 42704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15907 /* 42706 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15908 /* 42708 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15909 /* 42711 */ GIR_RootConstrainSelectedInstOperands,
15910 /* 42712 */ // GIR_Coverage, 21965,
15911 /* 42712 */ GIR_EraseRootFromParent_Done,
15912 /* 42713 */ // Label 1016: @42713
15913 /* 42713 */ GIM_Try, /*On fail goto*//*Label 1017*/ GIMT_Encode4(42740), // Rule ID 5833 //
15914 /* 42718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15915 /* 42721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15916 /* 42725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15917 /* 42729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15918 /* 42733 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPXORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
15919 /* 42733 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rr),
15920 /* 42738 */ GIR_RootConstrainSelectedInstOperands,
15921 /* 42739 */ // GIR_Coverage, 5833,
15922 /* 42739 */ GIR_Done,
15923 /* 42740 */ // Label 1017: @42740
15924 /* 42740 */ GIM_Try, /*On fail goto*//*Label 1018*/ GIMT_Encode4(42767), // Rule ID 18087 //
15925 /* 42745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15926 /* 42748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15927 /* 42752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15928 /* 42756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15929 /* 42760 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPXORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15930 /* 42760 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15931 /* 42765 */ GIR_RootConstrainSelectedInstOperands,
15932 /* 42766 */ // GIR_Coverage, 18087,
15933 /* 42766 */ GIR_Done,
15934 /* 42767 */ // Label 1018: @42767
15935 /* 42767 */ GIM_Try, /*On fail goto*//*Label 1019*/ GIMT_Encode4(42794), // Rule ID 18113 //
15936 /* 42772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15937 /* 42775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15938 /* 42779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15939 /* 42783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15940 /* 42787 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VXORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15941 /* 42787 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15942 /* 42792 */ GIR_RootConstrainSelectedInstOperands,
15943 /* 42793 */ // GIR_Coverage, 18113,
15944 /* 42793 */ GIR_Done,
15945 /* 42794 */ // Label 1019: @42794
15946 /* 42794 */ GIM_Reject,
15947 /* 42795 */ // Label 1008: @42795
15948 /* 42795 */ GIM_Reject,
15949 /* 42796 */ // Label 865: @42796
15950 /* 42796 */ GIM_Try, /*On fail goto*//*Label 1020*/ GIMT_Encode4(42993),
15951 /* 42801 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
15952 /* 42804 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
15953 /* 42807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15954 /* 42811 */ GIM_Try, /*On fail goto*//*Label 1021*/ GIMT_Encode4(42869), // Rule ID 24242 //
15955 /* 42816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15956 /* 42819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15957 /* 42823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15958 /* 42827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15959 /* 42830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15960 /* 42834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15961 /* 42838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15962 /* 42842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15963 /* 42844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15964 /* 42851 */ // (xor:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15965 /* 42851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15966 /* 42854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15967 /* 42856 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15968 /* 42858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15969 /* 42862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15970 /* 42867 */ GIR_RootConstrainSelectedInstOperands,
15971 /* 42868 */ // GIR_Coverage, 24242,
15972 /* 42868 */ GIR_EraseRootFromParent_Done,
15973 /* 42869 */ // Label 1021: @42869
15974 /* 42869 */ GIM_Try, /*On fail goto*//*Label 1022*/ GIMT_Encode4(42927), // Rule ID 5800 //
15975 /* 42874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15976 /* 42877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15977 /* 42881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15978 /* 42885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15979 /* 42889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15980 /* 42892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15981 /* 42896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15982 /* 42900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15983 /* 42902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15984 /* 42909 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15985 /* 42909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15986 /* 42912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15987 /* 42914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15988 /* 42916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15989 /* 42920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15990 /* 42925 */ GIR_RootConstrainSelectedInstOperands,
15991 /* 42926 */ // GIR_Coverage, 5800,
15992 /* 42926 */ GIR_EraseRootFromParent_Done,
15993 /* 42927 */ // Label 1022: @42927
15994 /* 42927 */ GIM_Try, /*On fail goto*//*Label 1023*/ GIMT_Encode4(42969), // Rule ID 21950 //
15995 /* 42932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15996 /* 42935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15997 /* 42939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15998 /* 42943 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15999 /* 42949 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16000 /* 42951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16001 /* 42953 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, immAllOnesV:{ *:[v8i64] }) => (VPTERNLOGQZrri:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, 15:{ *:[i8] })
16002 /* 42953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16003 /* 42956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16004 /* 42958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16005 /* 42960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16006 /* 42962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16007 /* 42964 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16008 /* 42967 */ GIR_RootConstrainSelectedInstOperands,
16009 /* 42968 */ // GIR_Coverage, 21950,
16010 /* 42968 */ GIR_EraseRootFromParent_Done,
16011 /* 42969 */ // Label 1023: @42969
16012 /* 42969 */ GIM_Try, /*On fail goto*//*Label 1024*/ GIMT_Encode4(42992), // Rule ID 5797 //
16013 /* 42974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16014 /* 42977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16015 /* 42981 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16016 /* 42985 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPXORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
16017 /* 42985 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
16018 /* 42990 */ GIR_RootConstrainSelectedInstOperands,
16019 /* 42991 */ // GIR_Coverage, 5797,
16020 /* 42991 */ GIR_Done,
16021 /* 42992 */ // Label 1024: @42992
16022 /* 42992 */ GIM_Reject,
16023 /* 42993 */ // Label 1020: @42993
16024 /* 42993 */ GIM_Reject,
16025 /* 42994 */ // Label 866: @42994
16026 /* 42994 */ GIM_Try, /*On fail goto*//*Label 1025*/ GIMT_Encode4(43251),
16027 /* 42999 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
16028 /* 43002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
16029 /* 43005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16030 /* 43009 */ GIM_Try, /*On fail goto*//*Label 1026*/ GIMT_Encode4(43069), // Rule ID 23719 //
16031 /* 43014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16032 /* 43017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16033 /* 43021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16034 /* 43025 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
16035 /* 43029 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
16036 /* 43033 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16037 /* 43038 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16038 /* 43042 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16039 /* 43048 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16040 /* 43050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16041 /* 43054 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16042 /* 43056 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16043 /* 43056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
16044 /* 43059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16045 /* 43061 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16046 /* 43065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16047 /* 43067 */ GIR_RootConstrainSelectedInstOperands,
16048 /* 43068 */ // GIR_Coverage, 23719,
16049 /* 43068 */ GIR_EraseRootFromParent_Done,
16050 /* 43069 */ // Label 1026: @43069
16051 /* 43069 */ GIM_Try, /*On fail goto*//*Label 1027*/ GIMT_Encode4(43132), // Rule ID 4425 //
16052 /* 43074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16053 /* 43077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16054 /* 43081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16055 /* 43085 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
16056 /* 43089 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
16057 /* 43093 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16058 /* 43098 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16059 /* 43103 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
16060 /* 43107 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16061 /* 43113 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16062 /* 43115 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16063 /* 43117 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2), immAllOnesV:{ *:[v16i1] }) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16064 /* 43117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
16065 /* 43120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16066 /* 43122 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16067 /* 43126 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
16068 /* 43130 */ GIR_RootConstrainSelectedInstOperands,
16069 /* 43131 */ // GIR_Coverage, 4425,
16070 /* 43131 */ GIR_EraseRootFromParent_Done,
16071 /* 43132 */ // Label 1027: @43132
16072 /* 43132 */ GIM_Try, /*On fail goto*//*Label 1028*/ GIMT_Encode4(43192), // Rule ID 23720 //
16073 /* 43137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16074 /* 43140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16075 /* 43144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16076 /* 43148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16077 /* 43152 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
16078 /* 43156 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
16079 /* 43160 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16080 /* 43165 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16081 /* 43169 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16082 /* 43175 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16083 /* 43177 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16084 /* 43179 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16085 /* 43179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
16086 /* 43182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16087 /* 43184 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16088 /* 43188 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
16089 /* 43190 */ GIR_RootConstrainSelectedInstOperands,
16090 /* 43191 */ // GIR_Coverage, 23720,
16091 /* 43191 */ GIR_EraseRootFromParent_Done,
16092 /* 43192 */ // Label 1028: @43192
16093 /* 43192 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(43227), // Rule ID 4413 //
16094 /* 43197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16095 /* 43200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16096 /* 43204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16097 /* 43208 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16098 /* 43214 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16099 /* 43216 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16100 /* 43218 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src, immAllOnesV:{ *:[v16i1] }) => (KNOTWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src)
16101 /* 43218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
16102 /* 43221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16103 /* 43223 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16104 /* 43225 */ GIR_RootConstrainSelectedInstOperands,
16105 /* 43226 */ // GIR_Coverage, 4413,
16106 /* 43226 */ GIR_EraseRootFromParent_Done,
16107 /* 43227 */ // Label 1029: @43227
16108 /* 43227 */ GIM_Try, /*On fail goto*//*Label 1030*/ GIMT_Encode4(43250), // Rule ID 4429 //
16109 /* 43232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16110 /* 43235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16111 /* 43239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
16112 /* 43243 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KXORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
16113 /* 43243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
16114 /* 43248 */ GIR_RootConstrainSelectedInstOperands,
16115 /* 43249 */ // GIR_Coverage, 4429,
16116 /* 43249 */ GIR_Done,
16117 /* 43250 */ // Label 1030: @43250
16118 /* 43250 */ GIM_Reject,
16119 /* 43251 */ // Label 1025: @43251
16120 /* 43251 */ GIM_Reject,
16121 /* 43252 */ // Label 867: @43252
16122 /* 43252 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(43871),
16123 /* 43257 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
16124 /* 43260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
16125 /* 43263 */ GIM_Try, /*On fail goto*//*Label 1032*/ GIMT_Encode4(43325), // Rule ID 25290 //
16126 /* 43268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
16127 /* 43271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16128 /* 43275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16129 /* 43279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16130 /* 43283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16131 /* 43286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16132 /* 43290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16133 /* 43294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16134 /* 43298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16135 /* 43300 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16136 /* 43307 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16137 /* 43307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
16138 /* 43310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16139 /* 43312 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16140 /* 43314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16141 /* 43318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16142 /* 43323 */ GIR_RootConstrainSelectedInstOperands,
16143 /* 43324 */ // GIR_Coverage, 25290,
16144 /* 43324 */ GIR_EraseRootFromParent_Done,
16145 /* 43325 */ // Label 1032: @43325
16146 /* 43325 */ GIM_Try, /*On fail goto*//*Label 1033*/ GIMT_Encode4(43387), // Rule ID 25469 //
16147 /* 43330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16148 /* 43333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16149 /* 43337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16150 /* 43341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16151 /* 43345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16152 /* 43348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16153 /* 43352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16154 /* 43356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16155 /* 43360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16156 /* 43362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16157 /* 43369 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16158 /* 43369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
16159 /* 43372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16160 /* 43374 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16161 /* 43376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16162 /* 43380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16163 /* 43385 */ GIR_RootConstrainSelectedInstOperands,
16164 /* 43386 */ // GIR_Coverage, 25469,
16165 /* 43386 */ GIR_EraseRootFromParent_Done,
16166 /* 43387 */ // Label 1033: @43387
16167 /* 43387 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(43449), // Rule ID 18153 //
16168 /* 43392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
16169 /* 43395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16170 /* 43399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16171 /* 43403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16172 /* 43407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16173 /* 43411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16174 /* 43414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16175 /* 43418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16176 /* 43422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16177 /* 43424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16178 /* 43431 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16179 /* 43431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
16180 /* 43434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16181 /* 43436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16182 /* 43438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16183 /* 43442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16184 /* 43447 */ GIR_RootConstrainSelectedInstOperands,
16185 /* 43448 */ // GIR_Coverage, 18153,
16186 /* 43448 */ GIR_EraseRootFromParent_Done,
16187 /* 43449 */ // Label 1034: @43449
16188 /* 43449 */ GIM_Try, /*On fail goto*//*Label 1035*/ GIMT_Encode4(43511), // Rule ID 20036 //
16189 /* 43454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16190 /* 43457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16191 /* 43461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16192 /* 43465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16193 /* 43469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16194 /* 43473 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16195 /* 43476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16196 /* 43480 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16197 /* 43484 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16198 /* 43486 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16199 /* 43493 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16200 /* 43493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
16201 /* 43496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16202 /* 43498 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16203 /* 43500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16204 /* 43504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16205 /* 43509 */ GIR_RootConstrainSelectedInstOperands,
16206 /* 43510 */ // GIR_Coverage, 20036,
16207 /* 43510 */ GIR_EraseRootFromParent_Done,
16208 /* 43511 */ // Label 1035: @43511
16209 /* 43511 */ GIM_Try, /*On fail goto*//*Label 1036*/ GIMT_Encode4(43743), // Rule ID 21951 //
16210 /* 43516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
16211 /* 43519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16212 /* 43523 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16213 /* 43527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16214 /* 43531 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16215 /* 43537 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16216 /* 43539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16217 /* 43541 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, immAllOnesV:{ *:[v16i8] }) => (EXTRACT_SUBREG:{ *:[v16i8] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v16i8] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v16i8] }:$src, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v16i8] }:$src, sub_xmm:{ *:[i32] }), 15:{ *:[i8] }), sub_xmm:{ *:[i32] })
16218 /* 43541 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16219 /* 43544 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16220 /* 43548 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16221 /* 43553 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16222 /* 43555 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16223 /* 43558 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16224 /* 43562 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16225 /* 43567 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16226 /* 43570 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16227 /* 43574 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
16228 /* 43577 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16229 /* 43582 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16230 /* 43587 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16231 /* 43592 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16232 /* 43595 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16233 /* 43599 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16234 /* 43604 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16235 /* 43606 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16236 /* 43609 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16237 /* 43613 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16238 /* 43618 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16239 /* 43621 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16240 /* 43625 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
16241 /* 43628 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16242 /* 43633 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16243 /* 43638 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16244 /* 43643 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16245 /* 43646 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16246 /* 43650 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16247 /* 43655 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16248 /* 43657 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16249 /* 43660 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16250 /* 43664 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16251 /* 43669 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16252 /* 43672 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16253 /* 43676 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
16254 /* 43679 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16255 /* 43684 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16256 /* 43689 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16257 /* 43694 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16258 /* 43697 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16259 /* 43701 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16260 /* 43706 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16261 /* 43709 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16262 /* 43712 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16263 /* 43715 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16264 /* 43718 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16265 /* 43720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16266 /* 43723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16267 /* 43725 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
16268 /* 43732 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16269 /* 43737 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16270 /* 43742 */ // GIR_Coverage, 21951,
16271 /* 43742 */ GIR_EraseRootFromParent_Done,
16272 /* 43743 */ // Label 1036: @43743
16273 /* 43743 */ GIM_Try, /*On fail goto*//*Label 1037*/ GIMT_Encode4(43789), // Rule ID 21959 //
16274 /* 43748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16275 /* 43751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16276 /* 43755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16277 /* 43759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16278 /* 43763 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16279 /* 43769 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16280 /* 43771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16281 /* 43773 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, immAllOnesV:{ *:[v16i8] }) => (VPTERNLOGQZ128rri:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, 15:{ *:[i8] })
16282 /* 43773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
16283 /* 43776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16284 /* 43778 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16285 /* 43780 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16286 /* 43782 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16287 /* 43784 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16288 /* 43787 */ GIR_RootConstrainSelectedInstOperands,
16289 /* 43788 */ // GIR_Coverage, 21959,
16290 /* 43788 */ GIR_EraseRootFromParent_Done,
16291 /* 43789 */ // Label 1037: @43789
16292 /* 43789 */ GIM_Try, /*On fail goto*//*Label 1038*/ GIMT_Encode4(43816), // Rule ID 18141 //
16293 /* 43794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
16294 /* 43797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16295 /* 43801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16296 /* 43805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16297 /* 43809 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16298 /* 43809 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
16299 /* 43814 */ GIR_RootConstrainSelectedInstOperands,
16300 /* 43815 */ // GIR_Coverage, 18141,
16301 /* 43815 */ GIR_Done,
16302 /* 43816 */ // Label 1038: @43816
16303 /* 43816 */ GIM_Try, /*On fail goto*//*Label 1039*/ GIMT_Encode4(43843), // Rule ID 18165 //
16304 /* 43821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
16305 /* 43824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16306 /* 43828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16307 /* 43832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16308 /* 43836 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16309 /* 43836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
16310 /* 43841 */ GIR_RootConstrainSelectedInstOperands,
16311 /* 43842 */ // GIR_Coverage, 18165,
16312 /* 43842 */ GIR_Done,
16313 /* 43843 */ // Label 1039: @43843
16314 /* 43843 */ GIM_Try, /*On fail goto*//*Label 1040*/ GIMT_Encode4(43870), // Rule ID 20028 //
16315 /* 43848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16316 /* 43851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16317 /* 43855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16318 /* 43859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16319 /* 43863 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPXORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
16320 /* 43863 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
16321 /* 43868 */ GIR_RootConstrainSelectedInstOperands,
16322 /* 43869 */ // GIR_Coverage, 20028,
16323 /* 43869 */ GIR_Done,
16324 /* 43870 */ // Label 1040: @43870
16325 /* 43870 */ GIM_Reject,
16326 /* 43871 */ // Label 1031: @43871
16327 /* 43871 */ GIM_Reject,
16328 /* 43872 */ // Label 868: @43872
16329 /* 43872 */ GIM_Try, /*On fail goto*//*Label 1041*/ GIMT_Encode4(44615),
16330 /* 43877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
16331 /* 43880 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
16332 /* 43883 */ GIM_Try, /*On fail goto*//*Label 1042*/ GIMT_Encode4(43945), // Rule ID 25270 //
16333 /* 43888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16334 /* 43891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16335 /* 43895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16336 /* 43899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16337 /* 43903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16338 /* 43906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16339 /* 43910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16340 /* 43914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16341 /* 43918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16342 /* 43920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16343 /* 43927 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16344 /* 43927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16345 /* 43930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16346 /* 43932 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16347 /* 43934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16348 /* 43938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16349 /* 43943 */ GIR_RootConstrainSelectedInstOperands,
16350 /* 43944 */ // GIR_Coverage, 25270,
16351 /* 43944 */ GIR_EraseRootFromParent_Done,
16352 /* 43945 */ // Label 1042: @43945
16353 /* 43945 */ GIM_Try, /*On fail goto*//*Label 1043*/ GIMT_Encode4(44007), // Rule ID 25281 //
16354 /* 43950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16355 /* 43953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16356 /* 43957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16357 /* 43961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16358 /* 43965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16359 /* 43968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16360 /* 43972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16361 /* 43976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16362 /* 43980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16363 /* 43982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16364 /* 43989 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16365 /* 43989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16366 /* 43992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16367 /* 43994 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16368 /* 43996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16369 /* 44000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16370 /* 44005 */ GIR_RootConstrainSelectedInstOperands,
16371 /* 44006 */ // GIR_Coverage, 25281,
16372 /* 44006 */ GIR_EraseRootFromParent_Done,
16373 /* 44007 */ // Label 1043: @44007
16374 /* 44007 */ GIM_Try, /*On fail goto*//*Label 1044*/ GIMT_Encode4(44069), // Rule ID 25476 //
16375 /* 44012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16376 /* 44015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16377 /* 44019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16378 /* 44023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16379 /* 44027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16380 /* 44030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16381 /* 44034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16382 /* 44038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16383 /* 44042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16384 /* 44044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16385 /* 44051 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16386 /* 44051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16387 /* 44054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16388 /* 44056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16389 /* 44058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16390 /* 44062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16391 /* 44067 */ GIR_RootConstrainSelectedInstOperands,
16392 /* 44068 */ // GIR_Coverage, 25476,
16393 /* 44068 */ GIR_EraseRootFromParent_Done,
16394 /* 44069 */ // Label 1044: @44069
16395 /* 44069 */ GIM_Try, /*On fail goto*//*Label 1045*/ GIMT_Encode4(44131), // Rule ID 18098 //
16396 /* 44074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16397 /* 44077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16398 /* 44081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16399 /* 44085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16400 /* 44089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16401 /* 44093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16402 /* 44096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16403 /* 44100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16404 /* 44104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16405 /* 44106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16406 /* 44113 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16407 /* 44113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16408 /* 44116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16409 /* 44118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16410 /* 44120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16411 /* 44124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16412 /* 44129 */ GIR_RootConstrainSelectedInstOperands,
16413 /* 44130 */ // GIR_Coverage, 18098,
16414 /* 44130 */ GIR_EraseRootFromParent_Done,
16415 /* 44131 */ // Label 1045: @44131
16416 /* 44131 */ GIM_Try, /*On fail goto*//*Label 1046*/ GIMT_Encode4(44193), // Rule ID 18128 //
16417 /* 44136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16418 /* 44139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16419 /* 44143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16420 /* 44147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16421 /* 44151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16422 /* 44155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16423 /* 44158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16424 /* 44162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16425 /* 44166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16426 /* 44168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16427 /* 44175 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16428 /* 44175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16429 /* 44178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16430 /* 44180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16431 /* 44182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16432 /* 44186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16433 /* 44191 */ GIR_RootConstrainSelectedInstOperands,
16434 /* 44192 */ // GIR_Coverage, 18128,
16435 /* 44192 */ GIR_EraseRootFromParent_Done,
16436 /* 44193 */ // Label 1046: @44193
16437 /* 44193 */ GIM_Try, /*On fail goto*//*Label 1047*/ GIMT_Encode4(44255), // Rule ID 20053 //
16438 /* 44198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16439 /* 44201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16440 /* 44205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16441 /* 44209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16442 /* 44213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16443 /* 44217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16444 /* 44220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16445 /* 44224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16446 /* 44228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16447 /* 44230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16448 /* 44237 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16449 /* 44237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16450 /* 44240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16451 /* 44242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16452 /* 44244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16453 /* 44248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16454 /* 44253 */ GIR_RootConstrainSelectedInstOperands,
16455 /* 44254 */ // GIR_Coverage, 20053,
16456 /* 44254 */ GIR_EraseRootFromParent_Done,
16457 /* 44255 */ // Label 1047: @44255
16458 /* 44255 */ GIM_Try, /*On fail goto*//*Label 1048*/ GIMT_Encode4(44487), // Rule ID 21956 //
16459 /* 44260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
16460 /* 44263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16461 /* 44267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16462 /* 44271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16463 /* 44275 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16464 /* 44281 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16465 /* 44283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16466 /* 44285 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, immAllOnesV:{ *:[v16i16] }) => (EXTRACT_SUBREG:{ *:[v16i16] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v16i16] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v16i16] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v16i16] }:$src, sub_ymm:{ *:[i32] }), 15:{ *:[i8] }), sub_ymm:{ *:[i32] })
16467 /* 44285 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16468 /* 44288 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16469 /* 44292 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16470 /* 44297 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16471 /* 44299 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16472 /* 44302 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16473 /* 44306 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16474 /* 44311 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16475 /* 44314 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16476 /* 44318 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
16477 /* 44321 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16478 /* 44326 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16479 /* 44331 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16480 /* 44336 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16481 /* 44339 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16482 /* 44343 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16483 /* 44348 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16484 /* 44350 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16485 /* 44353 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16486 /* 44357 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16487 /* 44362 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16488 /* 44365 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16489 /* 44369 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
16490 /* 44372 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16491 /* 44377 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16492 /* 44382 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16493 /* 44387 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16494 /* 44390 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16495 /* 44394 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16496 /* 44399 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16497 /* 44401 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16498 /* 44404 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16499 /* 44408 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16500 /* 44413 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16501 /* 44416 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16502 /* 44420 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
16503 /* 44423 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16504 /* 44428 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16505 /* 44433 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16506 /* 44438 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16507 /* 44441 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16508 /* 44445 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16509 /* 44450 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16510 /* 44453 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16511 /* 44456 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16512 /* 44459 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16513 /* 44462 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16514 /* 44464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16515 /* 44467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16516 /* 44469 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
16517 /* 44476 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
16518 /* 44481 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16519 /* 44486 */ // GIR_Coverage, 21956,
16520 /* 44486 */ GIR_EraseRootFromParent_Done,
16521 /* 44487 */ // Label 1048: @44487
16522 /* 44487 */ GIM_Try, /*On fail goto*//*Label 1049*/ GIMT_Encode4(44533), // Rule ID 21964 //
16523 /* 44492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16524 /* 44495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16525 /* 44499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16526 /* 44503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16527 /* 44507 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16528 /* 44513 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16529 /* 44515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16530 /* 44517 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, immAllOnesV:{ *:[v16i16] }) => (VPTERNLOGQZ256rri:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, 15:{ *:[i8] })
16531 /* 44517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
16532 /* 44520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16533 /* 44522 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16534 /* 44524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16535 /* 44526 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16536 /* 44528 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16537 /* 44531 */ GIR_RootConstrainSelectedInstOperands,
16538 /* 44532 */ // GIR_Coverage, 21964,
16539 /* 44532 */ GIR_EraseRootFromParent_Done,
16540 /* 44533 */ // Label 1049: @44533
16541 /* 44533 */ GIM_Try, /*On fail goto*//*Label 1050*/ GIMT_Encode4(44560), // Rule ID 18086 //
16542 /* 44538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16543 /* 44541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16544 /* 44545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16545 /* 44549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16546 /* 44553 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPXORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16547 /* 44553 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
16548 /* 44558 */ GIR_RootConstrainSelectedInstOperands,
16549 /* 44559 */ // GIR_Coverage, 18086,
16550 /* 44559 */ GIR_Done,
16551 /* 44560 */ // Label 1050: @44560
16552 /* 44560 */ GIM_Try, /*On fail goto*//*Label 1051*/ GIMT_Encode4(44587), // Rule ID 18112 //
16553 /* 44565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16554 /* 44568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16555 /* 44572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16556 /* 44576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16557 /* 44580 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VXORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16558 /* 44580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
16559 /* 44585 */ GIR_RootConstrainSelectedInstOperands,
16560 /* 44586 */ // GIR_Coverage, 18112,
16561 /* 44586 */ GIR_Done,
16562 /* 44587 */ // Label 1051: @44587
16563 /* 44587 */ GIM_Try, /*On fail goto*//*Label 1052*/ GIMT_Encode4(44614), // Rule ID 20045 //
16564 /* 44592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16565 /* 44595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16566 /* 44599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16567 /* 44603 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16568 /* 44607 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPXORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
16569 /* 44607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
16570 /* 44612 */ GIR_RootConstrainSelectedInstOperands,
16571 /* 44613 */ // GIR_Coverage, 20045,
16572 /* 44613 */ GIR_Done,
16573 /* 44614 */ // Label 1052: @44614
16574 /* 44614 */ GIM_Reject,
16575 /* 44615 */ // Label 1041: @44615
16576 /* 44615 */ GIM_Reject,
16577 /* 44616 */ // Label 869: @44616
16578 /* 44616 */ GIM_Try, /*On fail goto*//*Label 1053*/ GIMT_Encode4(44813),
16579 /* 44621 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
16580 /* 44624 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
16581 /* 44627 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16582 /* 44631 */ GIM_Try, /*On fail goto*//*Label 1054*/ GIMT_Encode4(44689), // Rule ID 24260 //
16583 /* 44636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16584 /* 44639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16585 /* 44643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16586 /* 44647 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16587 /* 44650 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16588 /* 44654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16589 /* 44658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16590 /* 44662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16591 /* 44664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16592 /* 44671 */ // (xor:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
16593 /* 44671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
16594 /* 44674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16595 /* 44676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16596 /* 44678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16597 /* 44682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16598 /* 44687 */ GIR_RootConstrainSelectedInstOperands,
16599 /* 44688 */ // GIR_Coverage, 24260,
16600 /* 44688 */ GIR_EraseRootFromParent_Done,
16601 /* 44689 */ // Label 1054: @44689
16602 /* 44689 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(44747), // Rule ID 5827 //
16603 /* 44694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16604 /* 44697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16605 /* 44701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16606 /* 44705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16607 /* 44709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16608 /* 44712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16609 /* 44716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16610 /* 44720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16611 /* 44722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16612 /* 44729 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
16613 /* 44729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
16614 /* 44732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16615 /* 44734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16616 /* 44736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16617 /* 44740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16618 /* 44745 */ GIR_RootConstrainSelectedInstOperands,
16619 /* 44746 */ // GIR_Coverage, 5827,
16620 /* 44746 */ GIR_EraseRootFromParent_Done,
16621 /* 44747 */ // Label 1055: @44747
16622 /* 44747 */ GIM_Try, /*On fail goto*//*Label 1056*/ GIMT_Encode4(44789), // Rule ID 21949 //
16623 /* 44752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16624 /* 44755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16625 /* 44759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16626 /* 44763 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16627 /* 44769 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16628 /* 44771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16629 /* 44773 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, immAllOnesV:{ *:[v16i32] }) => (VPTERNLOGQZrri:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, 15:{ *:[i8] })
16630 /* 44773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16631 /* 44776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16632 /* 44778 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16633 /* 44780 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16634 /* 44782 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16635 /* 44784 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16636 /* 44787 */ GIR_RootConstrainSelectedInstOperands,
16637 /* 44788 */ // GIR_Coverage, 21949,
16638 /* 44788 */ GIR_EraseRootFromParent_Done,
16639 /* 44789 */ // Label 1056: @44789
16640 /* 44789 */ GIM_Try, /*On fail goto*//*Label 1057*/ GIMT_Encode4(44812), // Rule ID 5824 //
16641 /* 44794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16642 /* 44797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16643 /* 44801 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16644 /* 44805 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPXORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
16645 /* 44805 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZrr),
16646 /* 44810 */ GIR_RootConstrainSelectedInstOperands,
16647 /* 44811 */ // GIR_Coverage, 5824,
16648 /* 44811 */ GIR_Done,
16649 /* 44812 */ // Label 1057: @44812
16650 /* 44812 */ GIM_Reject,
16651 /* 44813 */ // Label 1053: @44813
16652 /* 44813 */ GIM_Reject,
16653 /* 44814 */ // Label 870: @44814
16654 /* 44814 */ GIM_Try, /*On fail goto*//*Label 1058*/ GIMT_Encode4(45071),
16655 /* 44819 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
16656 /* 44822 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
16657 /* 44825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16658 /* 44829 */ GIM_Try, /*On fail goto*//*Label 1059*/ GIMT_Encode4(44889), // Rule ID 23721 //
16659 /* 44834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16660 /* 44837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16661 /* 44841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16662 /* 44845 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
16663 /* 44849 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
16664 /* 44853 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16665 /* 44858 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16666 /* 44862 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16667 /* 44868 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16668 /* 44870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16669 /* 44874 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16670 /* 44876 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16671 /* 44876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
16672 /* 44879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16673 /* 44881 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16674 /* 44885 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
16675 /* 44887 */ GIR_RootConstrainSelectedInstOperands,
16676 /* 44888 */ // GIR_Coverage, 23721,
16677 /* 44888 */ GIR_EraseRootFromParent_Done,
16678 /* 44889 */ // Label 1059: @44889
16679 /* 44889 */ GIM_Try, /*On fail goto*//*Label 1060*/ GIMT_Encode4(44952), // Rule ID 4426 //
16680 /* 44894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16681 /* 44897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16682 /* 44901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16683 /* 44905 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
16684 /* 44909 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
16685 /* 44913 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16686 /* 44918 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16687 /* 44923 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
16688 /* 44927 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16689 /* 44933 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16690 /* 44935 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16691 /* 44937 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2), immAllOnesV:{ *:[v32i1] }) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16692 /* 44937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
16693 /* 44940 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16694 /* 44942 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16695 /* 44946 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
16696 /* 44950 */ GIR_RootConstrainSelectedInstOperands,
16697 /* 44951 */ // GIR_Coverage, 4426,
16698 /* 44951 */ GIR_EraseRootFromParent_Done,
16699 /* 44952 */ // Label 1060: @44952
16700 /* 44952 */ GIM_Try, /*On fail goto*//*Label 1061*/ GIMT_Encode4(45012), // Rule ID 23722 //
16701 /* 44957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16702 /* 44960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16703 /* 44964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16704 /* 44968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
16705 /* 44972 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
16706 /* 44976 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
16707 /* 44980 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16708 /* 44985 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
16709 /* 44989 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16710 /* 44995 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
16711 /* 44997 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
16712 /* 44999 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16713 /* 44999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
16714 /* 45002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16715 /* 45004 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
16716 /* 45008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
16717 /* 45010 */ GIR_RootConstrainSelectedInstOperands,
16718 /* 45011 */ // GIR_Coverage, 23722,
16719 /* 45011 */ GIR_EraseRootFromParent_Done,
16720 /* 45012 */ // Label 1061: @45012
16721 /* 45012 */ GIM_Try, /*On fail goto*//*Label 1062*/ GIMT_Encode4(45047), // Rule ID 4414 //
16722 /* 45017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16723 /* 45020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16724 /* 45024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16725 /* 45028 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16726 /* 45034 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16727 /* 45036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16728 /* 45038 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src, immAllOnesV:{ *:[v32i1] }) => (KNOTDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src)
16729 /* 45038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTDkk),
16730 /* 45041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16731 /* 45043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16732 /* 45045 */ GIR_RootConstrainSelectedInstOperands,
16733 /* 45046 */ // GIR_Coverage, 4414,
16734 /* 45046 */ GIR_EraseRootFromParent_Done,
16735 /* 45047 */ // Label 1062: @45047
16736 /* 45047 */ GIM_Try, /*On fail goto*//*Label 1063*/ GIMT_Encode4(45070), // Rule ID 4430 //
16737 /* 45052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16738 /* 45055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16739 /* 45059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
16740 /* 45063 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KXORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
16741 /* 45063 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORDkk),
16742 /* 45068 */ GIR_RootConstrainSelectedInstOperands,
16743 /* 45069 */ // GIR_Coverage, 4430,
16744 /* 45069 */ GIR_Done,
16745 /* 45070 */ // Label 1063: @45070
16746 /* 45070 */ GIM_Reject,
16747 /* 45071 */ // Label 1058: @45071
16748 /* 45071 */ GIM_Reject,
16749 /* 45072 */ // Label 871: @45072
16750 /* 45072 */ GIM_Try, /*On fail goto*//*Label 1064*/ GIMT_Encode4(45815),
16751 /* 45077 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
16752 /* 45080 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
16753 /* 45083 */ GIM_Try, /*On fail goto*//*Label 1065*/ GIMT_Encode4(45145), // Rule ID 25269 //
16754 /* 45088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16755 /* 45091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16756 /* 45095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16757 /* 45099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16758 /* 45103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16759 /* 45106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16760 /* 45110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16761 /* 45114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16762 /* 45118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16763 /* 45120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16764 /* 45127 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16765 /* 45127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16766 /* 45130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16767 /* 45132 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16768 /* 45134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16769 /* 45138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16770 /* 45143 */ GIR_RootConstrainSelectedInstOperands,
16771 /* 45144 */ // GIR_Coverage, 25269,
16772 /* 45144 */ GIR_EraseRootFromParent_Done,
16773 /* 45145 */ // Label 1065: @45145
16774 /* 45145 */ GIM_Try, /*On fail goto*//*Label 1066*/ GIMT_Encode4(45207), // Rule ID 25280 //
16775 /* 45150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16776 /* 45153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16777 /* 45157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16778 /* 45161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16779 /* 45165 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16780 /* 45168 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16781 /* 45172 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16782 /* 45176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16783 /* 45180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16784 /* 45182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16785 /* 45189 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16786 /* 45189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16787 /* 45192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16788 /* 45194 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16789 /* 45196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16790 /* 45200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16791 /* 45205 */ GIR_RootConstrainSelectedInstOperands,
16792 /* 45206 */ // GIR_Coverage, 25280,
16793 /* 45206 */ GIR_EraseRootFromParent_Done,
16794 /* 45207 */ // Label 1066: @45207
16795 /* 45207 */ GIM_Try, /*On fail goto*//*Label 1067*/ GIMT_Encode4(45269), // Rule ID 25475 //
16796 /* 45212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16797 /* 45215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16798 /* 45219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16799 /* 45223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16800 /* 45227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16801 /* 45230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16802 /* 45234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16803 /* 45238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16804 /* 45242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16805 /* 45244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16806 /* 45251 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16807 /* 45251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16808 /* 45254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16809 /* 45256 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16810 /* 45258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16811 /* 45262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16812 /* 45267 */ GIR_RootConstrainSelectedInstOperands,
16813 /* 45268 */ // GIR_Coverage, 25475,
16814 /* 45268 */ GIR_EraseRootFromParent_Done,
16815 /* 45269 */ // Label 1067: @45269
16816 /* 45269 */ GIM_Try, /*On fail goto*//*Label 1068*/ GIMT_Encode4(45331), // Rule ID 18097 //
16817 /* 45274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16818 /* 45277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16819 /* 45281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16820 /* 45285 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16821 /* 45289 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16822 /* 45293 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16823 /* 45296 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16824 /* 45300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16825 /* 45304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16826 /* 45306 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16827 /* 45313 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16828 /* 45313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16829 /* 45316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16830 /* 45318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16831 /* 45320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16832 /* 45324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16833 /* 45329 */ GIR_RootConstrainSelectedInstOperands,
16834 /* 45330 */ // GIR_Coverage, 18097,
16835 /* 45330 */ GIR_EraseRootFromParent_Done,
16836 /* 45331 */ // Label 1068: @45331
16837 /* 45331 */ GIM_Try, /*On fail goto*//*Label 1069*/ GIMT_Encode4(45393), // Rule ID 18127 //
16838 /* 45336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16839 /* 45339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16840 /* 45343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16841 /* 45347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16842 /* 45351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16843 /* 45355 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16844 /* 45358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16845 /* 45362 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16846 /* 45366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16847 /* 45368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16848 /* 45375 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16849 /* 45375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16850 /* 45378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16851 /* 45380 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16852 /* 45382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16853 /* 45386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16854 /* 45391 */ GIR_RootConstrainSelectedInstOperands,
16855 /* 45392 */ // GIR_Coverage, 18127,
16856 /* 45392 */ GIR_EraseRootFromParent_Done,
16857 /* 45393 */ // Label 1069: @45393
16858 /* 45393 */ GIM_Try, /*On fail goto*//*Label 1070*/ GIMT_Encode4(45455), // Rule ID 20052 //
16859 /* 45398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16860 /* 45401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16861 /* 45405 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16862 /* 45409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16863 /* 45413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16864 /* 45417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16865 /* 45420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16866 /* 45424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16867 /* 45428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16868 /* 45430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16869 /* 45437 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16870 /* 45437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16871 /* 45440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16872 /* 45442 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16873 /* 45444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16874 /* 45448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16875 /* 45453 */ GIR_RootConstrainSelectedInstOperands,
16876 /* 45454 */ // GIR_Coverage, 20052,
16877 /* 45454 */ GIR_EraseRootFromParent_Done,
16878 /* 45455 */ // Label 1070: @45455
16879 /* 45455 */ GIM_Try, /*On fail goto*//*Label 1071*/ GIMT_Encode4(45687), // Rule ID 21955 //
16880 /* 45460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
16881 /* 45463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16882 /* 45467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16883 /* 45471 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16884 /* 45475 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16885 /* 45481 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16886 /* 45483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16887 /* 45485 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, immAllOnesV:{ *:[v32i8] }) => (EXTRACT_SUBREG:{ *:[v32i8] } (VPTERNLOGQZrri:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v32i8] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v32i8] }:$src, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v32i8] }:$src, sub_ymm:{ *:[i32] }), 15:{ *:[i8] }), sub_ymm:{ *:[i32] })
16888 /* 45485 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16889 /* 45488 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16890 /* 45492 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16891 /* 45497 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16892 /* 45499 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16893 /* 45502 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16894 /* 45506 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16895 /* 45511 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16896 /* 45514 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16897 /* 45518 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
16898 /* 45521 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16899 /* 45526 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16900 /* 45531 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16901 /* 45536 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16902 /* 45539 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16903 /* 45543 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16904 /* 45548 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16905 /* 45550 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16906 /* 45553 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16907 /* 45557 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16908 /* 45562 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16909 /* 45565 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16910 /* 45569 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
16911 /* 45572 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16912 /* 45577 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16913 /* 45582 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16914 /* 45587 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16915 /* 45590 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16916 /* 45594 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16917 /* 45599 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16918 /* 45601 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16919 /* 45604 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16920 /* 45608 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16921 /* 45613 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16922 /* 45616 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16923 /* 45620 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
16924 /* 45623 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16925 /* 45628 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16926 /* 45633 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16927 /* 45638 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16928 /* 45641 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16929 /* 45645 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16930 /* 45650 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16931 /* 45653 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16932 /* 45656 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16933 /* 45659 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16934 /* 45662 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16935 /* 45664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16936 /* 45667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16937 /* 45669 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
16938 /* 45676 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
16939 /* 45681 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16940 /* 45686 */ // GIR_Coverage, 21955,
16941 /* 45686 */ GIR_EraseRootFromParent_Done,
16942 /* 45687 */ // Label 1071: @45687
16943 /* 45687 */ GIM_Try, /*On fail goto*//*Label 1072*/ GIMT_Encode4(45733), // Rule ID 21963 //
16944 /* 45692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16945 /* 45695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16946 /* 45699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16947 /* 45703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16948 /* 45707 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16949 /* 45713 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16950 /* 45715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16951 /* 45717 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, immAllOnesV:{ *:[v32i8] }) => (VPTERNLOGQZ256rri:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, 15:{ *:[i8] })
16952 /* 45717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
16953 /* 45720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16954 /* 45722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16955 /* 45724 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16956 /* 45726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16957 /* 45728 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16958 /* 45731 */ GIR_RootConstrainSelectedInstOperands,
16959 /* 45732 */ // GIR_Coverage, 21963,
16960 /* 45732 */ GIR_EraseRootFromParent_Done,
16961 /* 45733 */ // Label 1072: @45733
16962 /* 45733 */ GIM_Try, /*On fail goto*//*Label 1073*/ GIMT_Encode4(45760), // Rule ID 18085 //
16963 /* 45738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16964 /* 45741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16965 /* 45745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16966 /* 45749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16967 /* 45753 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPXORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16968 /* 45753 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
16969 /* 45758 */ GIR_RootConstrainSelectedInstOperands,
16970 /* 45759 */ // GIR_Coverage, 18085,
16971 /* 45759 */ GIR_Done,
16972 /* 45760 */ // Label 1073: @45760
16973 /* 45760 */ GIM_Try, /*On fail goto*//*Label 1074*/ GIMT_Encode4(45787), // Rule ID 18111 //
16974 /* 45765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16975 /* 45768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16976 /* 45772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16977 /* 45776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16978 /* 45780 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VXORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16979 /* 45780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
16980 /* 45785 */ GIR_RootConstrainSelectedInstOperands,
16981 /* 45786 */ // GIR_Coverage, 18111,
16982 /* 45786 */ GIR_Done,
16983 /* 45787 */ // Label 1074: @45787
16984 /* 45787 */ GIM_Try, /*On fail goto*//*Label 1075*/ GIMT_Encode4(45814), // Rule ID 20044 //
16985 /* 45792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16986 /* 45795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16987 /* 45799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16988 /* 45803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16989 /* 45807 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPXORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
16990 /* 45807 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
16991 /* 45812 */ GIR_RootConstrainSelectedInstOperands,
16992 /* 45813 */ // GIR_Coverage, 20044,
16993 /* 45813 */ GIR_Done,
16994 /* 45814 */ // Label 1075: @45814
16995 /* 45814 */ GIM_Reject,
16996 /* 45815 */ // Label 1064: @45815
16997 /* 45815 */ GIM_Reject,
16998 /* 45816 */ // Label 872: @45816
16999 /* 45816 */ GIM_Try, /*On fail goto*//*Label 1076*/ GIMT_Encode4(46013),
17000 /* 45821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
17001 /* 45824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
17002 /* 45827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17003 /* 45831 */ GIM_Try, /*On fail goto*//*Label 1077*/ GIMT_Encode4(45889), // Rule ID 25482 //
17004 /* 45836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17005 /* 45839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17006 /* 45843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17007 /* 45847 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17008 /* 45850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17009 /* 45854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17010 /* 45858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17011 /* 45862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17012 /* 45864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17013 /* 45871 */ // (xor:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17014 /* 45871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17015 /* 45874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17016 /* 45876 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17017 /* 45878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17018 /* 45882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17019 /* 45887 */ GIR_RootConstrainSelectedInstOperands,
17020 /* 45888 */ // GIR_Coverage, 25482,
17021 /* 45888 */ GIR_EraseRootFromParent_Done,
17022 /* 45889 */ // Label 1077: @45889
17023 /* 45889 */ GIM_Try, /*On fail goto*//*Label 1078*/ GIMT_Encode4(45947), // Rule ID 20069 //
17024 /* 45894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17025 /* 45897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17026 /* 45901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17027 /* 45905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17028 /* 45909 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17029 /* 45912 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17030 /* 45916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17031 /* 45920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17032 /* 45922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17033 /* 45929 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17034 /* 45929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17035 /* 45932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17036 /* 45934 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17037 /* 45936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17038 /* 45940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17039 /* 45945 */ GIR_RootConstrainSelectedInstOperands,
17040 /* 45946 */ // GIR_Coverage, 20069,
17041 /* 45946 */ GIR_EraseRootFromParent_Done,
17042 /* 45947 */ // Label 1078: @45947
17043 /* 45947 */ GIM_Try, /*On fail goto*//*Label 1079*/ GIMT_Encode4(45989), // Rule ID 21948 //
17044 /* 45952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17045 /* 45955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17046 /* 45959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17047 /* 45963 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17048 /* 45969 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
17049 /* 45971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17050 /* 45973 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, immAllOnesV:{ *:[v32i16] }) => (VPTERNLOGQZrri:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, 15:{ *:[i8] })
17051 /* 45973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
17052 /* 45976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17053 /* 45978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17054 /* 45980 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17055 /* 45982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17056 /* 45984 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
17057 /* 45987 */ GIR_RootConstrainSelectedInstOperands,
17058 /* 45988 */ // GIR_Coverage, 21948,
17059 /* 45988 */ GIR_EraseRootFromParent_Done,
17060 /* 45989 */ // Label 1079: @45989
17061 /* 45989 */ GIM_Try, /*On fail goto*//*Label 1080*/ GIMT_Encode4(46012), // Rule ID 20061 //
17062 /* 45994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17063 /* 45997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17064 /* 46001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17065 /* 46005 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPXORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
17066 /* 46005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
17067 /* 46010 */ GIR_RootConstrainSelectedInstOperands,
17068 /* 46011 */ // GIR_Coverage, 20061,
17069 /* 46011 */ GIR_Done,
17070 /* 46012 */ // Label 1080: @46012
17071 /* 46012 */ GIM_Reject,
17072 /* 46013 */ // Label 1076: @46013
17073 /* 46013 */ GIM_Reject,
17074 /* 46014 */ // Label 873: @46014
17075 /* 46014 */ GIM_Try, /*On fail goto*//*Label 1081*/ GIMT_Encode4(46271),
17076 /* 46019 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17077 /* 46022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
17078 /* 46025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17079 /* 46029 */ GIM_Try, /*On fail goto*//*Label 1082*/ GIMT_Encode4(46089), // Rule ID 23723 //
17080 /* 46034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17081 /* 46037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17082 /* 46041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
17083 /* 46045 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
17084 /* 46049 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
17085 /* 46053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17086 /* 46058 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17087 /* 46062 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17088 /* 46068 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
17089 /* 46070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17090 /* 46074 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17091 /* 46076 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17092 /* 46076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
17093 /* 46079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17094 /* 46081 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
17095 /* 46085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17096 /* 46087 */ GIR_RootConstrainSelectedInstOperands,
17097 /* 46088 */ // GIR_Coverage, 23723,
17098 /* 46088 */ GIR_EraseRootFromParent_Done,
17099 /* 46089 */ // Label 1082: @46089
17100 /* 46089 */ GIM_Try, /*On fail goto*//*Label 1083*/ GIMT_Encode4(46152), // Rule ID 4427 //
17101 /* 46094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17102 /* 46097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17103 /* 46101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
17104 /* 46105 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
17105 /* 46109 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
17106 /* 46113 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17107 /* 46118 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17108 /* 46123 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
17109 /* 46127 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17110 /* 46133 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
17111 /* 46135 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17112 /* 46137 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2), immAllOnesV:{ *:[v64i1] }) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17113 /* 46137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
17114 /* 46140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17115 /* 46142 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
17116 /* 46146 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
17117 /* 46150 */ GIR_RootConstrainSelectedInstOperands,
17118 /* 46151 */ // GIR_Coverage, 4427,
17119 /* 46151 */ GIR_EraseRootFromParent_Done,
17120 /* 46152 */ // Label 1083: @46152
17121 /* 46152 */ GIM_Try, /*On fail goto*//*Label 1084*/ GIMT_Encode4(46212), // Rule ID 23724 //
17122 /* 46157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17123 /* 46160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17124 /* 46164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17125 /* 46168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
17126 /* 46172 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
17127 /* 46176 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
17128 /* 46180 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17129 /* 46185 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
17130 /* 46189 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17131 /* 46195 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
17132 /* 46197 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
17133 /* 46199 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17134 /* 46199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
17135 /* 46202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17136 /* 46204 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
17137 /* 46208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
17138 /* 46210 */ GIR_RootConstrainSelectedInstOperands,
17139 /* 46211 */ // GIR_Coverage, 23724,
17140 /* 46211 */ GIR_EraseRootFromParent_Done,
17141 /* 46212 */ // Label 1084: @46212
17142 /* 46212 */ GIM_Try, /*On fail goto*//*Label 1085*/ GIMT_Encode4(46247), // Rule ID 4415 //
17143 /* 46217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17144 /* 46220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17145 /* 46224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17146 /* 46228 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17147 /* 46234 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
17148 /* 46236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17149 /* 46238 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src, immAllOnesV:{ *:[v64i1] }) => (KNOTQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src)
17150 /* 46238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTQkk),
17151 /* 46241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17152 /* 46243 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17153 /* 46245 */ GIR_RootConstrainSelectedInstOperands,
17154 /* 46246 */ // GIR_Coverage, 4415,
17155 /* 46246 */ GIR_EraseRootFromParent_Done,
17156 /* 46247 */ // Label 1085: @46247
17157 /* 46247 */ GIM_Try, /*On fail goto*//*Label 1086*/ GIMT_Encode4(46270), // Rule ID 4431 //
17158 /* 46252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17159 /* 46255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17160 /* 46259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17161 /* 46263 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KXORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
17162 /* 46263 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORQkk),
17163 /* 46268 */ GIR_RootConstrainSelectedInstOperands,
17164 /* 46269 */ // GIR_Coverage, 4431,
17165 /* 46269 */ GIR_Done,
17166 /* 46270 */ // Label 1086: @46270
17167 /* 46270 */ GIM_Reject,
17168 /* 46271 */ // Label 1081: @46271
17169 /* 46271 */ GIM_Reject,
17170 /* 46272 */ // Label 874: @46272
17171 /* 46272 */ GIM_Try, /*On fail goto*//*Label 1087*/ GIMT_Encode4(46469),
17172 /* 46277 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
17173 /* 46280 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
17174 /* 46283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17175 /* 46287 */ GIM_Try, /*On fail goto*//*Label 1088*/ GIMT_Encode4(46345), // Rule ID 25481 //
17176 /* 46292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17177 /* 46295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17178 /* 46299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17179 /* 46303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17180 /* 46306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17181 /* 46310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17182 /* 46314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17183 /* 46318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17184 /* 46320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17185 /* 46327 */ // (xor:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17186 /* 46327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17187 /* 46330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17188 /* 46332 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17189 /* 46334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17190 /* 46338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17191 /* 46343 */ GIR_RootConstrainSelectedInstOperands,
17192 /* 46344 */ // GIR_Coverage, 25481,
17193 /* 46344 */ GIR_EraseRootFromParent_Done,
17194 /* 46345 */ // Label 1088: @46345
17195 /* 46345 */ GIM_Try, /*On fail goto*//*Label 1089*/ GIMT_Encode4(46403), // Rule ID 20068 //
17196 /* 46350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17197 /* 46353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17198 /* 46357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17199 /* 46361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17200 /* 46365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17201 /* 46368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17202 /* 46372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17203 /* 46376 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17204 /* 46378 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17205 /* 46385 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17206 /* 46385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
17207 /* 46388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17208 /* 46390 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17209 /* 46392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17210 /* 46396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17211 /* 46401 */ GIR_RootConstrainSelectedInstOperands,
17212 /* 46402 */ // GIR_Coverage, 20068,
17213 /* 46402 */ GIR_EraseRootFromParent_Done,
17214 /* 46403 */ // Label 1089: @46403
17215 /* 46403 */ GIM_Try, /*On fail goto*//*Label 1090*/ GIMT_Encode4(46445), // Rule ID 21947 //
17216 /* 46408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17217 /* 46411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17218 /* 46415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17219 /* 46419 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
17220 /* 46425 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
17221 /* 46427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17222 /* 46429 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, immAllOnesV:{ *:[v64i8] }) => (VPTERNLOGQZrri:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, 15:{ *:[i8] })
17223 /* 46429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
17224 /* 46432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17225 /* 46434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17226 /* 46436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17227 /* 46438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
17228 /* 46440 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
17229 /* 46443 */ GIR_RootConstrainSelectedInstOperands,
17230 /* 46444 */ // GIR_Coverage, 21947,
17231 /* 46444 */ GIR_EraseRootFromParent_Done,
17232 /* 46445 */ // Label 1090: @46445
17233 /* 46445 */ GIM_Try, /*On fail goto*//*Label 1091*/ GIMT_Encode4(46468), // Rule ID 20060 //
17234 /* 46450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17235 /* 46453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17236 /* 46457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17237 /* 46461 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPXORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
17238 /* 46461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
17239 /* 46466 */ GIR_RootConstrainSelectedInstOperands,
17240 /* 46467 */ // GIR_Coverage, 20060,
17241 /* 46467 */ GIR_Done,
17242 /* 46468 */ // Label 1091: @46468
17243 /* 46468 */ GIM_Reject,
17244 /* 46469 */ // Label 1087: @46469
17245 /* 46469 */ GIM_Reject,
17246 /* 46470 */ // Label 875: @46470
17247 /* 46470 */ GIM_Reject,
17248 /* 46471 */ // Label 6: @46471
17249 /* 46471 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 1098*/ GIMT_Encode4(48156),
17250 /* 46482 */ /*GILLT_v8s16*//*Label 1092*/ GIMT_Encode4(46530), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17251 /* 46498 */ /*GILLT_v16s8*//*Label 1093*/ GIMT_Encode4(46872),
17252 /* 46502 */ /*GILLT_v16s16*//*Label 1094*/ GIMT_Encode4(47214), GIMT_Encode4(0), GIMT_Encode4(0),
17253 /* 46514 */ /*GILLT_v32s8*//*Label 1095*/ GIMT_Encode4(47529),
17254 /* 46518 */ /*GILLT_v32s16*//*Label 1096*/ GIMT_Encode4(47844), GIMT_Encode4(0),
17255 /* 46526 */ /*GILLT_v64s8*//*Label 1097*/ GIMT_Encode4(48000),
17256 /* 46530 */ // Label 1092: @46530
17257 /* 46530 */ GIM_Try, /*On fail goto*//*Label 1099*/ GIMT_Encode4(46871),
17258 /* 46535 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
17259 /* 46538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
17260 /* 46541 */ GIM_Try, /*On fail goto*//*Label 1100*/ GIMT_Encode4(46603), // Rule ID 23510 //
17261 /* 46546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
17262 /* 46549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17263 /* 46553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17264 /* 46557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17265 /* 46561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17266 /* 46564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17267 /* 46568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17268 /* 46572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17269 /* 46576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17270 /* 46578 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17271 /* 46585 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17272 /* 46585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
17273 /* 46588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17274 /* 46590 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17275 /* 46592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17276 /* 46596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17277 /* 46601 */ GIR_RootConstrainSelectedInstOperands,
17278 /* 46602 */ // GIR_Coverage, 23510,
17279 /* 46602 */ GIR_EraseRootFromParent_Done,
17280 /* 46603 */ // Label 1100: @46603
17281 /* 46603 */ GIM_Try, /*On fail goto*//*Label 1101*/ GIMT_Encode4(46665), // Rule ID 23897 //
17282 /* 46608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17283 /* 46611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17284 /* 46615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17285 /* 46619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17286 /* 46623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17287 /* 46626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17288 /* 46630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17289 /* 46634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17290 /* 46638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17291 /* 46640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17292 /* 46647 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17293 /* 46647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
17294 /* 46650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17295 /* 46652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17296 /* 46654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17297 /* 46658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17298 /* 46663 */ GIR_RootConstrainSelectedInstOperands,
17299 /* 46664 */ // GIR_Coverage, 23897,
17300 /* 46664 */ GIR_EraseRootFromParent_Done,
17301 /* 46665 */ // Label 1101: @46665
17302 /* 46665 */ GIM_Try, /*On fail goto*//*Label 1102*/ GIMT_Encode4(46727), // Rule ID 2666 //
17303 /* 46670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
17304 /* 46673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17305 /* 46677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17306 /* 46681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17307 /* 46685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17308 /* 46689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17309 /* 46692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17310 /* 46696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17311 /* 46700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17312 /* 46702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17313 /* 46709 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17314 /* 46709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
17315 /* 46712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17316 /* 46714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17317 /* 46716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17318 /* 46720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17319 /* 46725 */ GIR_RootConstrainSelectedInstOperands,
17320 /* 46726 */ // GIR_Coverage, 2666,
17321 /* 46726 */ GIR_EraseRootFromParent_Done,
17322 /* 46727 */ // Label 1102: @46727
17323 /* 46727 */ GIM_Try, /*On fail goto*//*Label 1103*/ GIMT_Encode4(46789), // Rule ID 5101 //
17324 /* 46732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17325 /* 46735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17326 /* 46739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17327 /* 46743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17328 /* 46747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17329 /* 46751 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17330 /* 46754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17331 /* 46758 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17332 /* 46762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17333 /* 46764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17334 /* 46771 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17335 /* 46771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
17336 /* 46774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17337 /* 46776 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17338 /* 46778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17339 /* 46782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17340 /* 46787 */ GIR_RootConstrainSelectedInstOperands,
17341 /* 46788 */ // GIR_Coverage, 5101,
17342 /* 46788 */ GIR_EraseRootFromParent_Done,
17343 /* 46789 */ // Label 1103: @46789
17344 /* 46789 */ GIM_Try, /*On fail goto*//*Label 1104*/ GIMT_Encode4(46816), // Rule ID 2665 //
17345 /* 46794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
17346 /* 46797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17347 /* 46801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17348 /* 46805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17349 /* 46809 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
17350 /* 46809 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWrr),
17351 /* 46814 */ GIR_RootConstrainSelectedInstOperands,
17352 /* 46815 */ // GIR_Coverage, 2665,
17353 /* 46815 */ GIR_Done,
17354 /* 46816 */ // Label 1104: @46816
17355 /* 46816 */ GIM_Try, /*On fail goto*//*Label 1105*/ GIMT_Encode4(46843), // Rule ID 2667 //
17356 /* 46821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17357 /* 46824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17358 /* 46828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17359 /* 46832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17360 /* 46836 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
17361 /* 46836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGWrr),
17362 /* 46841 */ GIR_RootConstrainSelectedInstOperands,
17363 /* 46842 */ // GIR_Coverage, 2667,
17364 /* 46842 */ GIR_Done,
17365 /* 46843 */ // Label 1105: @46843
17366 /* 46843 */ GIM_Try, /*On fail goto*//*Label 1106*/ GIMT_Encode4(46870), // Rule ID 5098 //
17367 /* 46848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17368 /* 46851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17369 /* 46855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17370 /* 46859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17371 /* 46863 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPAVGWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
17372 /* 46863 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rr),
17373 /* 46868 */ GIR_RootConstrainSelectedInstOperands,
17374 /* 46869 */ // GIR_Coverage, 5098,
17375 /* 46869 */ GIR_Done,
17376 /* 46870 */ // Label 1106: @46870
17377 /* 46870 */ GIM_Reject,
17378 /* 46871 */ // Label 1099: @46871
17379 /* 46871 */ GIM_Reject,
17380 /* 46872 */ // Label 1093: @46872
17381 /* 46872 */ GIM_Try, /*On fail goto*//*Label 1107*/ GIMT_Encode4(47213),
17382 /* 46877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
17383 /* 46880 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
17384 /* 46883 */ GIM_Try, /*On fail goto*//*Label 1108*/ GIMT_Encode4(46945), // Rule ID 23507 //
17385 /* 46888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
17386 /* 46891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17387 /* 46895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17388 /* 46899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17389 /* 46903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17390 /* 46906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17391 /* 46910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17392 /* 46914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17393 /* 46918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17394 /* 46920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17395 /* 46927 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17396 /* 46927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
17397 /* 46930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17398 /* 46932 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17399 /* 46934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17400 /* 46938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17401 /* 46943 */ GIR_RootConstrainSelectedInstOperands,
17402 /* 46944 */ // GIR_Coverage, 23507,
17403 /* 46944 */ GIR_EraseRootFromParent_Done,
17404 /* 46945 */ // Label 1108: @46945
17405 /* 46945 */ GIM_Try, /*On fail goto*//*Label 1109*/ GIMT_Encode4(47007), // Rule ID 23906 //
17406 /* 46950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17407 /* 46953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17408 /* 46957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17409 /* 46961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17410 /* 46965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17411 /* 46968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17412 /* 46972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17413 /* 46976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17414 /* 46980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17415 /* 46982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17416 /* 46989 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17417 /* 46989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
17418 /* 46992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17419 /* 46994 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17420 /* 46996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17421 /* 47000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17422 /* 47005 */ GIR_RootConstrainSelectedInstOperands,
17423 /* 47006 */ // GIR_Coverage, 23906,
17424 /* 47006 */ GIR_EraseRootFromParent_Done,
17425 /* 47007 */ // Label 1109: @47007
17426 /* 47007 */ GIM_Try, /*On fail goto*//*Label 1110*/ GIMT_Encode4(47069), // Rule ID 2660 //
17427 /* 47012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
17428 /* 47015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17429 /* 47019 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17430 /* 47023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17431 /* 47027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17432 /* 47031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17433 /* 47034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17434 /* 47038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17435 /* 47042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17436 /* 47044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17437 /* 47051 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17438 /* 47051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
17439 /* 47054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17440 /* 47056 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17441 /* 47058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17442 /* 47062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17443 /* 47067 */ GIR_RootConstrainSelectedInstOperands,
17444 /* 47068 */ // GIR_Coverage, 2660,
17445 /* 47068 */ GIR_EraseRootFromParent_Done,
17446 /* 47069 */ // Label 1110: @47069
17447 /* 47069 */ GIM_Try, /*On fail goto*//*Label 1111*/ GIMT_Encode4(47131), // Rule ID 5119 //
17448 /* 47074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17449 /* 47077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17450 /* 47081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17451 /* 47085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17452 /* 47089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17453 /* 47093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17454 /* 47096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17455 /* 47100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17456 /* 47104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17457 /* 47106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17458 /* 47113 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17459 /* 47113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
17460 /* 47116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17461 /* 47118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17462 /* 47120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17463 /* 47124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17464 /* 47129 */ GIR_RootConstrainSelectedInstOperands,
17465 /* 47130 */ // GIR_Coverage, 5119,
17466 /* 47130 */ GIR_EraseRootFromParent_Done,
17467 /* 47131 */ // Label 1111: @47131
17468 /* 47131 */ GIM_Try, /*On fail goto*//*Label 1112*/ GIMT_Encode4(47158), // Rule ID 2659 //
17469 /* 47136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
17470 /* 47139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17471 /* 47143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17472 /* 47147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17473 /* 47151 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
17474 /* 47151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBrr),
17475 /* 47156 */ GIR_RootConstrainSelectedInstOperands,
17476 /* 47157 */ // GIR_Coverage, 2659,
17477 /* 47157 */ GIR_Done,
17478 /* 47158 */ // Label 1112: @47158
17479 /* 47158 */ GIM_Try, /*On fail goto*//*Label 1113*/ GIMT_Encode4(47185), // Rule ID 2661 //
17480 /* 47163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17481 /* 47166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17482 /* 47170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17483 /* 47174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
17484 /* 47178 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
17485 /* 47178 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGBrr),
17486 /* 47183 */ GIR_RootConstrainSelectedInstOperands,
17487 /* 47184 */ // GIR_Coverage, 2661,
17488 /* 47184 */ GIR_Done,
17489 /* 47185 */ // Label 1113: @47185
17490 /* 47185 */ GIM_Try, /*On fail goto*//*Label 1114*/ GIMT_Encode4(47212), // Rule ID 5116 //
17491 /* 47190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17492 /* 47193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17493 /* 47197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17494 /* 47201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
17495 /* 47205 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPAVGBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
17496 /* 47205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rr),
17497 /* 47210 */ GIR_RootConstrainSelectedInstOperands,
17498 /* 47211 */ // GIR_Coverage, 5116,
17499 /* 47211 */ GIR_Done,
17500 /* 47212 */ // Label 1114: @47212
17501 /* 47212 */ GIM_Reject,
17502 /* 47213 */ // Label 1107: @47213
17503 /* 47213 */ GIM_Reject,
17504 /* 47214 */ // Label 1094: @47214
17505 /* 47214 */ GIM_Try, /*On fail goto*//*Label 1115*/ GIMT_Encode4(47528),
17506 /* 47219 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
17507 /* 47222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
17508 /* 47225 */ GIM_Try, /*On fail goto*//*Label 1116*/ GIMT_Encode4(47287), // Rule ID 23512 //
17509 /* 47230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
17510 /* 47233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17511 /* 47237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17512 /* 47241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17513 /* 47245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17514 /* 47248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17515 /* 47252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17516 /* 47256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17517 /* 47260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17518 /* 47262 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17519 /* 47269 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17520 /* 47269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
17521 /* 47272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17522 /* 47274 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17523 /* 47276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17524 /* 47280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17525 /* 47285 */ GIR_RootConstrainSelectedInstOperands,
17526 /* 47286 */ // GIR_Coverage, 23512,
17527 /* 47286 */ GIR_EraseRootFromParent_Done,
17528 /* 47287 */ // Label 1116: @47287
17529 /* 47287 */ GIM_Try, /*On fail goto*//*Label 1117*/ GIMT_Encode4(47349), // Rule ID 23894 //
17530 /* 47292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17531 /* 47295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17532 /* 47299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17533 /* 47303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17534 /* 47307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17535 /* 47310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17536 /* 47314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17537 /* 47318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17538 /* 47322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17539 /* 47324 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17540 /* 47331 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17541 /* 47331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
17542 /* 47334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17543 /* 47336 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17544 /* 47338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17545 /* 47342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17546 /* 47347 */ GIR_RootConstrainSelectedInstOperands,
17547 /* 47348 */ // GIR_Coverage, 23894,
17548 /* 47348 */ GIR_EraseRootFromParent_Done,
17549 /* 47349 */ // Label 1117: @47349
17550 /* 47349 */ GIM_Try, /*On fail goto*//*Label 1118*/ GIMT_Encode4(47411), // Rule ID 2670 //
17551 /* 47354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
17552 /* 47357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17553 /* 47361 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17554 /* 47365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17555 /* 47369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17556 /* 47373 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17557 /* 47376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17558 /* 47380 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17559 /* 47384 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17560 /* 47386 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17561 /* 47393 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17562 /* 47393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
17563 /* 47396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17564 /* 47398 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17565 /* 47400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17566 /* 47404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17567 /* 47409 */ GIR_RootConstrainSelectedInstOperands,
17568 /* 47410 */ // GIR_Coverage, 2670,
17569 /* 47410 */ GIR_EraseRootFromParent_Done,
17570 /* 47411 */ // Label 1118: @47411
17571 /* 47411 */ GIM_Try, /*On fail goto*//*Label 1119*/ GIMT_Encode4(47473), // Rule ID 5095 //
17572 /* 47416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17573 /* 47419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17574 /* 47423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17575 /* 47427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17576 /* 47431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17577 /* 47435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17578 /* 47438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17579 /* 47442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17580 /* 47446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17581 /* 47448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17582 /* 47455 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17583 /* 47455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
17584 /* 47458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17585 /* 47460 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17586 /* 47462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17587 /* 47466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17588 /* 47471 */ GIR_RootConstrainSelectedInstOperands,
17589 /* 47472 */ // GIR_Coverage, 5095,
17590 /* 47472 */ GIR_EraseRootFromParent_Done,
17591 /* 47473 */ // Label 1119: @47473
17592 /* 47473 */ GIM_Try, /*On fail goto*//*Label 1120*/ GIMT_Encode4(47500), // Rule ID 2669 //
17593 /* 47478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
17594 /* 47481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17595 /* 47485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17596 /* 47489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17597 /* 47493 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPAVGWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
17598 /* 47493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrr),
17599 /* 47498 */ GIR_RootConstrainSelectedInstOperands,
17600 /* 47499 */ // GIR_Coverage, 2669,
17601 /* 47499 */ GIR_Done,
17602 /* 47500 */ // Label 1120: @47500
17603 /* 47500 */ GIM_Try, /*On fail goto*//*Label 1121*/ GIMT_Encode4(47527), // Rule ID 5092 //
17604 /* 47505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17605 /* 47508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17606 /* 47512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17607 /* 47516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17608 /* 47520 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPAVGWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
17609 /* 47520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rr),
17610 /* 47525 */ GIR_RootConstrainSelectedInstOperands,
17611 /* 47526 */ // GIR_Coverage, 5092,
17612 /* 47526 */ GIR_Done,
17613 /* 47527 */ // Label 1121: @47527
17614 /* 47527 */ GIM_Reject,
17615 /* 47528 */ // Label 1115: @47528
17616 /* 47528 */ GIM_Reject,
17617 /* 47529 */ // Label 1095: @47529
17618 /* 47529 */ GIM_Try, /*On fail goto*//*Label 1122*/ GIMT_Encode4(47843),
17619 /* 47534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
17620 /* 47537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
17621 /* 47540 */ GIM_Try, /*On fail goto*//*Label 1123*/ GIMT_Encode4(47602), // Rule ID 23509 //
17622 /* 47545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
17623 /* 47548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17624 /* 47552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17625 /* 47556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17626 /* 47560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17627 /* 47563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17628 /* 47567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17629 /* 47571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17630 /* 47575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17631 /* 47577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17632 /* 47584 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17633 /* 47584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
17634 /* 47587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17635 /* 47589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17636 /* 47591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17637 /* 47595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17638 /* 47600 */ GIR_RootConstrainSelectedInstOperands,
17639 /* 47601 */ // GIR_Coverage, 23509,
17640 /* 47601 */ GIR_EraseRootFromParent_Done,
17641 /* 47602 */ // Label 1123: @47602
17642 /* 47602 */ GIM_Try, /*On fail goto*//*Label 1124*/ GIMT_Encode4(47664), // Rule ID 23903 //
17643 /* 47607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17644 /* 47610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17645 /* 47614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17646 /* 47618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17647 /* 47622 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17648 /* 47625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17649 /* 47629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17650 /* 47633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17651 /* 47637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17652 /* 47639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17653 /* 47646 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17654 /* 47646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
17655 /* 47649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17656 /* 47651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17657 /* 47653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17658 /* 47657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17659 /* 47662 */ GIR_RootConstrainSelectedInstOperands,
17660 /* 47663 */ // GIR_Coverage, 23903,
17661 /* 47663 */ GIR_EraseRootFromParent_Done,
17662 /* 47664 */ // Label 1124: @47664
17663 /* 47664 */ GIM_Try, /*On fail goto*//*Label 1125*/ GIMT_Encode4(47726), // Rule ID 2664 //
17664 /* 47669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
17665 /* 47672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17666 /* 47676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17667 /* 47680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17668 /* 47684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17669 /* 47688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17670 /* 47691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17671 /* 47695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17672 /* 47699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17673 /* 47701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17674 /* 47708 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17675 /* 47708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
17676 /* 47711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17677 /* 47713 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17678 /* 47715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17679 /* 47719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17680 /* 47724 */ GIR_RootConstrainSelectedInstOperands,
17681 /* 47725 */ // GIR_Coverage, 2664,
17682 /* 47725 */ GIR_EraseRootFromParent_Done,
17683 /* 47726 */ // Label 1125: @47726
17684 /* 47726 */ GIM_Try, /*On fail goto*//*Label 1126*/ GIMT_Encode4(47788), // Rule ID 5113 //
17685 /* 47731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17686 /* 47734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17687 /* 47738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17688 /* 47742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17689 /* 47746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17690 /* 47750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17691 /* 47753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17692 /* 47757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17693 /* 47761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17694 /* 47763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17695 /* 47770 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17696 /* 47770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
17697 /* 47773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17698 /* 47775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17699 /* 47777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17700 /* 47781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17701 /* 47786 */ GIR_RootConstrainSelectedInstOperands,
17702 /* 47787 */ // GIR_Coverage, 5113,
17703 /* 47787 */ GIR_EraseRootFromParent_Done,
17704 /* 47788 */ // Label 1126: @47788
17705 /* 47788 */ GIM_Try, /*On fail goto*//*Label 1127*/ GIMT_Encode4(47815), // Rule ID 2663 //
17706 /* 47793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
17707 /* 47796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17708 /* 47800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17709 /* 47804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
17710 /* 47808 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPAVGBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
17711 /* 47808 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrr),
17712 /* 47813 */ GIR_RootConstrainSelectedInstOperands,
17713 /* 47814 */ // GIR_Coverage, 2663,
17714 /* 47814 */ GIR_Done,
17715 /* 47815 */ // Label 1127: @47815
17716 /* 47815 */ GIM_Try, /*On fail goto*//*Label 1128*/ GIMT_Encode4(47842), // Rule ID 5110 //
17717 /* 47820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
17718 /* 47823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17719 /* 47827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17720 /* 47831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17721 /* 47835 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPAVGBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
17722 /* 47835 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rr),
17723 /* 47840 */ GIR_RootConstrainSelectedInstOperands,
17724 /* 47841 */ // GIR_Coverage, 5110,
17725 /* 47841 */ GIR_Done,
17726 /* 47842 */ // Label 1128: @47842
17727 /* 47842 */ GIM_Reject,
17728 /* 47843 */ // Label 1122: @47843
17729 /* 47843 */ GIM_Reject,
17730 /* 47844 */ // Label 1096: @47844
17731 /* 47844 */ GIM_Try, /*On fail goto*//*Label 1129*/ GIMT_Encode4(47999),
17732 /* 47849 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
17733 /* 47852 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
17734 /* 47855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17735 /* 47859 */ GIM_Try, /*On fail goto*//*Label 1130*/ GIMT_Encode4(47917), // Rule ID 23891 //
17736 /* 47864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17737 /* 47867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17738 /* 47871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17739 /* 47875 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17740 /* 47878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17741 /* 47882 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17742 /* 47886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17743 /* 47890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17744 /* 47892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17745 /* 47899 */ // (avgceilu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17746 /* 47899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
17747 /* 47902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17748 /* 47904 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17749 /* 47906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17750 /* 47910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17751 /* 47915 */ GIR_RootConstrainSelectedInstOperands,
17752 /* 47916 */ // GIR_Coverage, 23891,
17753 /* 47916 */ GIR_EraseRootFromParent_Done,
17754 /* 47917 */ // Label 1130: @47917
17755 /* 47917 */ GIM_Try, /*On fail goto*//*Label 1131*/ GIMT_Encode4(47975), // Rule ID 5089 //
17756 /* 47922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17757 /* 47925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17758 /* 47929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17759 /* 47933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17760 /* 47937 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17761 /* 47940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17762 /* 47944 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17763 /* 47948 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17764 /* 47950 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17765 /* 47957 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17766 /* 47957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
17767 /* 47960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17768 /* 47962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17769 /* 47964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17770 /* 47968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17771 /* 47973 */ GIR_RootConstrainSelectedInstOperands,
17772 /* 47974 */ // GIR_Coverage, 5089,
17773 /* 47974 */ GIR_EraseRootFromParent_Done,
17774 /* 47975 */ // Label 1131: @47975
17775 /* 47975 */ GIM_Try, /*On fail goto*//*Label 1132*/ GIMT_Encode4(47998), // Rule ID 5086 //
17776 /* 47980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17777 /* 47983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17778 /* 47987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17779 /* 47991 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPAVGWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
17780 /* 47991 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrr),
17781 /* 47996 */ GIR_RootConstrainSelectedInstOperands,
17782 /* 47997 */ // GIR_Coverage, 5086,
17783 /* 47997 */ GIR_Done,
17784 /* 47998 */ // Label 1132: @47998
17785 /* 47998 */ GIM_Reject,
17786 /* 47999 */ // Label 1129: @47999
17787 /* 47999 */ GIM_Reject,
17788 /* 48000 */ // Label 1097: @48000
17789 /* 48000 */ GIM_Try, /*On fail goto*//*Label 1133*/ GIMT_Encode4(48155),
17790 /* 48005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
17791 /* 48008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
17792 /* 48011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17793 /* 48015 */ GIM_Try, /*On fail goto*//*Label 1134*/ GIMT_Encode4(48073), // Rule ID 23900 //
17794 /* 48020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17795 /* 48023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17796 /* 48027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17797 /* 48031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17798 /* 48034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17799 /* 48038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17800 /* 48042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17801 /* 48046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17802 /* 48048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17803 /* 48055 */ // (avgceilu:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17804 /* 48055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
17805 /* 48058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17806 /* 48060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17807 /* 48062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17808 /* 48066 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17809 /* 48071 */ GIR_RootConstrainSelectedInstOperands,
17810 /* 48072 */ // GIR_Coverage, 23900,
17811 /* 48072 */ GIR_EraseRootFromParent_Done,
17812 /* 48073 */ // Label 1134: @48073
17813 /* 48073 */ GIM_Try, /*On fail goto*//*Label 1135*/ GIMT_Encode4(48131), // Rule ID 5107 //
17814 /* 48078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17815 /* 48081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17816 /* 48085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17817 /* 48089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17818 /* 48093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17819 /* 48096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17820 /* 48100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17821 /* 48104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17822 /* 48106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17823 /* 48113 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
17824 /* 48113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
17825 /* 48116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17826 /* 48118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17827 /* 48120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17828 /* 48124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17829 /* 48129 */ GIR_RootConstrainSelectedInstOperands,
17830 /* 48130 */ // GIR_Coverage, 5107,
17831 /* 48130 */ GIR_EraseRootFromParent_Done,
17832 /* 48131 */ // Label 1135: @48131
17833 /* 48131 */ GIM_Try, /*On fail goto*//*Label 1136*/ GIMT_Encode4(48154), // Rule ID 5104 //
17834 /* 48136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17835 /* 48139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17836 /* 48143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17837 /* 48147 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPAVGBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
17838 /* 48147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrr),
17839 /* 48152 */ GIR_RootConstrainSelectedInstOperands,
17840 /* 48153 */ // GIR_Coverage, 5104,
17841 /* 48153 */ GIR_Done,
17842 /* 48154 */ // Label 1136: @48154
17843 /* 48154 */ GIM_Reject,
17844 /* 48155 */ // Label 1133: @48155
17845 /* 48155 */ GIM_Reject,
17846 /* 48156 */ // Label 1098: @48156
17847 /* 48156 */ GIM_Reject,
17848 /* 48157 */ // Label 7: @48157
17849 /* 48157 */ GIM_Try, /*On fail goto*//*Label 1137*/ GIMT_Encode4(48323),
17850 /* 48162 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
17851 /* 48165 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(24), /*)*//*default:*//*Label 1141*/ GIMT_Encode4(48322),
17852 /* 48176 */ /*GILLT_v16s1*//*Label 1138*/ GIMT_Encode4(48208), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17853 /* 48192 */ /*GILLT_v32s1*//*Label 1139*/ GIMT_Encode4(48246), GIMT_Encode4(0), GIMT_Encode4(0),
17854 /* 48204 */ /*GILLT_v64s1*//*Label 1140*/ GIMT_Encode4(48284),
17855 /* 48208 */ // Label 1138: @48208
17856 /* 48208 */ GIM_Try, /*On fail goto*//*Label 1142*/ GIMT_Encode4(48245), // Rule ID 19500 //
17857 /* 48213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17858 /* 48216 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
17859 /* 48219 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
17860 /* 48222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17861 /* 48226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17862 /* 48230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17863 /* 48234 */ // (concat_vectors:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KUNPCKBWkk:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK8:{ *:[v8i1] }:$src1)
17864 /* 48234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKBWkk),
17865 /* 48237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17866 /* 48239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17867 /* 48241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17868 /* 48243 */ GIR_RootConstrainSelectedInstOperands,
17869 /* 48244 */ // GIR_Coverage, 19500,
17870 /* 48244 */ GIR_EraseRootFromParent_Done,
17871 /* 48245 */ // Label 1142: @48245
17872 /* 48245 */ GIM_Reject,
17873 /* 48246 */ // Label 1139: @48246
17874 /* 48246 */ GIM_Try, /*On fail goto*//*Label 1143*/ GIMT_Encode4(48283), // Rule ID 19501 //
17875 /* 48251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17876 /* 48254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
17877 /* 48257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
17878 /* 48260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17879 /* 48264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17880 /* 48268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17881 /* 48272 */ // (concat_vectors:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KUNPCKWDkk:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src2, VK16:{ *:[v16i1] }:$src1)
17882 /* 48272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKWDkk),
17883 /* 48275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17884 /* 48277 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17885 /* 48279 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17886 /* 48281 */ GIR_RootConstrainSelectedInstOperands,
17887 /* 48282 */ // GIR_Coverage, 19501,
17888 /* 48282 */ GIR_EraseRootFromParent_Done,
17889 /* 48283 */ // Label 1143: @48283
17890 /* 48283 */ GIM_Reject,
17891 /* 48284 */ // Label 1140: @48284
17892 /* 48284 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(48321), // Rule ID 19502 //
17893 /* 48289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17894 /* 48292 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17895 /* 48295 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
17896 /* 48298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17897 /* 48302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17898 /* 48306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17899 /* 48310 */ // (concat_vectors:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KUNPCKDQkk:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src2, VK32:{ *:[v32i1] }:$src1)
17900 /* 48310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKDQkk),
17901 /* 48313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17902 /* 48315 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17903 /* 48317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17904 /* 48319 */ GIR_RootConstrainSelectedInstOperands,
17905 /* 48320 */ // GIR_Coverage, 19502,
17906 /* 48320 */ GIR_EraseRootFromParent_Done,
17907 /* 48321 */ // Label 1144: @48321
17908 /* 48321 */ GIM_Reject,
17909 /* 48322 */ // Label 1141: @48322
17910 /* 48322 */ GIM_Reject,
17911 /* 48323 */ // Label 1137: @48323
17912 /* 48323 */ GIM_Reject,
17913 /* 48324 */ // Label 8: @48324
17914 /* 48324 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(24), /*)*//*default:*//*Label 1153*/ GIMT_Encode4(50959),
17915 /* 48335 */ /*GILLT_s8*//*Label 1145*/ GIMT_Encode4(48427),
17916 /* 48339 */ /*GILLT_s16*//*Label 1146*/ GIMT_Encode4(48488),
17917 /* 48343 */ /*GILLT_s32*//*Label 1147*/ GIMT_Encode4(49318),
17918 /* 48347 */ /*GILLT_s64*//*Label 1148*/ GIMT_Encode4(49744), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17919 /* 48379 */ /*GILLT_v8s1*//*Label 1149*/ GIMT_Encode4(50170), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17920 /* 48395 */ /*GILLT_v16s1*//*Label 1150*/ GIMT_Encode4(50357), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17921 /* 48411 */ /*GILLT_v32s1*//*Label 1151*/ GIMT_Encode4(50544), GIMT_Encode4(0), GIMT_Encode4(0),
17922 /* 48423 */ /*GILLT_v64s1*//*Label 1152*/ GIMT_Encode4(50728),
17923 /* 48427 */ // Label 1145: @48427
17924 /* 48427 */ GIM_Try, /*On fail goto*//*Label 1154*/ GIMT_Encode4(48487), // Rule ID 19431 //
17925 /* 48432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
17926 /* 48435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17927 /* 48439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17928 /* 48443 */ // (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
17929 /* 48443 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17930 /* 48446 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17931 /* 48450 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17932 /* 48455 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17933 /* 48459 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17934 /* 48464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17935 /* 48467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17936 /* 48469 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
17937 /* 48476 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
17938 /* 48481 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17939 /* 48486 */ // GIR_Coverage, 19431,
17940 /* 48486 */ GIR_EraseRootFromParent_Done,
17941 /* 48487 */ // Label 1154: @48487
17942 /* 48487 */ GIM_Reject,
17943 /* 48488 */ // Label 1146: @48488
17944 /* 48488 */ GIM_Try, /*On fail goto*//*Label 1155*/ GIMT_Encode4(48548), // Rule ID 19428 //
17945 /* 48493 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
17946 /* 48496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17947 /* 48500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17948 /* 48504 */ // (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_16bit:{ *:[i32] })
17949 /* 48504 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17950 /* 48507 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17951 /* 48511 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17952 /* 48516 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17953 /* 48520 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17954 /* 48525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17955 /* 48528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17956 /* 48530 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17957 /* 48537 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17958 /* 48542 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17959 /* 48547 */ // GIR_Coverage, 19428,
17960 /* 48547 */ GIR_EraseRootFromParent_Done,
17961 /* 48548 */ // Label 1155: @48548
17962 /* 48548 */ GIM_Try, /*On fail goto*//*Label 1156*/ GIMT_Encode4(48649), // Rule ID 22154 //
17963 /* 48553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17964 /* 48556 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17965 /* 48559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17966 /* 48563 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17967 /* 48567 */ // (bitconvert:{ *:[f16] } GR16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[f16] } (VMOVW2SHrr:{ *:[f128] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] })), FR16X:{ *:[i32] })
17968 /* 48567 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17969 /* 48570 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17970 /* 48574 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17971 /* 48579 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
17972 /* 48581 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17973 /* 48584 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17974 /* 48588 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17975 /* 48593 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
17976 /* 48596 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17977 /* 48600 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/4,
17978 /* 48603 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17979 /* 48608 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17980 /* 48613 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17981 /* 48618 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17982 /* 48621 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVW2SHrr),
17983 /* 48625 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17984 /* 48630 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17985 /* 48633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17986 /* 48635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17987 /* 48638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17988 /* 48640 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17989 /* 48643 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
17990 /* 48648 */ // GIR_Coverage, 22154,
17991 /* 48648 */ GIR_EraseRootFromParent_Done,
17992 /* 48649 */ // Label 1156: @48649
17993 /* 48649 */ GIM_Try, /*On fail goto*//*Label 1157*/ GIMT_Encode4(48729), // Rule ID 22167 //
17994 /* 48654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17995 /* 48657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17996 /* 48660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17997 /* 48664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17998 /* 48668 */ // (bitconvert:{ *:[i16] } FR16X:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VMOVSH2Wrr:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[f128] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] })), sub_16bit:{ *:[i32] })
17999 /* 48668 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s128,
18000 /* 48671 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18001 /* 48675 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18002 /* 48680 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
18003 /* 48684 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
18004 /* 48689 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18005 /* 48692 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSH2Wrr),
18006 /* 48696 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18007 /* 48701 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18008 /* 48704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18009 /* 48706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18010 /* 48709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18011 /* 48711 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
18012 /* 48718 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
18013 /* 48723 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
18014 /* 48728 */ // GIR_Coverage, 22167,
18015 /* 48728 */ GIR_EraseRootFromParent_Done,
18016 /* 48729 */ // Label 1157: @48729
18017 /* 48729 */ GIM_Try, /*On fail goto*//*Label 1158*/ GIMT_Encode4(48808), // Rule ID 18329 //
18018 /* 48734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
18019 /* 48737 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18020 /* 48740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
18021 /* 48744 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
18022 /* 48744 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
18023 /* 48747 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18024 /* 48751 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18025 /* 48756 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
18026 /* 48760 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
18027 /* 48765 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18028 /* 48768 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWrri),
18029 /* 48772 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18030 /* 48777 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18031 /* 48780 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
18032 /* 48783 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18033 /* 48785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18034 /* 48788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18035 /* 48790 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
18036 /* 48797 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
18037 /* 48802 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
18038 /* 48807 */ // GIR_Coverage, 18329,
18039 /* 48807 */ GIR_EraseRootFromParent_Done,
18040 /* 48808 */ // Label 1158: @48808
18041 /* 48808 */ GIM_Try, /*On fail goto*//*Label 1159*/ GIMT_Encode4(48925), // Rule ID 18330 //
18042 /* 48813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
18043 /* 48816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18044 /* 48819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18045 /* 48823 */ // (bitconvert:{ *:[f16] } i16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[f16] } (VPINSRWrri:{ *:[f128] } (IMPLICIT_DEF:{ *:[v8i16] }), (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), 0:{ *:[i8] }), FR16:{ *:[i32] })
18046 /* 48823 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
18047 /* 48826 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18048 /* 48830 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18049 /* 48835 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
18050 /* 48837 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
18051 /* 48840 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
18052 /* 48844 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18053 /* 48849 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
18054 /* 48852 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
18055 /* 48856 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
18056 /* 48859 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18057 /* 48864 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18058 /* 48869 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
18059 /* 48874 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
18060 /* 48877 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18061 /* 48881 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18062 /* 48886 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18063 /* 48888 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
18064 /* 48891 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrri),
18065 /* 48895 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18066 /* 48900 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18067 /* 48903 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
18068 /* 48906 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
18069 /* 48909 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18070 /* 48911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18071 /* 48914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18072 /* 48916 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18073 /* 48919 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
18074 /* 48924 */ // GIR_Coverage, 18330,
18075 /* 48924 */ GIR_EraseRootFromParent_Done,
18076 /* 48925 */ // Label 1159: @48925
18077 /* 48925 */ GIM_Try, /*On fail goto*//*Label 1160*/ GIMT_Encode4(49004), // Rule ID 18326 //
18078 /* 48930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18079 /* 48933 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18080 /* 48936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
18081 /* 48940 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (PEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
18082 /* 48940 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
18083 /* 48943 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18084 /* 48947 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18085 /* 48952 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
18086 /* 48956 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
18087 /* 48961 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18088 /* 48964 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
18089 /* 48968 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18090 /* 48973 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18091 /* 48976 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
18092 /* 48979 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18093 /* 48981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18094 /* 48984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18095 /* 48986 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
18096 /* 48993 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
18097 /* 48998 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
18098 /* 49003 */ // GIR_Coverage, 18326,
18099 /* 49003 */ GIR_EraseRootFromParent_Done,
18100 /* 49004 */ // Label 1160: @49004
18101 /* 49004 */ GIM_Try, /*On fail goto*//*Label 1161*/ GIMT_Encode4(49121), // Rule ID 18327 //
18102 /* 49009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18103 /* 49012 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18104 /* 49015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18105 /* 49019 */ // (bitconvert:{ *:[f16] } i16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[f16] } (PINSRWrri:{ *:[f128] } (IMPLICIT_DEF:{ *:[v8i16] }), (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), 0:{ *:[i8] }), FR16:{ *:[i32] })
18106 /* 49019 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
18107 /* 49022 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18108 /* 49026 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18109 /* 49031 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
18110 /* 49033 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
18111 /* 49036 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
18112 /* 49040 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18113 /* 49045 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
18114 /* 49048 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
18115 /* 49052 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
18116 /* 49055 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18117 /* 49060 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18118 /* 49065 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
18119 /* 49070 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
18120 /* 49073 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18121 /* 49077 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18122 /* 49082 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18123 /* 49084 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
18124 /* 49087 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrri),
18125 /* 49091 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18126 /* 49096 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18127 /* 49099 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
18128 /* 49102 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
18129 /* 49105 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18130 /* 49107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18131 /* 49110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18132 /* 49112 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18133 /* 49115 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
18134 /* 49120 */ // GIR_Coverage, 18327,
18135 /* 49120 */ GIR_EraseRootFromParent_Done,
18136 /* 49121 */ // Label 1161: @49121
18137 /* 49121 */ GIM_Try, /*On fail goto*//*Label 1162*/ GIMT_Encode4(49200), // Rule ID 21849 //
18138 /* 49126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
18139 /* 49129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18140 /* 49132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
18141 /* 49136 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWZrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
18142 /* 49136 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
18143 /* 49139 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18144 /* 49143 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18145 /* 49148 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
18146 /* 49152 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
18147 /* 49157 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18148 /* 49160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZrri),
18149 /* 49164 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18150 /* 49169 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18151 /* 49172 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
18152 /* 49175 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18153 /* 49177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18154 /* 49180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18155 /* 49182 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
18156 /* 49189 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
18157 /* 49194 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
18158 /* 49199 */ // GIR_Coverage, 21849,
18159 /* 49199 */ GIR_EraseRootFromParent_Done,
18160 /* 49200 */ // Label 1162: @49200
18161 /* 49200 */ GIM_Try, /*On fail goto*//*Label 1163*/ GIMT_Encode4(49317), // Rule ID 21850 //
18162 /* 49205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
18163 /* 49208 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18164 /* 49211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
18165 /* 49215 */ // (bitconvert:{ *:[f16] } i16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[f16] } (VPINSRWZrri:{ *:[f128] } (IMPLICIT_DEF:{ *:[v8i16] }), (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), 0:{ *:[i8] }), FR16X:{ *:[i32] })
18166 /* 49215 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
18167 /* 49218 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18168 /* 49222 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18169 /* 49227 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
18170 /* 49229 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
18171 /* 49232 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
18172 /* 49236 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18173 /* 49241 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
18174 /* 49244 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
18175 /* 49248 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
18176 /* 49251 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18177 /* 49256 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18178 /* 49261 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
18179 /* 49266 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
18180 /* 49269 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18181 /* 49273 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18182 /* 49278 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18183 /* 49280 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
18184 /* 49283 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrri),
18185 /* 49287 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18186 /* 49292 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18187 /* 49295 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
18188 /* 49298 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
18189 /* 49301 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18190 /* 49303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18191 /* 49306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18192 /* 49308 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18193 /* 49311 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
18194 /* 49316 */ // GIR_Coverage, 21850,
18195 /* 49316 */ GIR_EraseRootFromParent_Done,
18196 /* 49317 */ // Label 1163: @49317
18197 /* 49317 */ GIM_Reject,
18198 /* 49318 */ // Label 1147: @49318
18199 /* 49318 */ GIM_Try, /*On fail goto*//*Label 1164*/ GIMT_Encode4(49384), // Rule ID 22545 //
18200 /* 49323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18201 /* 49326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18202 /* 49329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18203 /* 49333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18204 /* 49337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18205 /* 49341 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
18206 /* 49344 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18207 /* 49348 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
18208 /* 49355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18209 /* 49359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18210 /* 49361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18211 /* 49368 */ // (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>) => (MOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
18212 /* 49368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
18213 /* 49371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18214 /* 49373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18215 /* 49377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18216 /* 49382 */ GIR_RootConstrainSelectedInstOperands,
18217 /* 49383 */ // GIR_Coverage, 22545,
18218 /* 49383 */ GIR_EraseRootFromParent_Done,
18219 /* 49384 */ // Label 1164: @49384
18220 /* 49384 */ GIM_Try, /*On fail goto*//*Label 1165*/ GIMT_Encode4(49450), // Rule ID 22546 //
18221 /* 49389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18222 /* 49392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18223 /* 49395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18224 /* 49399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18225 /* 49403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18226 /* 49407 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
18227 /* 49410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18228 /* 49414 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
18229 /* 49421 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18230 /* 49425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18231 /* 49427 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18232 /* 49434 */ // (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>) => (VMOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
18233 /* 49434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
18234 /* 49437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18235 /* 49439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18236 /* 49443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18237 /* 49448 */ GIR_RootConstrainSelectedInstOperands,
18238 /* 49449 */ // GIR_Coverage, 22546,
18239 /* 49449 */ GIR_EraseRootFromParent_Done,
18240 /* 49450 */ // Label 1165: @49450
18241 /* 49450 */ GIM_Try, /*On fail goto*//*Label 1166*/ GIMT_Encode4(49516), // Rule ID 22547 //
18242 /* 49455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18243 /* 49458 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18244 /* 49461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18245 /* 49465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18246 /* 49469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18247 /* 49473 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
18248 /* 49476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18249 /* 49480 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
18250 /* 49487 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18251 /* 49491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18252 /* 49493 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18253 /* 49500 */ // (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>) => (VMOVSSZrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
18254 /* 49500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
18255 /* 49503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18256 /* 49505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18257 /* 49509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18258 /* 49514 */ GIR_RootConstrainSelectedInstOperands,
18259 /* 49515 */ // GIR_Coverage, 22547,
18260 /* 49515 */ GIR_EraseRootFromParent_Done,
18261 /* 49516 */ // Label 1166: @49516
18262 /* 49516 */ GIM_Try, /*On fail goto*//*Label 1167*/ GIMT_Encode4(49542), // Rule ID 2914 //
18263 /* 49521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18264 /* 49524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18265 /* 49527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18266 /* 49531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18267 /* 49535 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
18268 /* 49535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSrr),
18269 /* 49540 */ GIR_RootConstrainSelectedInstOperands,
18270 /* 49541 */ // GIR_Coverage, 2914,
18271 /* 49541 */ GIR_Done,
18272 /* 49542 */ // Label 1167: @49542
18273 /* 49542 */ GIM_Try, /*On fail goto*//*Label 1168*/ GIMT_Encode4(49568), // Rule ID 2915 //
18274 /* 49547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18275 /* 49550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18276 /* 49553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18277 /* 49557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18278 /* 49561 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (MOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
18279 /* 49561 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVDI2SSrr),
18280 /* 49566 */ GIR_RootConstrainSelectedInstOperands,
18281 /* 49567 */ // GIR_Coverage, 2915,
18282 /* 49567 */ GIR_Done,
18283 /* 49568 */ // Label 1168: @49568
18284 /* 49568 */ GIM_Try, /*On fail goto*//*Label 1169*/ GIMT_Encode4(49594), // Rule ID 2924 //
18285 /* 49573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18286 /* 49576 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18287 /* 49579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18288 /* 49583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18289 /* 49587 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VMOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
18290 /* 49587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIrr),
18291 /* 49592 */ GIR_RootConstrainSelectedInstOperands,
18292 /* 49593 */ // GIR_Coverage, 2924,
18293 /* 49593 */ GIR_Done,
18294 /* 49594 */ // Label 1169: @49594
18295 /* 49594 */ GIM_Try, /*On fail goto*//*Label 1170*/ GIMT_Encode4(49620), // Rule ID 2925 //
18296 /* 49599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18297 /* 49602 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18298 /* 49605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18299 /* 49609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18300 /* 49613 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (MOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
18301 /* 49613 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSS2DIrr),
18302 /* 49618 */ GIR_RootConstrainSelectedInstOperands,
18303 /* 49619 */ // GIR_Coverage, 2925,
18304 /* 49619 */ GIR_Done,
18305 /* 49620 */ // Label 1170: @49620
18306 /* 49620 */ GIM_Try, /*On fail goto*//*Label 1171*/ GIMT_Encode4(49646), // Rule ID 4601 //
18307 /* 49625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18308 /* 49628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18309 /* 49631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18310 /* 49635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18311 /* 49639 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
18312 /* 49639 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
18313 /* 49644 */ GIR_RootConstrainSelectedInstOperands,
18314 /* 49645 */ // GIR_Coverage, 4601,
18315 /* 49645 */ GIR_Done,
18316 /* 49646 */ // Label 1171: @49646
18317 /* 49646 */ GIM_Try, /*On fail goto*//*Label 1172*/ GIMT_Encode4(49672), // Rule ID 4606 //
18318 /* 49651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18319 /* 49654 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18320 /* 49657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18321 /* 49661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18322 /* 49665 */ // (bitconvert:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
18323 /* 49665 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
18324 /* 49670 */ GIR_RootConstrainSelectedInstOperands,
18325 /* 49671 */ // GIR_Coverage, 4606,
18326 /* 49671 */ GIR_Done,
18327 /* 49672 */ // Label 1172: @49672
18328 /* 49672 */ GIM_Try, /*On fail goto*//*Label 1173*/ GIMT_Encode4(49699), // Rule ID 19439 //
18329 /* 49677 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
18330 /* 49680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18331 /* 49684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
18332 /* 49688 */ // (bitconvert:{ *:[i32] } VK32:{ *:[v32i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } VK32:{ *:[v32i1] }:$src, GR32:{ *:[i32] })
18333 /* 49688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18334 /* 49693 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
18335 /* 49698 */ // GIR_Coverage, 19439,
18336 /* 49698 */ GIR_Done,
18337 /* 49699 */ // Label 1173: @49699
18338 /* 49699 */ GIM_Try, /*On fail goto*//*Label 1174*/ GIMT_Encode4(49743), // Rule ID 19884 //
18339 /* 49704 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
18340 /* 49707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18341 /* 49711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
18342 /* 49715 */ // (bitconvert:{ *:[f32] } VK32:{ *:[v32i1] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } (KMOVDrk:{ *:[i32] } VK32:{ *:[v32i1] }:$src))
18343 /* 49715 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18344 /* 49718 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVDrk),
18345 /* 49722 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18346 /* 49727 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18347 /* 49731 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18348 /* 49733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
18349 /* 49736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18350 /* 49738 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18351 /* 49741 */ GIR_RootConstrainSelectedInstOperands,
18352 /* 49742 */ // GIR_Coverage, 19884,
18353 /* 49742 */ GIR_EraseRootFromParent_Done,
18354 /* 49743 */ // Label 1174: @49743
18355 /* 49743 */ GIM_Reject,
18356 /* 49744 */ // Label 1148: @49744
18357 /* 49744 */ GIM_Try, /*On fail goto*//*Label 1175*/ GIMT_Encode4(49810), // Rule ID 22548 //
18358 /* 49749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18359 /* 49752 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18360 /* 49755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18361 /* 49759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18362 /* 49763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18363 /* 49767 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
18364 /* 49770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18365 /* 49774 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
18366 /* 49781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18367 /* 49785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18368 /* 49787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18369 /* 49794 */ // (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>) => (MOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
18370 /* 49794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
18371 /* 49797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18372 /* 49799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18373 /* 49803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18374 /* 49808 */ GIR_RootConstrainSelectedInstOperands,
18375 /* 49809 */ // GIR_Coverage, 22548,
18376 /* 49809 */ GIR_EraseRootFromParent_Done,
18377 /* 49810 */ // Label 1175: @49810
18378 /* 49810 */ GIM_Try, /*On fail goto*//*Label 1176*/ GIMT_Encode4(49876), // Rule ID 22549 //
18379 /* 49815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18380 /* 49818 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18381 /* 49821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18382 /* 49825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18383 /* 49829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18384 /* 49833 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
18385 /* 49836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18386 /* 49840 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
18387 /* 49847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18388 /* 49851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18389 /* 49853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18390 /* 49860 */ // (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>) => (VMOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
18391 /* 49860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
18392 /* 49863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18393 /* 49865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18394 /* 49869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18395 /* 49874 */ GIR_RootConstrainSelectedInstOperands,
18396 /* 49875 */ // GIR_Coverage, 22549,
18397 /* 49875 */ GIR_EraseRootFromParent_Done,
18398 /* 49876 */ // Label 1176: @49876
18399 /* 49876 */ GIM_Try, /*On fail goto*//*Label 1177*/ GIMT_Encode4(49942), // Rule ID 22550 //
18400 /* 49881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18401 /* 49884 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18402 /* 49887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18403 /* 49891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18404 /* 49895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18405 /* 49899 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
18406 /* 49902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18407 /* 49906 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
18408 /* 49913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18409 /* 49917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18410 /* 49919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18411 /* 49926 */ // (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>) => (VMOVSDZrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
18412 /* 49926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
18413 /* 49929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18414 /* 49931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18415 /* 49935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18416 /* 49940 */ GIR_RootConstrainSelectedInstOperands,
18417 /* 49941 */ // GIR_Coverage, 22550,
18418 /* 49941 */ GIR_EraseRootFromParent_Done,
18419 /* 49942 */ // Label 1177: @49942
18420 /* 49942 */ GIM_Try, /*On fail goto*//*Label 1178*/ GIMT_Encode4(49968), // Rule ID 2909 //
18421 /* 49947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18422 /* 49950 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18423 /* 49953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18424 /* 49957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18425 /* 49961 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
18426 /* 49961 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDrr),
18427 /* 49966 */ GIR_RootConstrainSelectedInstOperands,
18428 /* 49967 */ // GIR_Coverage, 2909,
18429 /* 49967 */ GIR_Done,
18430 /* 49968 */ // Label 1178: @49968
18431 /* 49968 */ GIM_Try, /*On fail goto*//*Label 1179*/ GIMT_Encode4(49994), // Rule ID 2913 //
18432 /* 49973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18433 /* 49976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18434 /* 49979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18435 /* 49983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18436 /* 49987 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (MOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
18437 /* 49987 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOV64toSDrr),
18438 /* 49992 */ GIR_RootConstrainSelectedInstOperands,
18439 /* 49993 */ // GIR_Coverage, 2913,
18440 /* 49993 */ GIR_Done,
18441 /* 49994 */ // Label 1179: @49994
18442 /* 49994 */ GIM_Try, /*On fail goto*//*Label 1180*/ GIMT_Encode4(50020), // Rule ID 2922 //
18443 /* 49999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18444 /* 50002 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18445 /* 50005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18446 /* 50009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18447 /* 50013 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VMOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18448 /* 50013 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64rr),
18449 /* 50018 */ GIR_RootConstrainSelectedInstOperands,
18450 /* 50019 */ // GIR_Coverage, 2922,
18451 /* 50019 */ GIR_Done,
18452 /* 50020 */ // Label 1180: @50020
18453 /* 50020 */ GIM_Try, /*On fail goto*//*Label 1181*/ GIMT_Encode4(50046), // Rule ID 2923 //
18454 /* 50025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18455 /* 50028 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18456 /* 50031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18457 /* 50035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18458 /* 50039 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (MOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18459 /* 50039 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSDto64rr),
18460 /* 50044 */ GIR_RootConstrainSelectedInstOperands,
18461 /* 50045 */ // GIR_Coverage, 2923,
18462 /* 50045 */ GIR_Done,
18463 /* 50046 */ // Label 1181: @50046
18464 /* 50046 */ GIM_Try, /*On fail goto*//*Label 1182*/ GIMT_Encode4(50072), // Rule ID 4599 //
18465 /* 50051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18466 /* 50054 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18467 /* 50057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18468 /* 50061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18469 /* 50065 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDZrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
18470 /* 50065 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
18471 /* 50070 */ GIR_RootConstrainSelectedInstOperands,
18472 /* 50071 */ // GIR_Coverage, 4599,
18473 /* 50071 */ GIR_Done,
18474 /* 50072 */ // Label 1182: @50072
18475 /* 50072 */ GIM_Try, /*On fail goto*//*Label 1183*/ GIMT_Encode4(50098), // Rule ID 4600 //
18476 /* 50077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18477 /* 50080 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18478 /* 50083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18479 /* 50087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18480 /* 50091 */ // (bitconvert:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
18481 /* 50091 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
18482 /* 50096 */ GIR_RootConstrainSelectedInstOperands,
18483 /* 50097 */ // GIR_Coverage, 4600,
18484 /* 50097 */ GIR_Done,
18485 /* 50098 */ // Label 1183: @50098
18486 /* 50098 */ GIM_Try, /*On fail goto*//*Label 1184*/ GIMT_Encode4(50125), // Rule ID 19441 //
18487 /* 50103 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
18488 /* 50106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18489 /* 50110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
18490 /* 50114 */ // (bitconvert:{ *:[i64] } VK64:{ *:[v64i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i64] } VK64:{ *:[v64i1] }:$src, GR64:{ *:[i32] })
18491 /* 50114 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18492 /* 50119 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
18493 /* 50124 */ // GIR_Coverage, 19441,
18494 /* 50124 */ GIR_Done,
18495 /* 50125 */ // Label 1184: @50125
18496 /* 50125 */ GIM_Try, /*On fail goto*//*Label 1185*/ GIMT_Encode4(50169), // Rule ID 19886 //
18497 /* 50130 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
18498 /* 50133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18499 /* 50137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
18500 /* 50141 */ // (bitconvert:{ *:[f64] } VK64:{ *:[v64i1] }:$src) => (VMOV64toSDZrr:{ *:[f64] } (KMOVQrk:{ *:[i64] } VK64:{ *:[v64i1] }:$src))
18501 /* 50141 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
18502 /* 50144 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVQrk),
18503 /* 50148 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18504 /* 50153 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18505 /* 50157 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18506 /* 50159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
18507 /* 50162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18508 /* 50164 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18509 /* 50167 */ GIR_RootConstrainSelectedInstOperands,
18510 /* 50168 */ // GIR_Coverage, 19886,
18511 /* 50168 */ GIR_EraseRootFromParent_Done,
18512 /* 50169 */ // Label 1185: @50169
18513 /* 50169 */ GIM_Reject,
18514 /* 50170 */ // Label 1149: @50170
18515 /* 50170 */ GIM_Try, /*On fail goto*//*Label 1186*/ GIMT_Encode4(50356),
18516 /* 50175 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
18517 /* 50178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
18518 /* 50182 */ GIM_Try, /*On fail goto*//*Label 1187*/ GIMT_Encode4(50255), // Rule ID 19445 //
18519 /* 50187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18520 /* 50190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18521 /* 50194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18522 /* 50198 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18523 /* 50201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18524 /* 50205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18525 /* 50209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18526 /* 50211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18527 /* 50218 */ // (bitconvert:{ *:[v8i1] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (COPY_TO_REGCLASS:{ *:[v8i1] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), VK8:{ *:[i32] })
18528 /* 50218 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18529 /* 50221 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
18530 /* 50225 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18531 /* 50230 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
18532 /* 50234 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18533 /* 50239 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18534 /* 50241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18535 /* 50244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18536 /* 50246 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18537 /* 50249 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
18538 /* 50254 */ // GIR_Coverage, 19445,
18539 /* 50254 */ GIR_EraseRootFromParent_Done,
18540 /* 50255 */ // Label 1187: @50255
18541 /* 50255 */ GIM_Try, /*On fail goto*//*Label 1188*/ GIMT_Encode4(50281), // Rule ID 19601 //
18542 /* 50260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
18543 /* 50263 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
18544 /* 50274 */ // (bitconvert:{ *:[v8i1] } 255:{ *:[i8] }) => (KSET1B:{ *:[v8i1] })
18545 /* 50274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1B),
18546 /* 50277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18547 /* 50279 */ GIR_RootConstrainSelectedInstOperands,
18548 /* 50280 */ // GIR_Coverage, 19601,
18549 /* 50280 */ GIR_EraseRootFromParent_Done,
18550 /* 50281 */ // Label 1188: @50281
18551 /* 50281 */ GIM_Try, /*On fail goto*//*Label 1189*/ GIMT_Encode4(50355), // Rule ID 19430 //
18552 /* 50286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
18553 /* 50290 */ // (bitconvert:{ *:[v8i1] } GR8:{ *:[i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] }), VK8:{ *:[i32] })
18554 /* 50290 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18555 /* 50293 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18556 /* 50297 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18557 /* 50302 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18558 /* 50304 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18559 /* 50307 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
18560 /* 50311 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18561 /* 50316 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18562 /* 50319 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18563 /* 50323 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
18564 /* 50326 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
18565 /* 50331 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
18566 /* 50336 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
18567 /* 50341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18568 /* 50344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18569 /* 50346 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18570 /* 50349 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
18571 /* 50354 */ // GIR_Coverage, 19430,
18572 /* 50354 */ GIR_EraseRootFromParent_Done,
18573 /* 50355 */ // Label 1189: @50355
18574 /* 50355 */ GIM_Reject,
18575 /* 50356 */ // Label 1186: @50356
18576 /* 50356 */ GIM_Reject,
18577 /* 50357 */ // Label 1150: @50357
18578 /* 50357 */ GIM_Try, /*On fail goto*//*Label 1190*/ GIMT_Encode4(50543),
18579 /* 50362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18580 /* 50365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
18581 /* 50369 */ GIM_Try, /*On fail goto*//*Label 1191*/ GIMT_Encode4(50421), // Rule ID 19446 //
18582 /* 50374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18583 /* 50377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18584 /* 50381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18585 /* 50385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18586 /* 50388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18587 /* 50392 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
18588 /* 50396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18589 /* 50398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18590 /* 50405 */ // (bitconvert:{ *:[v16i1] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
18591 /* 50405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
18592 /* 50408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18593 /* 50410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18594 /* 50414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18595 /* 50419 */ GIR_RootConstrainSelectedInstOperands,
18596 /* 50420 */ // GIR_Coverage, 19446,
18597 /* 50420 */ GIR_EraseRootFromParent_Done,
18598 /* 50421 */ // Label 1191: @50421
18599 /* 50421 */ GIM_Try, /*On fail goto*//*Label 1192*/ GIMT_Encode4(50468), // Rule ID 19602 //
18600 /* 50426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
18601 /* 50429 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
18602 /* 50440 */ // (bitconvert:{ *:[v16i1] } 255:{ *:[i16] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } (KSET1B:{ *:[v8i1] }), VK16:{ *:[i32] })
18603 /* 50440 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
18604 /* 50443 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
18605 /* 50447 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18606 /* 50452 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18607 /* 50454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18608 /* 50457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18609 /* 50459 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18610 /* 50462 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
18611 /* 50467 */ // GIR_Coverage, 19602,
18612 /* 50467 */ GIR_EraseRootFromParent_Done,
18613 /* 50468 */ // Label 1192: @50468
18614 /* 50468 */ GIM_Try, /*On fail goto*//*Label 1193*/ GIMT_Encode4(50542), // Rule ID 19427 //
18615 /* 50473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
18616 /* 50477 */ // (bitconvert:{ *:[v16i1] } GR16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), VK16:{ *:[i32] })
18617 /* 50477 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
18618 /* 50480 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
18619 /* 50484 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18620 /* 50489 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
18621 /* 50491 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18622 /* 50494 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
18623 /* 50498 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18624 /* 50503 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
18625 /* 50506 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18626 /* 50510 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/4,
18627 /* 50513 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18628 /* 50518 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
18629 /* 50523 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
18630 /* 50528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18631 /* 50531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18632 /* 50533 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18633 /* 50536 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
18634 /* 50541 */ // GIR_Coverage, 19427,
18635 /* 50541 */ GIR_EraseRootFromParent_Done,
18636 /* 50542 */ // Label 1193: @50542
18637 /* 50542 */ GIM_Reject,
18638 /* 50543 */ // Label 1190: @50543
18639 /* 50543 */ GIM_Reject,
18640 /* 50544 */ // Label 1151: @50544
18641 /* 50544 */ GIM_Try, /*On fail goto*//*Label 1194*/ GIMT_Encode4(50727),
18642 /* 50549 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18643 /* 50552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
18644 /* 50556 */ GIM_Try, /*On fail goto*//*Label 1195*/ GIMT_Encode4(50575), // Rule ID 19603 //
18645 /* 50561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
18646 /* 50564 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
18647 /* 50568 */ // (bitconvert:{ *:[v32i1] } -1:{ *:[i32] }) => (KSET1D:{ *:[v32i1] })
18648 /* 50568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1D),
18649 /* 50571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18650 /* 50573 */ GIR_RootConstrainSelectedInstOperands,
18651 /* 50574 */ // GIR_Coverage, 19603,
18652 /* 50574 */ GIR_EraseRootFromParent_Done,
18653 /* 50575 */ // Label 1195: @50575
18654 /* 50575 */ GIM_Try, /*On fail goto*//*Label 1196*/ GIMT_Encode4(50622), // Rule ID 19605 //
18655 /* 50580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
18656 /* 50583 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
18657 /* 50594 */ // (bitconvert:{ *:[v32i1] } 255:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1B:{ *:[v8i1] }), VK32:{ *:[i32] })
18658 /* 50594 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
18659 /* 50597 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
18660 /* 50601 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18661 /* 50606 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18662 /* 50608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18663 /* 50611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18664 /* 50613 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18665 /* 50616 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
18666 /* 50621 */ // GIR_Coverage, 19605,
18667 /* 50621 */ GIR_EraseRootFromParent_Done,
18668 /* 50622 */ // Label 1196: @50622
18669 /* 50622 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(50669), // Rule ID 19606 //
18670 /* 50627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
18671 /* 50630 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
18672 /* 50641 */ // (bitconvert:{ *:[v32i1] } 65535:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1W:{ *:[v16i1] }), VK32:{ *:[i32] })
18673 /* 50641 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
18674 /* 50644 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
18675 /* 50648 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18676 /* 50653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18677 /* 50655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18678 /* 50658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18679 /* 50660 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18680 /* 50663 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
18681 /* 50668 */ // GIR_Coverage, 19606,
18682 /* 50668 */ GIR_EraseRootFromParent_Done,
18683 /* 50669 */ // Label 1197: @50669
18684 /* 50669 */ GIM_Try, /*On fail goto*//*Label 1198*/ GIMT_Encode4(50689), // Rule ID 19438 //
18685 /* 50674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18686 /* 50678 */ // (bitconvert:{ *:[v32i1] } GR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v32i1] } GR32:{ *:[i32] }:$src, VK32:{ *:[i32] })
18687 /* 50678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18688 /* 50683 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
18689 /* 50688 */ // GIR_Coverage, 19438,
18690 /* 50688 */ GIR_Done,
18691 /* 50689 */ // Label 1198: @50689
18692 /* 50689 */ GIM_Try, /*On fail goto*//*Label 1199*/ GIMT_Encode4(50726), // Rule ID 19883 //
18693 /* 50694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18694 /* 50698 */ // (bitconvert:{ *:[v32i1] } FR32X:{ *:[f32] }:$src) => (KMOVDkr:{ *:[v32i1] } (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src))
18695 /* 50698 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18696 /* 50701 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
18697 /* 50705 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18698 /* 50710 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18699 /* 50714 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18700 /* 50716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkr),
18701 /* 50719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18702 /* 50721 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18703 /* 50724 */ GIR_RootConstrainSelectedInstOperands,
18704 /* 50725 */ // GIR_Coverage, 19883,
18705 /* 50725 */ GIR_EraseRootFromParent_Done,
18706 /* 50726 */ // Label 1199: @50726
18707 /* 50726 */ GIM_Reject,
18708 /* 50727 */ // Label 1194: @50727
18709 /* 50727 */ GIM_Reject,
18710 /* 50728 */ // Label 1152: @50728
18711 /* 50728 */ GIM_Try, /*On fail goto*//*Label 1200*/ GIMT_Encode4(50958),
18712 /* 50733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18713 /* 50736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
18714 /* 50740 */ GIM_Try, /*On fail goto*//*Label 1201*/ GIMT_Encode4(50759), // Rule ID 19604 //
18715 /* 50745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
18716 /* 50748 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
18717 /* 50752 */ // (bitconvert:{ *:[v64i1] } -1:{ *:[i64] }) => (KSET1Q:{ *:[v64i1] })
18718 /* 50752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1Q),
18719 /* 50755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18720 /* 50757 */ GIR_RootConstrainSelectedInstOperands,
18721 /* 50758 */ // GIR_Coverage, 19604,
18722 /* 50758 */ GIR_EraseRootFromParent_Done,
18723 /* 50759 */ // Label 1201: @50759
18724 /* 50759 */ GIM_Try, /*On fail goto*//*Label 1202*/ GIMT_Encode4(50806), // Rule ID 19607 //
18725 /* 50764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
18726 /* 50767 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
18727 /* 50778 */ // (bitconvert:{ *:[v64i1] } 255:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1B:{ *:[v8i1] }), VK64:{ *:[i32] })
18728 /* 50778 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
18729 /* 50781 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
18730 /* 50785 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18731 /* 50790 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18732 /* 50792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18733 /* 50795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18734 /* 50797 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18735 /* 50800 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
18736 /* 50805 */ // GIR_Coverage, 19607,
18737 /* 50805 */ GIR_EraseRootFromParent_Done,
18738 /* 50806 */ // Label 1202: @50806
18739 /* 50806 */ GIM_Try, /*On fail goto*//*Label 1203*/ GIMT_Encode4(50853), // Rule ID 19608 //
18740 /* 50811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
18741 /* 50814 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
18742 /* 50825 */ // (bitconvert:{ *:[v64i1] } 65535:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1W:{ *:[v16i1] }), VK64:{ *:[i32] })
18743 /* 50825 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
18744 /* 50828 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
18745 /* 50832 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18746 /* 50837 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18747 /* 50839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18748 /* 50842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18749 /* 50844 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18750 /* 50847 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
18751 /* 50852 */ // GIR_Coverage, 19608,
18752 /* 50852 */ GIR_EraseRootFromParent_Done,
18753 /* 50853 */ // Label 1203: @50853
18754 /* 50853 */ GIM_Try, /*On fail goto*//*Label 1204*/ GIMT_Encode4(50900), // Rule ID 19609 //
18755 /* 50858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
18756 /* 50861 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(4294967295),
18757 /* 50872 */ // (bitconvert:{ *:[v64i1] } 4294967295:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1D:{ *:[v32i1] }), VK64:{ *:[i32] })
18758 /* 50872 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
18759 /* 50875 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1D),
18760 /* 50879 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18761 /* 50884 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18762 /* 50886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18763 /* 50889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18764 /* 50891 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18765 /* 50894 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
18766 /* 50899 */ // GIR_Coverage, 19609,
18767 /* 50899 */ GIR_EraseRootFromParent_Done,
18768 /* 50900 */ // Label 1204: @50900
18769 /* 50900 */ GIM_Try, /*On fail goto*//*Label 1205*/ GIMT_Encode4(50920), // Rule ID 19440 //
18770 /* 50905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18771 /* 50909 */ // (bitconvert:{ *:[v64i1] } GR64:{ *:[i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v64i1] } GR64:{ *:[i64] }:$src, VK64:{ *:[i32] })
18772 /* 50909 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18773 /* 50914 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
18774 /* 50919 */ // GIR_Coverage, 19440,
18775 /* 50919 */ GIR_Done,
18776 /* 50920 */ // Label 1205: @50920
18777 /* 50920 */ GIM_Try, /*On fail goto*//*Label 1206*/ GIMT_Encode4(50957), // Rule ID 19885 //
18778 /* 50925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18779 /* 50929 */ // (bitconvert:{ *:[v64i1] } FR64X:{ *:[f64] }:$src) => (KMOVQkr:{ *:[v64i1] } (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src))
18780 /* 50929 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
18781 /* 50932 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
18782 /* 50936 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18783 /* 50941 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18784 /* 50945 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18785 /* 50947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkr),
18786 /* 50950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18787 /* 50952 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18788 /* 50955 */ GIR_RootConstrainSelectedInstOperands,
18789 /* 50956 */ // GIR_Coverage, 19885,
18790 /* 50956 */ GIR_EraseRootFromParent_Done,
18791 /* 50957 */ // Label 1206: @50957
18792 /* 50957 */ GIM_Reject,
18793 /* 50958 */ // Label 1200: @50958
18794 /* 50958 */ GIM_Reject,
18795 /* 50959 */ // Label 1153: @50959
18796 /* 50959 */ GIM_Reject,
18797 /* 50960 */ // Label 9: @50960
18798 /* 50960 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 1219*/ GIMT_Encode4(54137),
18799 /* 50971 */ /*GILLT_s16*//*Label 1207*/ GIMT_Encode4(51055),
18800 /* 50975 */ /*GILLT_s32*//*Label 1208*/ GIMT_Encode4(51116),
18801 /* 50979 */ /*GILLT_s64*//*Label 1209*/ GIMT_Encode4(51740), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18802 /* 50995 */ /*GILLT_v2s64*//*Label 1210*/ GIMT_Encode4(52364), GIMT_Encode4(0),
18803 /* 51003 */ /*GILLT_v4s32*//*Label 1211*/ GIMT_Encode4(52453),
18804 /* 51007 */ /*GILLT_v4s64*//*Label 1212*/ GIMT_Encode4(52899), GIMT_Encode4(0),
18805 /* 51015 */ /*GILLT_v8s16*//*Label 1213*/ GIMT_Encode4(53078),
18806 /* 51019 */ /*GILLT_v8s32*//*Label 1214*/ GIMT_Encode4(53167),
18807 /* 51023 */ /*GILLT_v8s64*//*Label 1215*/ GIMT_Encode4(53518), GIMT_Encode4(0), GIMT_Encode4(0),
18808 /* 51035 */ /*GILLT_v16s16*//*Label 1216*/ GIMT_Encode4(53786),
18809 /* 51039 */ /*GILLT_v16s32*//*Label 1217*/ GIMT_Encode4(53875), GIMT_Encode4(0), GIMT_Encode4(0),
18810 /* 51051 */ /*GILLT_v32s16*//*Label 1218*/ GIMT_Encode4(54048),
18811 /* 51055 */ // Label 1207: @51055
18812 /* 51055 */ GIM_Try, /*On fail goto*//*Label 1220*/ GIMT_Encode4(51115), // Rule ID 22183 //
18813 /* 51060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18814 /* 51063 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18815 /* 51066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
18816 /* 51070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18817 /* 51074 */ // (lrint:{ *:[i16] } FR16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src), sub_16bit:{ *:[i32] })
18818 /* 51074 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18819 /* 51077 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
18820 /* 51081 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18821 /* 51086 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18822 /* 51090 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18823 /* 51092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18824 /* 51095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18825 /* 51097 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
18826 /* 51104 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
18827 /* 51109 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
18828 /* 51114 */ // GIR_Coverage, 22183,
18829 /* 51114 */ GIR_EraseRootFromParent_Done,
18830 /* 51115 */ // Label 1220: @51115
18831 /* 51115 */ GIM_Reject,
18832 /* 51116 */ // Label 1208: @51116
18833 /* 51116 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(51175), // Rule ID 1755 //
18834 /* 51121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18835 /* 51124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18836 /* 51127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18837 /* 51131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18838 /* 51135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18839 /* 51139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18840 /* 51142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18841 /* 51146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18842 /* 51150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18843 /* 51152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18844 /* 51159 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18845 /* 51159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrm),
18846 /* 51162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18847 /* 51164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18848 /* 51168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18849 /* 51173 */ GIR_RootConstrainSelectedInstOperands,
18850 /* 51174 */ // GIR_Coverage, 1755,
18851 /* 51174 */ GIR_EraseRootFromParent_Done,
18852 /* 51175 */ // Label 1221: @51175
18853 /* 51175 */ GIM_Try, /*On fail goto*//*Label 1222*/ GIMT_Encode4(51234), // Rule ID 1759 //
18854 /* 51180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18855 /* 51183 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18856 /* 51186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18857 /* 51190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18858 /* 51194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18859 /* 51198 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18860 /* 51201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18861 /* 51205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18862 /* 51209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18863 /* 51211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18864 /* 51218 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18865 /* 51218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrm),
18866 /* 51221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18867 /* 51223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18868 /* 51227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18869 /* 51232 */ GIR_RootConstrainSelectedInstOperands,
18870 /* 51233 */ // GIR_Coverage, 1759,
18871 /* 51233 */ GIR_EraseRootFromParent_Done,
18872 /* 51234 */ // Label 1222: @51234
18873 /* 51234 */ GIM_Try, /*On fail goto*//*Label 1223*/ GIMT_Encode4(51293), // Rule ID 1779 //
18874 /* 51239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18875 /* 51242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18876 /* 51245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18877 /* 51249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18878 /* 51253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18879 /* 51257 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18880 /* 51260 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18881 /* 51264 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18882 /* 51268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18883 /* 51270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18884 /* 51277 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18885 /* 51277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrm),
18886 /* 51280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18887 /* 51282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18888 /* 51286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18889 /* 51291 */ GIR_RootConstrainSelectedInstOperands,
18890 /* 51292 */ // GIR_Coverage, 1779,
18891 /* 51292 */ GIR_EraseRootFromParent_Done,
18892 /* 51293 */ // Label 1223: @51293
18893 /* 51293 */ GIM_Try, /*On fail goto*//*Label 1224*/ GIMT_Encode4(51352), // Rule ID 1783 //
18894 /* 51298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18895 /* 51301 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18896 /* 51304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18897 /* 51308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18898 /* 51312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18899 /* 51316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18900 /* 51319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18901 /* 51323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18902 /* 51327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18903 /* 51329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18904 /* 51336 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18905 /* 51336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrm),
18906 /* 51339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18907 /* 51341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18908 /* 51345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18909 /* 51350 */ GIR_RootConstrainSelectedInstOperands,
18910 /* 51351 */ // GIR_Coverage, 1783,
18911 /* 51351 */ GIR_EraseRootFromParent_Done,
18912 /* 51352 */ // Label 1224: @51352
18913 /* 51352 */ GIM_Try, /*On fail goto*//*Label 1225*/ GIMT_Encode4(51411), // Rule ID 10356 //
18914 /* 51357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18915 /* 51360 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18916 /* 51363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18917 /* 51367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18918 /* 51371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18919 /* 51375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18920 /* 51378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18921 /* 51382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18922 /* 51386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18923 /* 51388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18924 /* 51395 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18925 /* 51395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrm),
18926 /* 51398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18927 /* 51400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18928 /* 51404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18929 /* 51409 */ GIR_RootConstrainSelectedInstOperands,
18930 /* 51410 */ // GIR_Coverage, 10356,
18931 /* 51410 */ GIR_EraseRootFromParent_Done,
18932 /* 51411 */ // Label 1225: @51411
18933 /* 51411 */ GIM_Try, /*On fail goto*//*Label 1226*/ GIMT_Encode4(51470), // Rule ID 10360 //
18934 /* 51416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18935 /* 51419 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18936 /* 51422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18937 /* 51426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18938 /* 51430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18939 /* 51434 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18940 /* 51437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18941 /* 51441 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18942 /* 51445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18943 /* 51447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18944 /* 51454 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18945 /* 51454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrm),
18946 /* 51457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18947 /* 51459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18948 /* 51463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18949 /* 51468 */ GIR_RootConstrainSelectedInstOperands,
18950 /* 51469 */ // GIR_Coverage, 10360,
18951 /* 51469 */ GIR_EraseRootFromParent_Done,
18952 /* 51470 */ // Label 1226: @51470
18953 /* 51470 */ GIM_Try, /*On fail goto*//*Label 1227*/ GIMT_Encode4(51529), // Rule ID 22185 //
18954 /* 51475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18955 /* 51478 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18956 /* 51481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18957 /* 51485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18958 /* 51489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18959 /* 51493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18960 /* 51496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18961 /* 51500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18962 /* 51504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18963 /* 51506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18964 /* 51513 */ // (lrint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18965 /* 51513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
18966 /* 51516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18967 /* 51518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18968 /* 51522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18969 /* 51527 */ GIR_RootConstrainSelectedInstOperands,
18970 /* 51528 */ // GIR_Coverage, 22185,
18971 /* 51528 */ GIR_EraseRootFromParent_Done,
18972 /* 51529 */ // Label 1227: @51529
18973 /* 51529 */ GIM_Try, /*On fail goto*//*Label 1228*/ GIMT_Encode4(51559), // Rule ID 1754 //
18974 /* 51534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18975 /* 51537 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18976 /* 51540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18977 /* 51544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18978 /* 51548 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
18979 /* 51548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrr),
18980 /* 51553 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18981 /* 51557 */ GIR_RootConstrainSelectedInstOperands,
18982 /* 51558 */ // GIR_Coverage, 1754,
18983 /* 51558 */ GIR_Done,
18984 /* 51559 */ // Label 1228: @51559
18985 /* 51559 */ GIM_Try, /*On fail goto*//*Label 1229*/ GIMT_Encode4(51589), // Rule ID 1758 //
18986 /* 51564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18987 /* 51567 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18988 /* 51570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18989 /* 51574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18990 /* 51578 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
18991 /* 51578 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrr),
18992 /* 51583 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18993 /* 51587 */ GIR_RootConstrainSelectedInstOperands,
18994 /* 51588 */ // GIR_Coverage, 1758,
18995 /* 51588 */ GIR_Done,
18996 /* 51589 */ // Label 1229: @51589
18997 /* 51589 */ GIM_Try, /*On fail goto*//*Label 1230*/ GIMT_Encode4(51619), // Rule ID 1778 //
18998 /* 51594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18999 /* 51597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19000 /* 51600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19001 /* 51604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19002 /* 51608 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
19003 /* 51608 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrr),
19004 /* 51613 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19005 /* 51617 */ GIR_RootConstrainSelectedInstOperands,
19006 /* 51618 */ // GIR_Coverage, 1778,
19007 /* 51618 */ GIR_Done,
19008 /* 51619 */ // Label 1230: @51619
19009 /* 51619 */ GIM_Try, /*On fail goto*//*Label 1231*/ GIMT_Encode4(51649), // Rule ID 1782 //
19010 /* 51624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19011 /* 51627 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19012 /* 51630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19013 /* 51634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19014 /* 51638 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
19015 /* 51638 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrr),
19016 /* 51643 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19017 /* 51647 */ GIR_RootConstrainSelectedInstOperands,
19018 /* 51648 */ // GIR_Coverage, 1782,
19019 /* 51648 */ GIR_Done,
19020 /* 51649 */ // Label 1231: @51649
19021 /* 51649 */ GIM_Try, /*On fail goto*//*Label 1232*/ GIMT_Encode4(51679), // Rule ID 10355 //
19022 /* 51654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19023 /* 51657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19024 /* 51660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19025 /* 51664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19026 /* 51668 */ // (lrint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
19027 /* 51668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrr),
19028 /* 51673 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19029 /* 51677 */ GIR_RootConstrainSelectedInstOperands,
19030 /* 51678 */ // GIR_Coverage, 10355,
19031 /* 51678 */ GIR_Done,
19032 /* 51679 */ // Label 1232: @51679
19033 /* 51679 */ GIM_Try, /*On fail goto*//*Label 1233*/ GIMT_Encode4(51709), // Rule ID 10359 //
19034 /* 51684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19035 /* 51687 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19036 /* 51690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19037 /* 51694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
19038 /* 51698 */ // (lrint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
19039 /* 51698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrr),
19040 /* 51703 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19041 /* 51707 */ GIR_RootConstrainSelectedInstOperands,
19042 /* 51708 */ // GIR_Coverage, 10359,
19043 /* 51708 */ GIR_Done,
19044 /* 51709 */ // Label 1233: @51709
19045 /* 51709 */ GIM_Try, /*On fail goto*//*Label 1234*/ GIMT_Encode4(51739), // Rule ID 22184 //
19046 /* 51714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19047 /* 51717 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19048 /* 51720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19049 /* 51724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19050 /* 51728 */ // (lrint:{ *:[i32] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src)
19051 /* 51728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
19052 /* 51733 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19053 /* 51737 */ GIR_RootConstrainSelectedInstOperands,
19054 /* 51738 */ // GIR_Coverage, 22184,
19055 /* 51738 */ GIR_Done,
19056 /* 51739 */ // Label 1234: @51739
19057 /* 51739 */ GIM_Reject,
19058 /* 51740 */ // Label 1209: @51740
19059 /* 51740 */ GIM_Try, /*On fail goto*//*Label 1235*/ GIMT_Encode4(51799), // Rule ID 17979 //
19060 /* 51745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19061 /* 51748 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19062 /* 51751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19063 /* 51755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19064 /* 51759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19065 /* 51763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19066 /* 51766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19067 /* 51770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19068 /* 51774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19069 /* 51776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19070 /* 51783 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19071 /* 51783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
19072 /* 51786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19073 /* 51788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19074 /* 51792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19075 /* 51797 */ GIR_RootConstrainSelectedInstOperands,
19076 /* 51798 */ // GIR_Coverage, 17979,
19077 /* 51798 */ GIR_EraseRootFromParent_Done,
19078 /* 51799 */ // Label 1235: @51799
19079 /* 51799 */ GIM_Try, /*On fail goto*//*Label 1236*/ GIMT_Encode4(51858), // Rule ID 17981 //
19080 /* 51804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19081 /* 51807 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19082 /* 51810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19083 /* 51814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19084 /* 51818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19085 /* 51822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19086 /* 51825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19087 /* 51829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19088 /* 51833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19089 /* 51835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19090 /* 51842 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19091 /* 51842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
19092 /* 51845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19093 /* 51847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19094 /* 51851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19095 /* 51856 */ GIR_RootConstrainSelectedInstOperands,
19096 /* 51857 */ // GIR_Coverage, 17981,
19097 /* 51857 */ GIR_EraseRootFromParent_Done,
19098 /* 51858 */ // Label 1236: @51858
19099 /* 51858 */ GIM_Try, /*On fail goto*//*Label 1237*/ GIMT_Encode4(51917), // Rule ID 17983 //
19100 /* 51863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19101 /* 51866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19102 /* 51869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19103 /* 51873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19104 /* 51877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19105 /* 51881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19106 /* 51884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19107 /* 51888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19108 /* 51892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19109 /* 51894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19110 /* 51901 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19111 /* 51901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
19112 /* 51904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19113 /* 51906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19114 /* 51910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19115 /* 51915 */ GIR_RootConstrainSelectedInstOperands,
19116 /* 51916 */ // GIR_Coverage, 17983,
19117 /* 51916 */ GIR_EraseRootFromParent_Done,
19118 /* 51917 */ // Label 1237: @51917
19119 /* 51917 */ GIM_Try, /*On fail goto*//*Label 1238*/ GIMT_Encode4(51976), // Rule ID 17985 //
19120 /* 51922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19121 /* 51925 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19122 /* 51928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19123 /* 51932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19124 /* 51936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19125 /* 51940 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19126 /* 51943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19127 /* 51947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19128 /* 51951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19129 /* 51953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19130 /* 51960 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19131 /* 51960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
19132 /* 51963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19133 /* 51965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19134 /* 51969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19135 /* 51974 */ GIR_RootConstrainSelectedInstOperands,
19136 /* 51975 */ // GIR_Coverage, 17985,
19137 /* 51975 */ GIR_EraseRootFromParent_Done,
19138 /* 51976 */ // Label 1238: @51976
19139 /* 51976 */ GIM_Try, /*On fail goto*//*Label 1239*/ GIMT_Encode4(52035), // Rule ID 21168 //
19140 /* 51981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19141 /* 51984 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19142 /* 51987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19143 /* 51991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19144 /* 51995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19145 /* 51999 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19146 /* 52002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19147 /* 52006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19148 /* 52010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19149 /* 52012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19150 /* 52019 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19151 /* 52019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
19152 /* 52022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19153 /* 52024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19154 /* 52028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19155 /* 52033 */ GIR_RootConstrainSelectedInstOperands,
19156 /* 52034 */ // GIR_Coverage, 21168,
19157 /* 52034 */ GIR_EraseRootFromParent_Done,
19158 /* 52035 */ // Label 1239: @52035
19159 /* 52035 */ GIM_Try, /*On fail goto*//*Label 1240*/ GIMT_Encode4(52094), // Rule ID 21170 //
19160 /* 52040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19161 /* 52043 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19162 /* 52046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19163 /* 52050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19164 /* 52054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19165 /* 52058 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19166 /* 52061 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19167 /* 52065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19168 /* 52069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19169 /* 52071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19170 /* 52078 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19171 /* 52078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
19172 /* 52081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19173 /* 52083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19174 /* 52087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19175 /* 52092 */ GIR_RootConstrainSelectedInstOperands,
19176 /* 52093 */ // GIR_Coverage, 21170,
19177 /* 52093 */ GIR_EraseRootFromParent_Done,
19178 /* 52094 */ // Label 1240: @52094
19179 /* 52094 */ GIM_Try, /*On fail goto*//*Label 1241*/ GIMT_Encode4(52153), // Rule ID 22187 //
19180 /* 52099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19181 /* 52102 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19182 /* 52105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19183 /* 52109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19184 /* 52113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19185 /* 52117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19186 /* 52120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19187 /* 52124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19188 /* 52128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19189 /* 52130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19190 /* 52137 */ // (lrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19191 /* 52137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
19192 /* 52140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19193 /* 52142 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19194 /* 52146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19195 /* 52151 */ GIR_RootConstrainSelectedInstOperands,
19196 /* 52152 */ // GIR_Coverage, 22187,
19197 /* 52152 */ GIR_EraseRootFromParent_Done,
19198 /* 52153 */ // Label 1241: @52153
19199 /* 52153 */ GIM_Try, /*On fail goto*//*Label 1242*/ GIMT_Encode4(52183), // Rule ID 17978 //
19200 /* 52158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19201 /* 52161 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19202 /* 52164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19203 /* 52168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19204 /* 52172 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19205 /* 52172 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
19206 /* 52177 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19207 /* 52181 */ GIR_RootConstrainSelectedInstOperands,
19208 /* 52182 */ // GIR_Coverage, 17978,
19209 /* 52182 */ GIR_Done,
19210 /* 52183 */ // Label 1242: @52183
19211 /* 52183 */ GIM_Try, /*On fail goto*//*Label 1243*/ GIMT_Encode4(52213), // Rule ID 17980 //
19212 /* 52188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19213 /* 52191 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19214 /* 52194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19215 /* 52198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19216 /* 52202 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19217 /* 52202 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
19218 /* 52207 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19219 /* 52211 */ GIR_RootConstrainSelectedInstOperands,
19220 /* 52212 */ // GIR_Coverage, 17980,
19221 /* 52212 */ GIR_Done,
19222 /* 52213 */ // Label 1243: @52213
19223 /* 52213 */ GIM_Try, /*On fail goto*//*Label 1244*/ GIMT_Encode4(52243), // Rule ID 17982 //
19224 /* 52218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19225 /* 52221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19226 /* 52224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19227 /* 52228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19228 /* 52232 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19229 /* 52232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
19230 /* 52237 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19231 /* 52241 */ GIR_RootConstrainSelectedInstOperands,
19232 /* 52242 */ // GIR_Coverage, 17982,
19233 /* 52242 */ GIR_Done,
19234 /* 52243 */ // Label 1244: @52243
19235 /* 52243 */ GIM_Try, /*On fail goto*//*Label 1245*/ GIMT_Encode4(52273), // Rule ID 17984 //
19236 /* 52248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19237 /* 52251 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19238 /* 52254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19239 /* 52258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19240 /* 52262 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19241 /* 52262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
19242 /* 52267 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19243 /* 52271 */ GIR_RootConstrainSelectedInstOperands,
19244 /* 52272 */ // GIR_Coverage, 17984,
19245 /* 52272 */ GIR_Done,
19246 /* 52273 */ // Label 1245: @52273
19247 /* 52273 */ GIM_Try, /*On fail goto*//*Label 1246*/ GIMT_Encode4(52303), // Rule ID 21167 //
19248 /* 52278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19249 /* 52281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19250 /* 52284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19251 /* 52288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19252 /* 52292 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19253 /* 52292 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
19254 /* 52297 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19255 /* 52301 */ GIR_RootConstrainSelectedInstOperands,
19256 /* 52302 */ // GIR_Coverage, 21167,
19257 /* 52302 */ GIR_Done,
19258 /* 52303 */ // Label 1246: @52303
19259 /* 52303 */ GIM_Try, /*On fail goto*//*Label 1247*/ GIMT_Encode4(52333), // Rule ID 21169 //
19260 /* 52308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19261 /* 52311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19262 /* 52314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19263 /* 52318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19264 /* 52322 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19265 /* 52322 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
19266 /* 52327 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19267 /* 52331 */ GIR_RootConstrainSelectedInstOperands,
19268 /* 52332 */ // GIR_Coverage, 21169,
19269 /* 52332 */ GIR_Done,
19270 /* 52333 */ // Label 1247: @52333
19271 /* 52333 */ GIM_Try, /*On fail goto*//*Label 1248*/ GIMT_Encode4(52363), // Rule ID 22186 //
19272 /* 52338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19273 /* 52341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19274 /* 52344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19275 /* 52348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19276 /* 52352 */ // (lrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
19277 /* 52352 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
19278 /* 52357 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19279 /* 52361 */ GIR_RootConstrainSelectedInstOperands,
19280 /* 52362 */ // GIR_Coverage, 22186,
19281 /* 52362 */ GIR_Done,
19282 /* 52363 */ // Label 1248: @52363
19283 /* 52363 */ GIM_Reject,
19284 /* 52364 */ // Label 1210: @52364
19285 /* 52364 */ GIM_Try, /*On fail goto*//*Label 1249*/ GIMT_Encode4(52452),
19286 /* 52369 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
19287 /* 52372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19288 /* 52376 */ GIM_Try, /*On fail goto*//*Label 1250*/ GIMT_Encode4(52428), // Rule ID 21393 //
19289 /* 52381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19290 /* 52384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19291 /* 52388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19292 /* 52392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19293 /* 52395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19294 /* 52399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19295 /* 52403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19296 /* 52405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19297 /* 52412 */ // (lrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
19298 /* 52412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
19299 /* 52415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19300 /* 52417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19301 /* 52421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19302 /* 52426 */ GIR_RootConstrainSelectedInstOperands,
19303 /* 52427 */ // GIR_Coverage, 21393,
19304 /* 52427 */ GIR_EraseRootFromParent_Done,
19305 /* 52428 */ // Label 1250: @52428
19306 /* 52428 */ GIM_Try, /*On fail goto*//*Label 1251*/ GIMT_Encode4(52451), // Rule ID 21392 //
19307 /* 52433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19308 /* 52436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19309 /* 52440 */ // (lrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
19310 /* 52440 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
19311 /* 52445 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19312 /* 52449 */ GIR_RootConstrainSelectedInstOperands,
19313 /* 52450 */ // GIR_Coverage, 21392,
19314 /* 52450 */ GIR_Done,
19315 /* 52451 */ // Label 1251: @52451
19316 /* 52451 */ GIM_Reject,
19317 /* 52452 */ // Label 1249: @52452
19318 /* 52452 */ GIM_Reject,
19319 /* 52453 */ // Label 1211: @52453
19320 /* 52453 */ GIM_Try, /*On fail goto*//*Label 1252*/ GIMT_Encode4(52512), // Rule ID 18033 //
19321 /* 52458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
19322 /* 52461 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19323 /* 52464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19324 /* 52468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19325 /* 52472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19326 /* 52476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19327 /* 52479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19328 /* 52483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19329 /* 52487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19330 /* 52489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19331 /* 52496 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
19332 /* 52496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrm),
19333 /* 52499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19334 /* 52501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19335 /* 52505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19336 /* 52510 */ GIR_RootConstrainSelectedInstOperands,
19337 /* 52511 */ // GIR_Coverage, 18033,
19338 /* 52511 */ GIR_EraseRootFromParent_Done,
19339 /* 52512 */ // Label 1252: @52512
19340 /* 52512 */ GIM_Try, /*On fail goto*//*Label 1253*/ GIMT_Encode4(52571), // Rule ID 18037 //
19341 /* 52517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
19342 /* 52520 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19343 /* 52523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19344 /* 52527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19345 /* 52531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19346 /* 52535 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19347 /* 52538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19348 /* 52542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19349 /* 52546 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19350 /* 52548 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19351 /* 52555 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
19352 /* 52555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrm),
19353 /* 52558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19354 /* 52560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19355 /* 52564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19356 /* 52569 */ GIR_RootConstrainSelectedInstOperands,
19357 /* 52570 */ // GIR_Coverage, 18037,
19358 /* 52570 */ GIR_EraseRootFromParent_Done,
19359 /* 52571 */ // Label 1253: @52571
19360 /* 52571 */ GIM_Try, /*On fail goto*//*Label 1254*/ GIMT_Encode4(52630), // Rule ID 18039 //
19361 /* 52576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19362 /* 52579 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19363 /* 52582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19364 /* 52586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19365 /* 52590 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19366 /* 52594 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19367 /* 52597 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19368 /* 52601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19369 /* 52605 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19370 /* 52607 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19371 /* 52614 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
19372 /* 52614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrm),
19373 /* 52617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19374 /* 52619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19375 /* 52623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19376 /* 52628 */ GIR_RootConstrainSelectedInstOperands,
19377 /* 52629 */ // GIR_Coverage, 18039,
19378 /* 52629 */ GIR_EraseRootFromParent_Done,
19379 /* 52630 */ // Label 1254: @52630
19380 /* 52630 */ GIM_Try, /*On fail goto*//*Label 1255*/ GIMT_Encode4(52689), // Rule ID 21365 //
19381 /* 52635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
19382 /* 52638 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19383 /* 52641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19384 /* 52645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19385 /* 52649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19386 /* 52653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19387 /* 52656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19388 /* 52660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19389 /* 52664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19390 /* 52666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19391 /* 52673 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
19392 /* 52673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rm),
19393 /* 52676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19394 /* 52678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19395 /* 52682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19396 /* 52687 */ GIR_RootConstrainSelectedInstOperands,
19397 /* 52688 */ // GIR_Coverage, 21365,
19398 /* 52688 */ GIR_EraseRootFromParent_Done,
19399 /* 52689 */ // Label 1255: @52689
19400 /* 52689 */ GIM_Try, /*On fail goto*//*Label 1256*/ GIMT_Encode4(52748), // Rule ID 21369 //
19401 /* 52694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
19402 /* 52697 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19403 /* 52700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19404 /* 52704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19405 /* 52708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19406 /* 52712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19407 /* 52715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19408 /* 52719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19409 /* 52723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19410 /* 52725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19411 /* 52732 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZ256rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
19412 /* 52732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rm),
19413 /* 52735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19414 /* 52737 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19415 /* 52741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19416 /* 52746 */ GIR_RootConstrainSelectedInstOperands,
19417 /* 52747 */ // GIR_Coverage, 21369,
19418 /* 52747 */ GIR_EraseRootFromParent_Done,
19419 /* 52748 */ // Label 1256: @52748
19420 /* 52748 */ GIM_Try, /*On fail goto*//*Label 1257*/ GIMT_Encode4(52778), // Rule ID 18032 //
19421 /* 52753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
19422 /* 52756 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19423 /* 52759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19424 /* 52763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19425 /* 52767 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
19426 /* 52767 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrr),
19427 /* 52772 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19428 /* 52776 */ GIR_RootConstrainSelectedInstOperands,
19429 /* 52777 */ // GIR_Coverage, 18032,
19430 /* 52777 */ GIR_Done,
19431 /* 52778 */ // Label 1257: @52778
19432 /* 52778 */ GIM_Try, /*On fail goto*//*Label 1258*/ GIMT_Encode4(52808), // Rule ID 18036 //
19433 /* 52783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
19434 /* 52786 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19435 /* 52789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19436 /* 52793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19437 /* 52797 */ // (lrint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
19438 /* 52797 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrr),
19439 /* 52802 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19440 /* 52806 */ GIR_RootConstrainSelectedInstOperands,
19441 /* 52807 */ // GIR_Coverage, 18036,
19442 /* 52807 */ GIR_Done,
19443 /* 52808 */ // Label 1258: @52808
19444 /* 52808 */ GIM_Try, /*On fail goto*//*Label 1259*/ GIMT_Encode4(52838), // Rule ID 18038 //
19445 /* 52813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19446 /* 52816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19447 /* 52819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19448 /* 52823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
19449 /* 52827 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (CVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
19450 /* 52827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrr),
19451 /* 52832 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19452 /* 52836 */ GIR_RootConstrainSelectedInstOperands,
19453 /* 52837 */ // GIR_Coverage, 18038,
19454 /* 52837 */ GIR_Done,
19455 /* 52838 */ // Label 1259: @52838
19456 /* 52838 */ GIM_Try, /*On fail goto*//*Label 1260*/ GIMT_Encode4(52868), // Rule ID 21364 //
19457 /* 52843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
19458 /* 52846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19459 /* 52849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19460 /* 52853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19461 /* 52857 */ // (lrint:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2DQZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
19462 /* 52857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rr),
19463 /* 52862 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19464 /* 52866 */ GIR_RootConstrainSelectedInstOperands,
19465 /* 52867 */ // GIR_Coverage, 21364,
19466 /* 52867 */ GIR_Done,
19467 /* 52868 */ // Label 1260: @52868
19468 /* 52868 */ GIM_Try, /*On fail goto*//*Label 1261*/ GIMT_Encode4(52898), // Rule ID 21368 //
19469 /* 52873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
19470 /* 52876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19471 /* 52879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19472 /* 52883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19473 /* 52887 */ // (lrint:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2DQZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
19474 /* 52887 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rr),
19475 /* 52892 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19476 /* 52896 */ GIR_RootConstrainSelectedInstOperands,
19477 /* 52897 */ // GIR_Coverage, 21368,
19478 /* 52897 */ GIR_Done,
19479 /* 52898 */ // Label 1261: @52898
19480 /* 52898 */ GIM_Reject,
19481 /* 52899 */ // Label 1212: @52899
19482 /* 52899 */ GIM_Try, /*On fail goto*//*Label 1262*/ GIMT_Encode4(52958), // Rule ID 21389 //
19483 /* 52904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19484 /* 52907 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19485 /* 52910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19486 /* 52914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19487 /* 52918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19488 /* 52922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19489 /* 52925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19490 /* 52929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19491 /* 52933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19492 /* 52935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19493 /* 52942 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19494 /* 52942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
19495 /* 52945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19496 /* 52947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19497 /* 52951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19498 /* 52956 */ GIR_RootConstrainSelectedInstOperands,
19499 /* 52957 */ // GIR_Coverage, 21389,
19500 /* 52957 */ GIR_EraseRootFromParent_Done,
19501 /* 52958 */ // Label 1262: @52958
19502 /* 52958 */ GIM_Try, /*On fail goto*//*Label 1263*/ GIMT_Encode4(53017), // Rule ID 21395 //
19503 /* 52963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19504 /* 52966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19505 /* 52969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19506 /* 52973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19507 /* 52977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19508 /* 52981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19509 /* 52984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19510 /* 52988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19511 /* 52992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19512 /* 52994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19513 /* 53001 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19514 /* 53001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
19515 /* 53004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19516 /* 53006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19517 /* 53010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19518 /* 53015 */ GIR_RootConstrainSelectedInstOperands,
19519 /* 53016 */ // GIR_Coverage, 21395,
19520 /* 53016 */ GIR_EraseRootFromParent_Done,
19521 /* 53017 */ // Label 1263: @53017
19522 /* 53017 */ GIM_Try, /*On fail goto*//*Label 1264*/ GIMT_Encode4(53047), // Rule ID 21388 //
19523 /* 53022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19524 /* 53025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19525 /* 53028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19526 /* 53032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19527 /* 53036 */ // (lrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
19528 /* 53036 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
19529 /* 53041 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19530 /* 53045 */ GIR_RootConstrainSelectedInstOperands,
19531 /* 53046 */ // GIR_Coverage, 21388,
19532 /* 53046 */ GIR_Done,
19533 /* 53047 */ // Label 1264: @53047
19534 /* 53047 */ GIM_Try, /*On fail goto*//*Label 1265*/ GIMT_Encode4(53077), // Rule ID 21394 //
19535 /* 53052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19536 /* 53055 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19537 /* 53058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19538 /* 53062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19539 /* 53066 */ // (lrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
19540 /* 53066 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
19541 /* 53071 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19542 /* 53075 */ GIR_RootConstrainSelectedInstOperands,
19543 /* 53076 */ // GIR_Coverage, 21394,
19544 /* 53076 */ GIR_Done,
19545 /* 53077 */ // Label 1265: @53077
19546 /* 53077 */ GIM_Reject,
19547 /* 53078 */ // Label 1213: @53078
19548 /* 53078 */ GIM_Try, /*On fail goto*//*Label 1266*/ GIMT_Encode4(53166),
19549 /* 53083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19550 /* 53086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19551 /* 53090 */ GIM_Try, /*On fail goto*//*Label 1267*/ GIMT_Encode4(53142), // Rule ID 22170 //
19552 /* 53095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19553 /* 53098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19554 /* 53102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19555 /* 53106 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19556 /* 53109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19557 /* 53113 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19558 /* 53117 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19559 /* 53119 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19560 /* 53126 */ // (lrint:{ *:[v8i16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
19561 /* 53126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rm),
19562 /* 53129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19563 /* 53131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19564 /* 53135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19565 /* 53140 */ GIR_RootConstrainSelectedInstOperands,
19566 /* 53141 */ // GIR_Coverage, 22170,
19567 /* 53141 */ GIR_EraseRootFromParent_Done,
19568 /* 53142 */ // Label 1267: @53142
19569 /* 53142 */ GIM_Try, /*On fail goto*//*Label 1268*/ GIMT_Encode4(53165), // Rule ID 22169 //
19570 /* 53147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19571 /* 53150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19572 /* 53154 */ // (lrint:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2WZ128rr:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src)
19573 /* 53154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rr),
19574 /* 53159 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19575 /* 53163 */ GIR_RootConstrainSelectedInstOperands,
19576 /* 53164 */ // GIR_Coverage, 22169,
19577 /* 53164 */ GIR_Done,
19578 /* 53165 */ // Label 1268: @53165
19579 /* 53165 */ GIM_Reject,
19580 /* 53166 */ // Label 1266: @53166
19581 /* 53166 */ GIM_Reject,
19582 /* 53167 */ // Label 1214: @53167
19583 /* 53167 */ GIM_Try, /*On fail goto*//*Label 1269*/ GIMT_Encode4(53226), // Rule ID 18035 //
19584 /* 53172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
19585 /* 53175 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19586 /* 53178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19587 /* 53182 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19588 /* 53186 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19589 /* 53190 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19590 /* 53193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19591 /* 53197 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19592 /* 53201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19593 /* 53203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19594 /* 53210 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
19595 /* 53210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrm),
19596 /* 53213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19597 /* 53215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19598 /* 53219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19599 /* 53224 */ GIR_RootConstrainSelectedInstOperands,
19600 /* 53225 */ // GIR_Coverage, 18035,
19601 /* 53225 */ GIR_EraseRootFromParent_Done,
19602 /* 53226 */ // Label 1269: @53226
19603 /* 53226 */ GIM_Try, /*On fail goto*//*Label 1270*/ GIMT_Encode4(53285), // Rule ID 21367 //
19604 /* 53231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
19605 /* 53234 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19606 /* 53237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19607 /* 53241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19608 /* 53245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19609 /* 53249 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19610 /* 53252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19611 /* 53256 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19612 /* 53260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19613 /* 53262 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19614 /* 53269 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
19615 /* 53269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rm),
19616 /* 53272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19617 /* 53274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19618 /* 53278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19619 /* 53283 */ GIR_RootConstrainSelectedInstOperands,
19620 /* 53284 */ // GIR_Coverage, 21367,
19621 /* 53284 */ GIR_EraseRootFromParent_Done,
19622 /* 53285 */ // Label 1270: @53285
19623 /* 53285 */ GIM_Try, /*On fail goto*//*Label 1271*/ GIMT_Encode4(53341), // Rule ID 21373 //
19624 /* 53290 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19625 /* 53293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19626 /* 53297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19627 /* 53301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19628 /* 53305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19629 /* 53308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19630 /* 53312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19631 /* 53316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19632 /* 53318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19633 /* 53325 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
19634 /* 53325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrm),
19635 /* 53328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19636 /* 53330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19637 /* 53334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19638 /* 53339 */ GIR_RootConstrainSelectedInstOperands,
19639 /* 53340 */ // GIR_Coverage, 21373,
19640 /* 53340 */ GIR_EraseRootFromParent_Done,
19641 /* 53341 */ // Label 1271: @53341
19642 /* 53341 */ GIM_Try, /*On fail goto*//*Label 1272*/ GIMT_Encode4(53400), // Rule ID 22174 //
19643 /* 53346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19644 /* 53349 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19645 /* 53352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19646 /* 53356 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19647 /* 53360 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19648 /* 53364 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19649 /* 53367 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19650 /* 53371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19651 /* 53375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19652 /* 53377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19653 /* 53384 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
19654 /* 53384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rm),
19655 /* 53387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19656 /* 53389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19657 /* 53393 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19658 /* 53398 */ GIR_RootConstrainSelectedInstOperands,
19659 /* 53399 */ // GIR_Coverage, 22174,
19660 /* 53399 */ GIR_EraseRootFromParent_Done,
19661 /* 53400 */ // Label 1272: @53400
19662 /* 53400 */ GIM_Try, /*On fail goto*//*Label 1273*/ GIMT_Encode4(53430), // Rule ID 18034 //
19663 /* 53405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
19664 /* 53408 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19665 /* 53411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19666 /* 53415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
19667 /* 53419 */ // (lrint:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src) => (VCVTPS2DQYrr:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src)
19668 /* 53419 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrr),
19669 /* 53424 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19670 /* 53428 */ GIR_RootConstrainSelectedInstOperands,
19671 /* 53429 */ // GIR_Coverage, 18034,
19672 /* 53429 */ GIR_Done,
19673 /* 53430 */ // Label 1273: @53430
19674 /* 53430 */ GIM_Try, /*On fail goto*//*Label 1274*/ GIMT_Encode4(53460), // Rule ID 21366 //
19675 /* 53435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
19676 /* 53438 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19677 /* 53441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19678 /* 53445 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19679 /* 53449 */ // (lrint:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2DQZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
19680 /* 53449 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rr),
19681 /* 53454 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19682 /* 53458 */ GIR_RootConstrainSelectedInstOperands,
19683 /* 53459 */ // GIR_Coverage, 21366,
19684 /* 53459 */ GIR_Done,
19685 /* 53460 */ // Label 1274: @53460
19686 /* 53460 */ GIM_Try, /*On fail goto*//*Label 1275*/ GIMT_Encode4(53487), // Rule ID 21372 //
19687 /* 53465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19688 /* 53468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19689 /* 53472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19690 /* 53476 */ // (lrint:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2DQZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
19691 /* 53476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrr),
19692 /* 53481 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19693 /* 53485 */ GIR_RootConstrainSelectedInstOperands,
19694 /* 53486 */ // GIR_Coverage, 21372,
19695 /* 53486 */ GIR_Done,
19696 /* 53487 */ // Label 1275: @53487
19697 /* 53487 */ GIM_Try, /*On fail goto*//*Label 1276*/ GIMT_Encode4(53517), // Rule ID 22173 //
19698 /* 53492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19699 /* 53495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19700 /* 53498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19701 /* 53502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19702 /* 53506 */ // (lrint:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2DQZ256rr:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src)
19703 /* 53506 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rr),
19704 /* 53511 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19705 /* 53515 */ GIR_RootConstrainSelectedInstOperands,
19706 /* 53516 */ // GIR_Coverage, 22173,
19707 /* 53516 */ GIR_Done,
19708 /* 53517 */ // Label 1276: @53517
19709 /* 53517 */ GIM_Reject,
19710 /* 53518 */ // Label 1215: @53518
19711 /* 53518 */ GIM_Try, /*On fail goto*//*Label 1277*/ GIMT_Encode4(53577), // Rule ID 21401 //
19712 /* 53523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19713 /* 53526 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19714 /* 53529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19715 /* 53533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19716 /* 53537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19717 /* 53541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19718 /* 53544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19719 /* 53548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19720 /* 53552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19721 /* 53554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19722 /* 53561 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19723 /* 53561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
19724 /* 53564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19725 /* 53566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19726 /* 53570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19727 /* 53575 */ GIR_RootConstrainSelectedInstOperands,
19728 /* 53576 */ // GIR_Coverage, 21401,
19729 /* 53576 */ GIR_EraseRootFromParent_Done,
19730 /* 53577 */ // Label 1277: @53577
19731 /* 53577 */ GIM_Try, /*On fail goto*//*Label 1278*/ GIMT_Encode4(53636), // Rule ID 21405 //
19732 /* 53582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19733 /* 53585 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19734 /* 53588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19735 /* 53592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19736 /* 53596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19737 /* 53600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19738 /* 53603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19739 /* 53607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19740 /* 53611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19741 /* 53613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19742 /* 53620 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19743 /* 53620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
19744 /* 53623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19745 /* 53625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19746 /* 53629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19747 /* 53634 */ GIR_RootConstrainSelectedInstOperands,
19748 /* 53635 */ // GIR_Coverage, 21405,
19749 /* 53635 */ GIR_EraseRootFromParent_Done,
19750 /* 53636 */ // Label 1278: @53636
19751 /* 53636 */ GIM_Try, /*On fail goto*//*Label 1279*/ GIMT_Encode4(53695), // Rule ID 22180 //
19752 /* 53641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19753 /* 53644 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19754 /* 53647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19755 /* 53651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19756 /* 53655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19757 /* 53659 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19758 /* 53662 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19759 /* 53666 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19760 /* 53670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19761 /* 53672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19762 /* 53679 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19763 /* 53679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
19764 /* 53682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19765 /* 53684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19766 /* 53688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19767 /* 53693 */ GIR_RootConstrainSelectedInstOperands,
19768 /* 53694 */ // GIR_Coverage, 22180,
19769 /* 53694 */ GIR_EraseRootFromParent_Done,
19770 /* 53695 */ // Label 1279: @53695
19771 /* 53695 */ GIM_Try, /*On fail goto*//*Label 1280*/ GIMT_Encode4(53725), // Rule ID 21400 //
19772 /* 53700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19773 /* 53703 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19774 /* 53706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19775 /* 53710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19776 /* 53714 */ // (lrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
19777 /* 53714 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
19778 /* 53719 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19779 /* 53723 */ GIR_RootConstrainSelectedInstOperands,
19780 /* 53724 */ // GIR_Coverage, 21400,
19781 /* 53724 */ GIR_Done,
19782 /* 53725 */ // Label 1280: @53725
19783 /* 53725 */ GIM_Try, /*On fail goto*//*Label 1281*/ GIMT_Encode4(53755), // Rule ID 21404 //
19784 /* 53730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19785 /* 53733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19786 /* 53736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19787 /* 53740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19788 /* 53744 */ // (lrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
19789 /* 53744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
19790 /* 53749 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19791 /* 53753 */ GIR_RootConstrainSelectedInstOperands,
19792 /* 53754 */ // GIR_Coverage, 21404,
19793 /* 53754 */ GIR_Done,
19794 /* 53755 */ // Label 1281: @53755
19795 /* 53755 */ GIM_Try, /*On fail goto*//*Label 1282*/ GIMT_Encode4(53785), // Rule ID 22179 //
19796 /* 53760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19797 /* 53763 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19798 /* 53766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19799 /* 53770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19800 /* 53774 */ // (lrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
19801 /* 53774 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
19802 /* 53779 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19803 /* 53783 */ GIR_RootConstrainSelectedInstOperands,
19804 /* 53784 */ // GIR_Coverage, 22179,
19805 /* 53784 */ GIR_Done,
19806 /* 53785 */ // Label 1282: @53785
19807 /* 53785 */ GIM_Reject,
19808 /* 53786 */ // Label 1216: @53786
19809 /* 53786 */ GIM_Try, /*On fail goto*//*Label 1283*/ GIMT_Encode4(53874),
19810 /* 53791 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
19811 /* 53794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19812 /* 53798 */ GIM_Try, /*On fail goto*//*Label 1284*/ GIMT_Encode4(53850), // Rule ID 22172 //
19813 /* 53803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19814 /* 53806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19815 /* 53810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19816 /* 53814 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19817 /* 53817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19818 /* 53821 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19819 /* 53825 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19820 /* 53827 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19821 /* 53834 */ // (lrint:{ *:[v16i16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
19822 /* 53834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rm),
19823 /* 53837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19824 /* 53839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19825 /* 53843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19826 /* 53848 */ GIR_RootConstrainSelectedInstOperands,
19827 /* 53849 */ // GIR_Coverage, 22172,
19828 /* 53849 */ GIR_EraseRootFromParent_Done,
19829 /* 53850 */ // Label 1284: @53850
19830 /* 53850 */ GIM_Try, /*On fail goto*//*Label 1285*/ GIMT_Encode4(53873), // Rule ID 22171 //
19831 /* 53855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
19832 /* 53858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19833 /* 53862 */ // (lrint:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2WZ256rr:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src)
19834 /* 53862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rr),
19835 /* 53867 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19836 /* 53871 */ GIR_RootConstrainSelectedInstOperands,
19837 /* 53872 */ // GIR_Coverage, 22171,
19838 /* 53872 */ GIR_Done,
19839 /* 53873 */ // Label 1285: @53873
19840 /* 53873 */ GIM_Reject,
19841 /* 53874 */ // Label 1283: @53874
19842 /* 53874 */ GIM_Reject,
19843 /* 53875 */ // Label 1217: @53875
19844 /* 53875 */ GIM_Try, /*On fail goto*//*Label 1286*/ GIMT_Encode4(53931), // Rule ID 21371 //
19845 /* 53880 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
19846 /* 53883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19847 /* 53887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19848 /* 53891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19849 /* 53895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19850 /* 53898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19851 /* 53902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19852 /* 53906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19853 /* 53908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19854 /* 53915 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
19855 /* 53915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrm),
19856 /* 53918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19857 /* 53920 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19858 /* 53924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19859 /* 53929 */ GIR_RootConstrainSelectedInstOperands,
19860 /* 53930 */ // GIR_Coverage, 21371,
19861 /* 53930 */ GIR_EraseRootFromParent_Done,
19862 /* 53931 */ // Label 1286: @53931
19863 /* 53931 */ GIM_Try, /*On fail goto*//*Label 1287*/ GIMT_Encode4(53990), // Rule ID 22178 //
19864 /* 53936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19865 /* 53939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
19866 /* 53942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19867 /* 53946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19868 /* 53950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19869 /* 53954 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19870 /* 53957 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19871 /* 53961 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19872 /* 53965 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19873 /* 53967 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19874 /* 53974 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
19875 /* 53974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrm),
19876 /* 53977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19877 /* 53979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19878 /* 53983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19879 /* 53988 */ GIR_RootConstrainSelectedInstOperands,
19880 /* 53989 */ // GIR_Coverage, 22178,
19881 /* 53989 */ GIR_EraseRootFromParent_Done,
19882 /* 53990 */ // Label 1287: @53990
19883 /* 53990 */ GIM_Try, /*On fail goto*//*Label 1288*/ GIMT_Encode4(54017), // Rule ID 21370 //
19884 /* 53995 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
19885 /* 53998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19886 /* 54002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19887 /* 54006 */ // (lrint:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src) => (VCVTPS2DQZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
19888 /* 54006 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrr),
19889 /* 54011 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19890 /* 54015 */ GIR_RootConstrainSelectedInstOperands,
19891 /* 54016 */ // GIR_Coverage, 21370,
19892 /* 54016 */ GIR_Done,
19893 /* 54017 */ // Label 1288: @54017
19894 /* 54017 */ GIM_Try, /*On fail goto*//*Label 1289*/ GIMT_Encode4(54047), // Rule ID 22177 //
19895 /* 54022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19896 /* 54025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
19897 /* 54028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19898 /* 54032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19899 /* 54036 */ // (lrint:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2DQZrr:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src)
19900 /* 54036 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrr),
19901 /* 54041 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19902 /* 54045 */ GIR_RootConstrainSelectedInstOperands,
19903 /* 54046 */ // GIR_Coverage, 22177,
19904 /* 54046 */ GIR_Done,
19905 /* 54047 */ // Label 1289: @54047
19906 /* 54047 */ GIM_Reject,
19907 /* 54048 */ // Label 1218: @54048
19908 /* 54048 */ GIM_Try, /*On fail goto*//*Label 1290*/ GIMT_Encode4(54136),
19909 /* 54053 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
19910 /* 54056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19911 /* 54060 */ GIM_Try, /*On fail goto*//*Label 1291*/ GIMT_Encode4(54112), // Rule ID 22176 //
19912 /* 54065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19913 /* 54068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19914 /* 54072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19915 /* 54076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19916 /* 54079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19917 /* 54083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19918 /* 54087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19919 /* 54089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19920 /* 54096 */ // (lrint:{ *:[v32i16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
19921 /* 54096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrm),
19922 /* 54099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19923 /* 54101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19924 /* 54105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19925 /* 54110 */ GIR_RootConstrainSelectedInstOperands,
19926 /* 54111 */ // GIR_Coverage, 22176,
19927 /* 54111 */ GIR_EraseRootFromParent_Done,
19928 /* 54112 */ // Label 1291: @54112
19929 /* 54112 */ GIM_Try, /*On fail goto*//*Label 1292*/ GIMT_Encode4(54135), // Rule ID 22175 //
19930 /* 54117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19931 /* 54120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19932 /* 54124 */ // (lrint:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src) => (VCVTPH2WZrr:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src)
19933 /* 54124 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrr),
19934 /* 54129 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19935 /* 54133 */ GIR_RootConstrainSelectedInstOperands,
19936 /* 54134 */ // GIR_Coverage, 22175,
19937 /* 54134 */ GIR_Done,
19938 /* 54135 */ // Label 1292: @54135
19939 /* 54135 */ GIM_Reject,
19940 /* 54136 */ // Label 1290: @54136
19941 /* 54136 */ GIM_Reject,
19942 /* 54137 */ // Label 1219: @54137
19943 /* 54137 */ GIM_Reject,
19944 /* 54138 */ // Label 10: @54138
19945 /* 54138 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(16), /*)*//*default:*//*Label 1297*/ GIMT_Encode4(55357),
19946 /* 54149 */ /*GILLT_s64*//*Label 1293*/ GIMT_Encode4(54197), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
19947 /* 54165 */ /*GILLT_v2s64*//*Label 1294*/ GIMT_Encode4(54821), GIMT_Encode4(0), GIMT_Encode4(0),
19948 /* 54177 */ /*GILLT_v4s64*//*Label 1295*/ GIMT_Encode4(54910), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
19949 /* 54193 */ /*GILLT_v8s64*//*Label 1296*/ GIMT_Encode4(55089),
19950 /* 54197 */ // Label 1293: @54197
19951 /* 54197 */ GIM_Try, /*On fail goto*//*Label 1298*/ GIMT_Encode4(54256), // Rule ID 1757 //
19952 /* 54202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19953 /* 54205 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19954 /* 54208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19955 /* 54212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19956 /* 54216 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19957 /* 54220 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19958 /* 54223 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19959 /* 54227 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19960 /* 54231 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19961 /* 54233 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19962 /* 54240 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19963 /* 54240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
19964 /* 54243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19965 /* 54245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19966 /* 54249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19967 /* 54254 */ GIR_RootConstrainSelectedInstOperands,
19968 /* 54255 */ // GIR_Coverage, 1757,
19969 /* 54255 */ GIR_EraseRootFromParent_Done,
19970 /* 54256 */ // Label 1298: @54256
19971 /* 54256 */ GIM_Try, /*On fail goto*//*Label 1299*/ GIMT_Encode4(54315), // Rule ID 1761 //
19972 /* 54261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19973 /* 54264 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19974 /* 54267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19975 /* 54271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19976 /* 54275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19977 /* 54279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19978 /* 54282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19979 /* 54286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19980 /* 54290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19981 /* 54292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19982 /* 54299 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19983 /* 54299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
19984 /* 54302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19985 /* 54304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19986 /* 54308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19987 /* 54313 */ GIR_RootConstrainSelectedInstOperands,
19988 /* 54314 */ // GIR_Coverage, 1761,
19989 /* 54314 */ GIR_EraseRootFromParent_Done,
19990 /* 54315 */ // Label 1299: @54315
19991 /* 54315 */ GIM_Try, /*On fail goto*//*Label 1300*/ GIMT_Encode4(54374), // Rule ID 1781 //
19992 /* 54320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19993 /* 54323 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19994 /* 54326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19995 /* 54330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19996 /* 54334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19997 /* 54338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19998 /* 54341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19999 /* 54345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20000 /* 54349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20001 /* 54351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20002 /* 54358 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20003 /* 54358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
20004 /* 54361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20005 /* 54363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20006 /* 54367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20007 /* 54372 */ GIR_RootConstrainSelectedInstOperands,
20008 /* 54373 */ // GIR_Coverage, 1781,
20009 /* 54373 */ GIR_EraseRootFromParent_Done,
20010 /* 54374 */ // Label 1300: @54374
20011 /* 54374 */ GIM_Try, /*On fail goto*//*Label 1301*/ GIMT_Encode4(54433), // Rule ID 1785 //
20012 /* 54379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20013 /* 54382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
20014 /* 54385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20015 /* 54389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20016 /* 54393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20017 /* 54397 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20018 /* 54400 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20019 /* 54404 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20020 /* 54408 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20021 /* 54410 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20022 /* 54417 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20023 /* 54417 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
20024 /* 54420 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20025 /* 54422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20026 /* 54426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20027 /* 54431 */ GIR_RootConstrainSelectedInstOperands,
20028 /* 54432 */ // GIR_Coverage, 1785,
20029 /* 54432 */ GIR_EraseRootFromParent_Done,
20030 /* 54433 */ // Label 1301: @54433
20031 /* 54433 */ GIM_Try, /*On fail goto*//*Label 1302*/ GIMT_Encode4(54492), // Rule ID 10358 //
20032 /* 54438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20033 /* 54441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20034 /* 54444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20035 /* 54448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20036 /* 54452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20037 /* 54456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20038 /* 54459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20039 /* 54463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20040 /* 54467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20041 /* 54469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20042 /* 54476 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20043 /* 54476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
20044 /* 54479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20045 /* 54481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20046 /* 54485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20047 /* 54490 */ GIR_RootConstrainSelectedInstOperands,
20048 /* 54491 */ // GIR_Coverage, 10358,
20049 /* 54491 */ GIR_EraseRootFromParent_Done,
20050 /* 54492 */ // Label 1302: @54492
20051 /* 54492 */ GIM_Try, /*On fail goto*//*Label 1303*/ GIMT_Encode4(54551), // Rule ID 10362 //
20052 /* 54497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20053 /* 54500 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
20054 /* 54503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20055 /* 54507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20056 /* 54511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20057 /* 54515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20058 /* 54518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20059 /* 54522 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20060 /* 54526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20061 /* 54528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20062 /* 54535 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20063 /* 54535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
20064 /* 54538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20065 /* 54540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20066 /* 54544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20067 /* 54549 */ GIR_RootConstrainSelectedInstOperands,
20068 /* 54550 */ // GIR_Coverage, 10362,
20069 /* 54550 */ GIR_EraseRootFromParent_Done,
20070 /* 54551 */ // Label 1303: @54551
20071 /* 54551 */ GIM_Try, /*On fail goto*//*Label 1304*/ GIMT_Encode4(54610), // Rule ID 22189 //
20072 /* 54556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
20073 /* 54559 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
20074 /* 54562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20075 /* 54566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20076 /* 54570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20077 /* 54574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20078 /* 54577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20079 /* 54581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20080 /* 54585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20081 /* 54587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20082 /* 54594 */ // (llrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20083 /* 54594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
20084 /* 54597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20085 /* 54599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20086 /* 54603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20087 /* 54608 */ GIR_RootConstrainSelectedInstOperands,
20088 /* 54609 */ // GIR_Coverage, 22189,
20089 /* 54609 */ GIR_EraseRootFromParent_Done,
20090 /* 54610 */ // Label 1304: @54610
20091 /* 54610 */ GIM_Try, /*On fail goto*//*Label 1305*/ GIMT_Encode4(54640), // Rule ID 1756 //
20092 /* 54615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
20093 /* 54618 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20094 /* 54621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20095 /* 54625 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
20096 /* 54629 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
20097 /* 54629 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
20098 /* 54634 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20099 /* 54638 */ GIR_RootConstrainSelectedInstOperands,
20100 /* 54639 */ // GIR_Coverage, 1756,
20101 /* 54639 */ GIR_Done,
20102 /* 54640 */ // Label 1305: @54640
20103 /* 54640 */ GIM_Try, /*On fail goto*//*Label 1306*/ GIMT_Encode4(54670), // Rule ID 1760 //
20104 /* 54645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
20105 /* 54648 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
20106 /* 54651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20107 /* 54655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20108 /* 54659 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
20109 /* 54659 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
20110 /* 54664 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20111 /* 54668 */ GIR_RootConstrainSelectedInstOperands,
20112 /* 54669 */ // GIR_Coverage, 1760,
20113 /* 54669 */ GIR_Done,
20114 /* 54670 */ // Label 1306: @54670
20115 /* 54670 */ GIM_Try, /*On fail goto*//*Label 1307*/ GIMT_Encode4(54700), // Rule ID 1780 //
20116 /* 54675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20117 /* 54678 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20118 /* 54681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20119 /* 54685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
20120 /* 54689 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
20121 /* 54689 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
20122 /* 54694 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20123 /* 54698 */ GIR_RootConstrainSelectedInstOperands,
20124 /* 54699 */ // GIR_Coverage, 1780,
20125 /* 54699 */ GIR_Done,
20126 /* 54700 */ // Label 1307: @54700
20127 /* 54700 */ GIM_Try, /*On fail goto*//*Label 1308*/ GIMT_Encode4(54730), // Rule ID 1784 //
20128 /* 54705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20129 /* 54708 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
20130 /* 54711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20131 /* 54715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20132 /* 54719 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
20133 /* 54719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
20134 /* 54724 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20135 /* 54728 */ GIR_RootConstrainSelectedInstOperands,
20136 /* 54729 */ // GIR_Coverage, 1784,
20137 /* 54729 */ GIR_Done,
20138 /* 54730 */ // Label 1308: @54730
20139 /* 54730 */ GIM_Try, /*On fail goto*//*Label 1309*/ GIMT_Encode4(54760), // Rule ID 10357 //
20140 /* 54735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20141 /* 54738 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
20142 /* 54741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20143 /* 54745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
20144 /* 54749 */ // (llrint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
20145 /* 54749 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
20146 /* 54754 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20147 /* 54758 */ GIR_RootConstrainSelectedInstOperands,
20148 /* 54759 */ // GIR_Coverage, 10357,
20149 /* 54759 */ GIR_Done,
20150 /* 54760 */ // Label 1309: @54760
20151 /* 54760 */ GIM_Try, /*On fail goto*//*Label 1310*/ GIMT_Encode4(54790), // Rule ID 10361 //
20152 /* 54765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20153 /* 54768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
20154 /* 54771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20155 /* 54775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
20156 /* 54779 */ // (llrint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
20157 /* 54779 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
20158 /* 54784 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20159 /* 54788 */ GIR_RootConstrainSelectedInstOperands,
20160 /* 54789 */ // GIR_Coverage, 10361,
20161 /* 54789 */ GIR_Done,
20162 /* 54790 */ // Label 1310: @54790
20163 /* 54790 */ GIM_Try, /*On fail goto*//*Label 1311*/ GIMT_Encode4(54820), // Rule ID 22188 //
20164 /* 54795 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
20165 /* 54798 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
20166 /* 54801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20167 /* 54805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
20168 /* 54809 */ // (llrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
20169 /* 54809 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
20170 /* 54814 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20171 /* 54818 */ GIR_RootConstrainSelectedInstOperands,
20172 /* 54819 */ // GIR_Coverage, 22188,
20173 /* 54819 */ GIR_Done,
20174 /* 54820 */ // Label 1311: @54820
20175 /* 54820 */ GIM_Reject,
20176 /* 54821 */ // Label 1294: @54821
20177 /* 54821 */ GIM_Try, /*On fail goto*//*Label 1312*/ GIMT_Encode4(54909),
20178 /* 54826 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
20179 /* 54829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20180 /* 54833 */ GIM_Try, /*On fail goto*//*Label 1313*/ GIMT_Encode4(54885), // Rule ID 21397 //
20181 /* 54838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
20182 /* 54841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20183 /* 54845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20184 /* 54849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20185 /* 54852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20186 /* 54856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20187 /* 54860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20188 /* 54862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20189 /* 54869 */ // (llrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
20190 /* 54869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
20191 /* 54872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20192 /* 54874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20193 /* 54878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20194 /* 54883 */ GIR_RootConstrainSelectedInstOperands,
20195 /* 54884 */ // GIR_Coverage, 21397,
20196 /* 54884 */ GIR_EraseRootFromParent_Done,
20197 /* 54885 */ // Label 1313: @54885
20198 /* 54885 */ GIM_Try, /*On fail goto*//*Label 1314*/ GIMT_Encode4(54908), // Rule ID 21396 //
20199 /* 54890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
20200 /* 54893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20201 /* 54897 */ // (llrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
20202 /* 54897 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
20203 /* 54902 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20204 /* 54906 */ GIR_RootConstrainSelectedInstOperands,
20205 /* 54907 */ // GIR_Coverage, 21396,
20206 /* 54907 */ GIR_Done,
20207 /* 54908 */ // Label 1314: @54908
20208 /* 54908 */ GIM_Reject,
20209 /* 54909 */ // Label 1312: @54909
20210 /* 54909 */ GIM_Reject,
20211 /* 54910 */ // Label 1295: @54910
20212 /* 54910 */ GIM_Try, /*On fail goto*//*Label 1315*/ GIMT_Encode4(54969), // Rule ID 21391 //
20213 /* 54915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
20214 /* 54918 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
20215 /* 54921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20216 /* 54925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20217 /* 54929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20218 /* 54933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20219 /* 54936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20220 /* 54940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20221 /* 54944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20222 /* 54946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20223 /* 54953 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20224 /* 54953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
20225 /* 54956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20226 /* 54958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20227 /* 54962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20228 /* 54967 */ GIR_RootConstrainSelectedInstOperands,
20229 /* 54968 */ // GIR_Coverage, 21391,
20230 /* 54968 */ GIR_EraseRootFromParent_Done,
20231 /* 54969 */ // Label 1315: @54969
20232 /* 54969 */ GIM_Try, /*On fail goto*//*Label 1316*/ GIMT_Encode4(55028), // Rule ID 21399 //
20233 /* 54974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
20234 /* 54977 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
20235 /* 54980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20236 /* 54984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20237 /* 54988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20238 /* 54992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20239 /* 54995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20240 /* 54999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20241 /* 55003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20242 /* 55005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20243 /* 55012 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
20244 /* 55012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
20245 /* 55015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20246 /* 55017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20247 /* 55021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20248 /* 55026 */ GIR_RootConstrainSelectedInstOperands,
20249 /* 55027 */ // GIR_Coverage, 21399,
20250 /* 55027 */ GIR_EraseRootFromParent_Done,
20251 /* 55028 */ // Label 1316: @55028
20252 /* 55028 */ GIM_Try, /*On fail goto*//*Label 1317*/ GIMT_Encode4(55058), // Rule ID 21390 //
20253 /* 55033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
20254 /* 55036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
20255 /* 55039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20256 /* 55043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20257 /* 55047 */ // (llrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
20258 /* 55047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
20259 /* 55052 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20260 /* 55056 */ GIR_RootConstrainSelectedInstOperands,
20261 /* 55057 */ // GIR_Coverage, 21390,
20262 /* 55057 */ GIR_Done,
20263 /* 55058 */ // Label 1317: @55058
20264 /* 55058 */ GIM_Try, /*On fail goto*//*Label 1318*/ GIMT_Encode4(55088), // Rule ID 21398 //
20265 /* 55063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
20266 /* 55066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
20267 /* 55069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20268 /* 55073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20269 /* 55077 */ // (llrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
20270 /* 55077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
20271 /* 55082 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20272 /* 55086 */ GIR_RootConstrainSelectedInstOperands,
20273 /* 55087 */ // GIR_Coverage, 21398,
20274 /* 55087 */ GIR_Done,
20275 /* 55088 */ // Label 1318: @55088
20276 /* 55088 */ GIM_Reject,
20277 /* 55089 */ // Label 1296: @55089
20278 /* 55089 */ GIM_Try, /*On fail goto*//*Label 1319*/ GIMT_Encode4(55148), // Rule ID 21403 //
20279 /* 55094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20280 /* 55097 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
20281 /* 55100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20282 /* 55104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20283 /* 55108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20284 /* 55112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20285 /* 55115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20286 /* 55119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20287 /* 55123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20288 /* 55125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20289 /* 55132 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
20290 /* 55132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
20291 /* 55135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20292 /* 55137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20293 /* 55141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20294 /* 55146 */ GIR_RootConstrainSelectedInstOperands,
20295 /* 55147 */ // GIR_Coverage, 21403,
20296 /* 55147 */ GIR_EraseRootFromParent_Done,
20297 /* 55148 */ // Label 1319: @55148
20298 /* 55148 */ GIM_Try, /*On fail goto*//*Label 1320*/ GIMT_Encode4(55207), // Rule ID 21407 //
20299 /* 55153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20300 /* 55156 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
20301 /* 55159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20302 /* 55163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20303 /* 55167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20304 /* 55171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20305 /* 55174 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20306 /* 55178 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20307 /* 55182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20308 /* 55184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20309 /* 55191 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
20310 /* 55191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
20311 /* 55194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20312 /* 55196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20313 /* 55200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20314 /* 55205 */ GIR_RootConstrainSelectedInstOperands,
20315 /* 55206 */ // GIR_Coverage, 21407,
20316 /* 55206 */ GIR_EraseRootFromParent_Done,
20317 /* 55207 */ // Label 1320: @55207
20318 /* 55207 */ GIM_Try, /*On fail goto*//*Label 1321*/ GIMT_Encode4(55266), // Rule ID 22182 //
20319 /* 55212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
20320 /* 55215 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
20321 /* 55218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20322 /* 55222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
20323 /* 55226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
20324 /* 55230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20325 /* 55233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
20326 /* 55237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
20327 /* 55241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
20328 /* 55243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20329 /* 55250 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
20330 /* 55250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
20331 /* 55253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20332 /* 55255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20333 /* 55259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
20334 /* 55264 */ GIR_RootConstrainSelectedInstOperands,
20335 /* 55265 */ // GIR_Coverage, 22182,
20336 /* 55265 */ GIR_EraseRootFromParent_Done,
20337 /* 55266 */ // Label 1321: @55266
20338 /* 55266 */ GIM_Try, /*On fail goto*//*Label 1322*/ GIMT_Encode4(55296), // Rule ID 21402 //
20339 /* 55271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20340 /* 55274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
20341 /* 55277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20342 /* 55281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20343 /* 55285 */ // (llrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
20344 /* 55285 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
20345 /* 55290 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20346 /* 55294 */ GIR_RootConstrainSelectedInstOperands,
20347 /* 55295 */ // GIR_Coverage, 21402,
20348 /* 55295 */ GIR_Done,
20349 /* 55296 */ // Label 1322: @55296
20350 /* 55296 */ GIM_Try, /*On fail goto*//*Label 1323*/ GIMT_Encode4(55326), // Rule ID 21406 //
20351 /* 55301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20352 /* 55304 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
20353 /* 55307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20354 /* 55311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20355 /* 55315 */ // (llrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
20356 /* 55315 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
20357 /* 55320 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20358 /* 55324 */ GIR_RootConstrainSelectedInstOperands,
20359 /* 55325 */ // GIR_Coverage, 21406,
20360 /* 55325 */ GIR_Done,
20361 /* 55326 */ // Label 1323: @55326
20362 /* 55326 */ GIM_Try, /*On fail goto*//*Label 1324*/ GIMT_Encode4(55356), // Rule ID 22181 //
20363 /* 55331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
20364 /* 55334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
20365 /* 55337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20366 /* 55341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20367 /* 55345 */ // (llrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
20368 /* 55345 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
20369 /* 55350 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
20370 /* 55354 */ GIR_RootConstrainSelectedInstOperands,
20371 /* 55355 */ // GIR_Coverage, 22181,
20372 /* 55355 */ GIR_Done,
20373 /* 55356 */ // Label 1324: @55356
20374 /* 55356 */ GIM_Reject,
20375 /* 55357 */ // Label 1297: @55357
20376 /* 55357 */ GIM_Reject,
20377 /* 55358 */ // Label 11: @55358
20378 /* 55358 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1350*/ GIMT_Encode4(61582),
20379 /* 55369 */ /*GILLT_s1*//*Label 1325*/ GIMT_Encode4(55469),
20380 /* 55373 */ /*GILLT_s8*//*Label 1326*/ GIMT_Encode4(55536),
20381 /* 55377 */ /*GILLT_s16*//*Label 1327*/ GIMT_Encode4(55677),
20382 /* 55381 */ /*GILLT_s32*//*Label 1328*/ GIMT_Encode4(56230),
20383 /* 55385 */ /*GILLT_s64*//*Label 1329*/ GIMT_Encode4(56652),
20384 /* 55389 */ /*GILLT_s80*//*Label 1330*/ GIMT_Encode4(57225),
20385 /* 55393 */ /*GILLT_s128*//*Label 1331*/ GIMT_Encode4(57384),
20386 /* 55397 */ /*GILLT_v2s1*//*Label 1332*/ GIMT_Encode4(57512),
20387 /* 55401 */ /*GILLT_v2s64*//*Label 1333*/ GIMT_Encode4(57579),
20388 /* 55405 */ /*GILLT_v4s1*//*Label 1334*/ GIMT_Encode4(58073),
20389 /* 55409 */ /*GILLT_v4s32*//*Label 1335*/ GIMT_Encode4(58140),
20390 /* 55413 */ /*GILLT_v4s64*//*Label 1336*/ GIMT_Encode4(58634),
20391 /* 55417 */ /*GILLT_v8s1*//*Label 1337*/ GIMT_Encode4(58968),
20392 /* 55421 */ /*GILLT_v8s16*//*Label 1338*/ GIMT_Encode4(59050),
20393 /* 55425 */ /*GILLT_v8s32*//*Label 1339*/ GIMT_Encode4(59624),
20394 /* 55429 */ /*GILLT_v8s64*//*Label 1340*/ GIMT_Encode4(59958),
20395 /* 55433 */ /*GILLT_v16s1*//*Label 1341*/ GIMT_Encode4(60132),
20396 /* 55437 */ /*GILLT_v16s8*//*Label 1342*/ GIMT_Encode4(60214),
20397 /* 55441 */ /*GILLT_v16s16*//*Label 1343*/ GIMT_Encode4(60468),
20398 /* 55445 */ /*GILLT_v16s32*//*Label 1344*/ GIMT_Encode4(60802),
20399 /* 55449 */ /*GILLT_v32s1*//*Label 1345*/ GIMT_Encode4(60976),
20400 /* 55453 */ /*GILLT_v32s8*//*Label 1346*/ GIMT_Encode4(61058),
20401 /* 55457 */ /*GILLT_v32s16*//*Label 1347*/ GIMT_Encode4(61232),
20402 /* 55461 */ /*GILLT_v64s1*//*Label 1348*/ GIMT_Encode4(61406),
20403 /* 55465 */ /*GILLT_v64s8*//*Label 1349*/ GIMT_Encode4(61488),
20404 /* 55469 */ // Label 1325: @55469
20405 /* 55469 */ GIM_Try, /*On fail goto*//*Label 1351*/ GIMT_Encode4(55535), // Rule ID 19442 //
20406 /* 55474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20407 /* 55477 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20408 /* 55480 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20409 /* 55484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
20410 /* 55488 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20411 /* 55492 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20412 /* 55499 */ // (ld:{ *:[v1i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v1i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK1:{ *:[i32] })
20413 /* 55499 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
20414 /* 55502 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20415 /* 55506 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20416 /* 55511 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20417 /* 55515 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20418 /* 55519 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20419 /* 55521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20420 /* 55524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20421 /* 55526 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20422 /* 55529 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
20423 /* 55534 */ // GIR_Coverage, 19442,
20424 /* 55534 */ GIR_EraseRootFromParent_Done,
20425 /* 55535 */ // Label 1351: @55535
20426 /* 55535 */ GIM_Reject,
20427 /* 55536 */ // Label 1326: @55536
20428 /* 55536 */ GIM_Try, /*On fail goto*//*Label 1352*/ GIMT_Encode4(55585), // Rule ID 22529 //
20429 /* 55541 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20430 /* 55544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20431 /* 55548 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20432 /* 55555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
20433 /* 55559 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20434 /* 55563 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20435 /* 55570 */ // (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
20436 /* 55570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
20437 /* 55573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20438 /* 55575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20439 /* 55579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20440 /* 55583 */ GIR_RootConstrainSelectedInstOperands,
20441 /* 55584 */ // GIR_Coverage, 22529,
20442 /* 55584 */ GIR_EraseRootFromParent_Done,
20443 /* 55585 */ // Label 1352: @55585
20444 /* 55585 */ GIM_Try, /*On fail goto*//*Label 1353*/ GIMT_Encode4(55634), // Rule ID 22613 //
20445 /* 55590 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20446 /* 55593 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20447 /* 55597 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20448 /* 55604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
20449 /* 55608 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20450 /* 55612 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20451 /* 55619 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
20452 /* 55619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
20453 /* 55622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20454 /* 55624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20455 /* 55628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20456 /* 55632 */ GIR_RootConstrainSelectedInstOperands,
20457 /* 55633 */ // GIR_Coverage, 22613,
20458 /* 55633 */ GIR_EraseRootFromParent_Done,
20459 /* 55634 */ // Label 1353: @55634
20460 /* 55634 */ GIM_Try, /*On fail goto*//*Label 1354*/ GIMT_Encode4(55676), // Rule ID 28 //
20461 /* 55639 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20462 /* 55642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
20463 /* 55646 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20464 /* 55650 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
20465 /* 55654 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20466 /* 55661 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
20467 /* 55661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
20468 /* 55664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20469 /* 55666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20470 /* 55670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20471 /* 55674 */ GIR_RootConstrainSelectedInstOperands,
20472 /* 55675 */ // GIR_Coverage, 28,
20473 /* 55675 */ GIR_EraseRootFromParent_Done,
20474 /* 55676 */ // Label 1354: @55676
20475 /* 55676 */ GIM_Reject,
20476 /* 55677 */ // Label 1327: @55677
20477 /* 55677 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(55726), // Rule ID 22530 //
20478 /* 55682 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20479 /* 55685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20480 /* 55689 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
20481 /* 55696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
20482 /* 55700 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20483 /* 55704 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20484 /* 55711 */ // (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20485 /* 55711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
20486 /* 55714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20487 /* 55716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20488 /* 55720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20489 /* 55724 */ GIR_RootConstrainSelectedInstOperands,
20490 /* 55725 */ // GIR_Coverage, 22530,
20491 /* 55725 */ GIR_EraseRootFromParent_Done,
20492 /* 55726 */ // Label 1355: @55726
20493 /* 55726 */ GIM_Try, /*On fail goto*//*Label 1356*/ GIMT_Encode4(55805), // Rule ID 22614 //
20494 /* 55731 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20495 /* 55734 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20496 /* 55738 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20497 /* 55745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
20498 /* 55749 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20499 /* 55753 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20500 /* 55760 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_16bit:{ *:[i32] })
20501 /* 55760 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20502 /* 55763 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20503 /* 55767 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20504 /* 55772 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20505 /* 55776 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20506 /* 55780 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20507 /* 55782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20508 /* 55785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20509 /* 55787 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
20510 /* 55794 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
20511 /* 55799 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
20512 /* 55804 */ // GIR_Coverage, 22614,
20513 /* 55804 */ GIR_EraseRootFromParent_Done,
20514 /* 55805 */ // Label 1356: @55805
20515 /* 55805 */ GIM_Try, /*On fail goto*//*Label 1357*/ GIMT_Encode4(55884), // Rule ID 22616 //
20516 /* 55810 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20517 /* 55813 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20518 /* 55817 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20519 /* 55824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
20520 /* 55828 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20521 /* 55832 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20522 /* 55839 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_16bit:{ *:[i32] })
20523 /* 55839 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20524 /* 55842 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20525 /* 55846 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20526 /* 55851 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20527 /* 55855 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20528 /* 55859 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20529 /* 55861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20530 /* 55864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20531 /* 55866 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
20532 /* 55873 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
20533 /* 55878 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
20534 /* 55883 */ // GIR_Coverage, 22616,
20535 /* 55883 */ GIR_EraseRootFromParent_Done,
20536 /* 55884 */ // Label 1357: @55884
20537 /* 55884 */ GIM_Try, /*On fail goto*//*Label 1358*/ GIMT_Encode4(55929), // Rule ID 4624 //
20538 /* 55889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
20539 /* 55892 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20540 /* 55895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20541 /* 55899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
20542 /* 55903 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20543 /* 55907 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20544 /* 55914 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSHZrm_alt:{ *:[f16] } addr:{ *:[iPTR] }:$src)
20545 /* 55914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZrm_alt),
20546 /* 55917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20547 /* 55919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20548 /* 55923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20549 /* 55927 */ GIR_RootConstrainSelectedInstOperands,
20550 /* 55928 */ // GIR_Coverage, 4624,
20551 /* 55928 */ GIR_EraseRootFromParent_Done,
20552 /* 55929 */ // Label 1358: @55929
20553 /* 55929 */ GIM_Try, /*On fail goto*//*Label 1359*/ GIMT_Encode4(56015), // Rule ID 18328 //
20554 /* 55934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
20555 /* 55937 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20556 /* 55940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20557 /* 55944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
20558 /* 55948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20559 /* 55952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20560 /* 55959 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[f16] } (VPINSRWrmi:{ *:[f128] } (IMPLICIT_DEF:{ *:[v8i16] }), addr:{ *:[iPTR] }:$src, 0:{ *:[i8] }), FR16:{ *:[i32] })
20561 /* 55959 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
20562 /* 55962 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
20563 /* 55966 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20564 /* 55971 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
20565 /* 55973 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
20566 /* 55976 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrmi),
20567 /* 55980 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20568 /* 55985 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
20569 /* 55988 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20570 /* 55992 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
20571 /* 55995 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20572 /* 55999 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20573 /* 56001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20574 /* 56004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20575 /* 56006 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20576 /* 56009 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
20577 /* 56014 */ // GIR_Coverage, 18328,
20578 /* 56014 */ GIR_EraseRootFromParent_Done,
20579 /* 56015 */ // Label 1359: @56015
20580 /* 56015 */ GIM_Try, /*On fail goto*//*Label 1360*/ GIMT_Encode4(56057), // Rule ID 29 //
20581 /* 56020 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20582 /* 56023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
20583 /* 56027 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20584 /* 56031 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
20585 /* 56035 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20586 /* 56042 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20587 /* 56042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
20588 /* 56045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20589 /* 56047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20590 /* 56051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20591 /* 56055 */ GIR_RootConstrainSelectedInstOperands,
20592 /* 56056 */ // GIR_Coverage, 29,
20593 /* 56056 */ GIR_EraseRootFromParent_Done,
20594 /* 56057 */ // Label 1360: @56057
20595 /* 56057 */ GIM_Try, /*On fail goto*//*Label 1361*/ GIMT_Encode4(56143), // Rule ID 18324 //
20596 /* 56062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20597 /* 56065 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20598 /* 56068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20599 /* 56072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
20600 /* 56076 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20601 /* 56080 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20602 /* 56087 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[f16] } (PINSRWrmi:{ *:[f128] } (IMPLICIT_DEF:{ *:[v8i16] }), addr:{ *:[iPTR] }:$src, 0:{ *:[i8] }), FR16:{ *:[i32] })
20603 /* 56087 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
20604 /* 56090 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
20605 /* 56094 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20606 /* 56099 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
20607 /* 56101 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
20608 /* 56104 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrmi),
20609 /* 56108 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20610 /* 56113 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
20611 /* 56116 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20612 /* 56120 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
20613 /* 56123 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20614 /* 56127 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20615 /* 56129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20616 /* 56132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20617 /* 56134 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20618 /* 56137 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
20619 /* 56142 */ // GIR_Coverage, 18324,
20620 /* 56142 */ GIR_EraseRootFromParent_Done,
20621 /* 56143 */ // Label 1361: @56143
20622 /* 56143 */ GIM_Try, /*On fail goto*//*Label 1362*/ GIMT_Encode4(56229), // Rule ID 21847 //
20623 /* 56148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
20624 /* 56151 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20625 /* 56154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20626 /* 56158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
20627 /* 56162 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20628 /* 56166 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20629 /* 56173 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[f16] } (VPINSRWZrmi:{ *:[f128] } (IMPLICIT_DEF:{ *:[v8i16] }), addr:{ *:[iPTR] }:$src, 0:{ *:[i8] }), FR16X:{ *:[i32] })
20630 /* 56173 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
20631 /* 56176 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
20632 /* 56180 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20633 /* 56185 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
20634 /* 56187 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
20635 /* 56190 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrmi),
20636 /* 56194 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20637 /* 56199 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
20638 /* 56202 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20639 /* 56206 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
20640 /* 56209 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20641 /* 56213 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20642 /* 56215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20643 /* 56218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20644 /* 56220 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20645 /* 56223 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
20646 /* 56228 */ // GIR_Coverage, 21847,
20647 /* 56228 */ GIR_EraseRootFromParent_Done,
20648 /* 56229 */ // Label 1362: @56229
20649 /* 56229 */ GIM_Reject,
20650 /* 56230 */ // Label 1328: @56230
20651 /* 56230 */ GIM_Try, /*On fail goto*//*Label 1363*/ GIMT_Encode4(56278), // Rule ID 1079 //
20652 /* 56235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
20653 /* 56238 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20654 /* 56241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20655 /* 56245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
20656 /* 56249 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20657 /* 56253 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20658 /* 56260 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp32m:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20659 /* 56260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m),
20660 /* 56263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20661 /* 56265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20662 /* 56269 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20663 /* 56272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20664 /* 56276 */ GIR_RootConstrainSelectedInstOperands,
20665 /* 56277 */ // GIR_Coverage, 1079,
20666 /* 56277 */ GIR_EraseRootFromParent_Done,
20667 /* 56278 */ // Label 1363: @56278
20668 /* 56278 */ GIM_Try, /*On fail goto*//*Label 1364*/ GIMT_Encode4(56323), // Rule ID 1696 //
20669 /* 56283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
20670 /* 56286 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20671 /* 56289 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20672 /* 56293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
20673 /* 56297 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20674 /* 56301 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20675 /* 56308 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
20676 /* 56308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
20677 /* 56311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20678 /* 56313 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20679 /* 56317 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20680 /* 56321 */ GIR_RootConstrainSelectedInstOperands,
20681 /* 56322 */ // GIR_Coverage, 1696,
20682 /* 56322 */ GIR_EraseRootFromParent_Done,
20683 /* 56323 */ // Label 1364: @56323
20684 /* 56323 */ GIM_Try, /*On fail goto*//*Label 1365*/ GIMT_Encode4(56368), // Rule ID 1697 //
20685 /* 56328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20686 /* 56331 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20687 /* 56334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20688 /* 56338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
20689 /* 56342 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20690 /* 56346 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20691 /* 56353 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
20692 /* 56353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
20693 /* 56356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20694 /* 56358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20695 /* 56362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20696 /* 56366 */ GIR_RootConstrainSelectedInstOperands,
20697 /* 56367 */ // GIR_Coverage, 1697,
20698 /* 56367 */ GIR_EraseRootFromParent_Done,
20699 /* 56368 */ // Label 1365: @56368
20700 /* 56368 */ GIM_Try, /*On fail goto*//*Label 1366*/ GIMT_Encode4(56417), // Rule ID 22531 //
20701 /* 56373 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20702 /* 56376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20703 /* 56380 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
20704 /* 56387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20705 /* 56391 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20706 /* 56395 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20707 /* 56402 */ // (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20708 /* 56402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
20709 /* 56405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20710 /* 56407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20711 /* 56411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20712 /* 56415 */ GIR_RootConstrainSelectedInstOperands,
20713 /* 56416 */ // GIR_Coverage, 22531,
20714 /* 56416 */ GIR_EraseRootFromParent_Done,
20715 /* 56417 */ // Label 1366: @56417
20716 /* 56417 */ GIM_Try, /*On fail goto*//*Label 1367*/ GIMT_Encode4(56466), // Rule ID 22615 //
20717 /* 56422 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20718 /* 56425 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20719 /* 56429 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20720 /* 56436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20721 /* 56440 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20722 /* 56444 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20723 /* 56451 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20724 /* 56451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20725 /* 56454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20726 /* 56456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20727 /* 56460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20728 /* 56464 */ GIR_RootConstrainSelectedInstOperands,
20729 /* 56465 */ // GIR_Coverage, 22615,
20730 /* 56465 */ GIR_EraseRootFromParent_Done,
20731 /* 56466 */ // Label 1367: @56466
20732 /* 56466 */ GIM_Try, /*On fail goto*//*Label 1368*/ GIMT_Encode4(56515), // Rule ID 22617 //
20733 /* 56471 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20734 /* 56474 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20735 /* 56478 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20736 /* 56485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20737 /* 56489 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20738 /* 56493 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20739 /* 56500 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20740 /* 56500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20741 /* 56503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20742 /* 56505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20743 /* 56509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20744 /* 56513 */ GIR_RootConstrainSelectedInstOperands,
20745 /* 56514 */ // GIR_Coverage, 22617,
20746 /* 56514 */ GIR_EraseRootFromParent_Done,
20747 /* 56515 */ // Label 1368: @56515
20748 /* 56515 */ GIM_Try, /*On fail goto*//*Label 1369*/ GIMT_Encode4(56564), // Rule ID 22618 //
20749 /* 56520 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20750 /* 56523 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20751 /* 56527 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
20752 /* 56534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20753 /* 56538 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20754 /* 56542 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20755 /* 56549 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20756 /* 56549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
20757 /* 56552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20758 /* 56554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20759 /* 56558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20760 /* 56562 */ GIR_RootConstrainSelectedInstOperands,
20761 /* 56563 */ // GIR_Coverage, 22618,
20762 /* 56563 */ GIR_EraseRootFromParent_Done,
20763 /* 56564 */ // Label 1369: @56564
20764 /* 56564 */ GIM_Try, /*On fail goto*//*Label 1370*/ GIMT_Encode4(56609), // Rule ID 4612 //
20765 /* 56569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20766 /* 56572 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20767 /* 56575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20768 /* 56579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
20769 /* 56583 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20770 /* 56587 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20771 /* 56594 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSZrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
20772 /* 56594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
20773 /* 56597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20774 /* 56599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20775 /* 56603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20776 /* 56607 */ GIR_RootConstrainSelectedInstOperands,
20777 /* 56608 */ // GIR_Coverage, 4612,
20778 /* 56608 */ GIR_EraseRootFromParent_Done,
20779 /* 56609 */ // Label 1370: @56609
20780 /* 56609 */ GIM_Try, /*On fail goto*//*Label 1371*/ GIMT_Encode4(56651), // Rule ID 30 //
20781 /* 56614 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20782 /* 56617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20783 /* 56621 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20784 /* 56625 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
20785 /* 56629 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20786 /* 56636 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20787 /* 56636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
20788 /* 56639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20789 /* 56641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20790 /* 56645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20791 /* 56649 */ GIR_RootConstrainSelectedInstOperands,
20792 /* 56650 */ // GIR_Coverage, 30,
20793 /* 56650 */ GIR_EraseRootFromParent_Done,
20794 /* 56651 */ // Label 1371: @56651
20795 /* 56651 */ GIM_Reject,
20796 /* 56652 */ // Label 1329: @56652
20797 /* 56652 */ GIM_Try, /*On fail goto*//*Label 1372*/ GIMT_Encode4(56694), // Rule ID 31 //
20798 /* 56657 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20799 /* 56660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20800 /* 56664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20801 /* 56668 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20802 /* 56672 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20803 /* 56679 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20804 /* 56679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
20805 /* 56682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20806 /* 56684 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20807 /* 56688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20808 /* 56692 */ GIR_RootConstrainSelectedInstOperands,
20809 /* 56693 */ // GIR_Coverage, 31,
20810 /* 56693 */ GIR_EraseRootFromParent_Done,
20811 /* 56694 */ // Label 1372: @56694
20812 /* 56694 */ GIM_Try, /*On fail goto*//*Label 1373*/ GIMT_Encode4(56742), // Rule ID 1080 //
20813 /* 56699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
20814 /* 56702 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20815 /* 56705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20816 /* 56709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
20817 /* 56713 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20818 /* 56717 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20819 /* 56724 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp64m:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20820 /* 56724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m),
20821 /* 56727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20822 /* 56729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20823 /* 56733 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20824 /* 56736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20825 /* 56740 */ GIR_RootConstrainSelectedInstOperands,
20826 /* 56741 */ // GIR_Coverage, 1080,
20827 /* 56741 */ GIR_EraseRootFromParent_Done,
20828 /* 56742 */ // Label 1373: @56742
20829 /* 56742 */ GIM_Try, /*On fail goto*//*Label 1374*/ GIMT_Encode4(56797), // Rule ID 1082 //
20830 /* 56747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
20831 /* 56750 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20832 /* 56753 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20833 /* 56757 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
20834 /* 56764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
20835 /* 56768 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20836 /* 56772 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20837 /* 56779 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20838 /* 56779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m64),
20839 /* 56782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20840 /* 56784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20841 /* 56788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20842 /* 56791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20843 /* 56795 */ GIR_RootConstrainSelectedInstOperands,
20844 /* 56796 */ // GIR_Coverage, 1082,
20845 /* 56796 */ GIR_EraseRootFromParent_Done,
20846 /* 56797 */ // Label 1374: @56797
20847 /* 56797 */ GIM_Try, /*On fail goto*//*Label 1375*/ GIMT_Encode4(56842), // Rule ID 1700 //
20848 /* 56802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
20849 /* 56805 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20850 /* 56808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20851 /* 56812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20852 /* 56816 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20853 /* 56820 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20854 /* 56827 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20855 /* 56827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
20856 /* 56830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20857 /* 56832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20858 /* 56836 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20859 /* 56840 */ GIR_RootConstrainSelectedInstOperands,
20860 /* 56841 */ // GIR_Coverage, 1700,
20861 /* 56841 */ GIR_EraseRootFromParent_Done,
20862 /* 56842 */ // Label 1375: @56842
20863 /* 56842 */ GIM_Try, /*On fail goto*//*Label 1376*/ GIMT_Encode4(56887), // Rule ID 1701 //
20864 /* 56847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20865 /* 56850 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20866 /* 56853 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20867 /* 56857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20868 /* 56861 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20869 /* 56865 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20870 /* 56872 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20871 /* 56872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
20872 /* 56875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20873 /* 56877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20874 /* 56881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20875 /* 56885 */ GIR_RootConstrainSelectedInstOperands,
20876 /* 56886 */ // GIR_Coverage, 1701,
20877 /* 56886 */ GIR_EraseRootFromParent_Done,
20878 /* 56887 */ // Label 1376: @56887
20879 /* 56887 */ GIM_Try, /*On fail goto*//*Label 1377*/ GIMT_Encode4(56936), // Rule ID 22532 //
20880 /* 56892 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20881 /* 56895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20882 /* 56899 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
20883 /* 56906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20884 /* 56910 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20885 /* 56914 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20886 /* 56921 */ // (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20887 /* 56921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
20888 /* 56924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20889 /* 56926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20890 /* 56930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20891 /* 56934 */ GIR_RootConstrainSelectedInstOperands,
20892 /* 56935 */ // GIR_Coverage, 22532,
20893 /* 56935 */ GIR_EraseRootFromParent_Done,
20894 /* 56936 */ // Label 1377: @56936
20895 /* 56936 */ GIM_Try, /*On fail goto*//*Label 1378*/ GIMT_Encode4(57017), // Rule ID 22620 //
20896 /* 56941 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20897 /* 56944 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20898 /* 56948 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20899 /* 56955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20900 /* 56959 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20901 /* 56963 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20902 /* 56970 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
20903 /* 56970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20904 /* 56973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20905 /* 56977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20906 /* 56982 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20907 /* 56986 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20908 /* 56990 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20909 /* 56992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20910 /* 56995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20911 /* 56997 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
20912 /* 57000 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20913 /* 57003 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20914 /* 57006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20915 /* 57011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
20916 /* 57016 */ // GIR_Coverage, 22620,
20917 /* 57016 */ GIR_EraseRootFromParent_Done,
20918 /* 57017 */ // Label 1378: @57017
20919 /* 57017 */ GIM_Try, /*On fail goto*//*Label 1379*/ GIMT_Encode4(57098), // Rule ID 22621 //
20920 /* 57022 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20921 /* 57025 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20922 /* 57029 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20923 /* 57036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20924 /* 57040 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20925 /* 57044 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20926 /* 57051 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
20927 /* 57051 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20928 /* 57054 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20929 /* 57058 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20930 /* 57063 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20931 /* 57067 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20932 /* 57071 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20933 /* 57073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20934 /* 57076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20935 /* 57078 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
20936 /* 57081 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20937 /* 57084 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20938 /* 57087 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20939 /* 57092 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
20940 /* 57097 */ // GIR_Coverage, 22621,
20941 /* 57097 */ GIR_EraseRootFromParent_Done,
20942 /* 57098 */ // Label 1379: @57098
20943 /* 57098 */ GIM_Try, /*On fail goto*//*Label 1380*/ GIMT_Encode4(57179), // Rule ID 22622 //
20944 /* 57103 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20945 /* 57106 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20946 /* 57110 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
20947 /* 57117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20948 /* 57121 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20949 /* 57125 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20950 /* 57132 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
20951 /* 57132 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20952 /* 57135 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
20953 /* 57139 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20954 /* 57144 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20955 /* 57148 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20956 /* 57152 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20957 /* 57154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20958 /* 57157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20959 /* 57159 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
20960 /* 57162 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20961 /* 57165 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20962 /* 57168 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20963 /* 57173 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
20964 /* 57178 */ // GIR_Coverage, 22622,
20965 /* 57178 */ GIR_EraseRootFromParent_Done,
20966 /* 57179 */ // Label 1380: @57179
20967 /* 57179 */ GIM_Try, /*On fail goto*//*Label 1381*/ GIMT_Encode4(57224), // Rule ID 4618 //
20968 /* 57184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20969 /* 57187 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20970 /* 57190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20971 /* 57194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
20972 /* 57198 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20973 /* 57202 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20974 /* 57209 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDZrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20975 /* 57209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
20976 /* 57212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20977 /* 57214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20978 /* 57218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20979 /* 57222 */ GIR_RootConstrainSelectedInstOperands,
20980 /* 57223 */ // GIR_Coverage, 4618,
20981 /* 57223 */ GIR_EraseRootFromParent_Done,
20982 /* 57224 */ // Label 1381: @57224
20983 /* 57224 */ GIM_Reject,
20984 /* 57225 */ // Label 1330: @57225
20985 /* 57225 */ GIM_Try, /*On fail goto*//*Label 1382*/ GIMT_Encode4(57383),
20986 /* 57230 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20987 /* 57233 */ GIM_Try, /*On fail goto*//*Label 1383*/ GIMT_Encode4(57278), // Rule ID 1081 //
20988 /* 57238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
20989 /* 57241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20990 /* 57245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
20991 /* 57249 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20992 /* 57253 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20993 /* 57260 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp80m:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20994 /* 57260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp80m),
20995 /* 57263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20996 /* 57265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20997 /* 57269 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20998 /* 57272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20999 /* 57276 */ GIR_RootConstrainSelectedInstOperands,
21000 /* 57277 */ // GIR_Coverage, 1081,
21001 /* 57277 */ GIR_EraseRootFromParent_Done,
21002 /* 57278 */ // Label 1383: @57278
21003 /* 57278 */ GIM_Try, /*On fail goto*//*Label 1384*/ GIMT_Encode4(57330), // Rule ID 1083 //
21004 /* 57283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
21005 /* 57286 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21006 /* 57290 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
21007 /* 57297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
21008 /* 57301 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21009 /* 57305 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21010 /* 57312 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>> => (LD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21011 /* 57312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m80),
21012 /* 57315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21013 /* 57317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21014 /* 57321 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21015 /* 57324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21016 /* 57328 */ GIR_RootConstrainSelectedInstOperands,
21017 /* 57329 */ // GIR_Coverage, 1083,
21018 /* 57329 */ GIR_EraseRootFromParent_Done,
21019 /* 57330 */ // Label 1384: @57330
21020 /* 57330 */ GIM_Try, /*On fail goto*//*Label 1385*/ GIMT_Encode4(57382), // Rule ID 1084 //
21021 /* 57335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
21022 /* 57338 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21023 /* 57342 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21024 /* 57349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
21025 /* 57353 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21026 /* 57357 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21027 /* 57364 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
21028 /* 57364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m80),
21029 /* 57367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21030 /* 57369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21031 /* 57373 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
21032 /* 57376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21033 /* 57380 */ GIR_RootConstrainSelectedInstOperands,
21034 /* 57381 */ // GIR_Coverage, 1084,
21035 /* 57381 */ GIR_EraseRootFromParent_Done,
21036 /* 57382 */ // Label 1385: @57382
21037 /* 57382 */ GIM_Reject,
21038 /* 57383 */ // Label 1382: @57383
21039 /* 57383 */ GIM_Reject,
21040 /* 57384 */ // Label 1331: @57384
21041 /* 57384 */ GIM_Try, /*On fail goto*//*Label 1386*/ GIMT_Encode4(57511),
21042 /* 57389 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21043 /* 57392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21044 /* 57396 */ GIM_Try, /*On fail goto*//*Label 1387*/ GIMT_Encode4(57434), // Rule ID 23178 //
21045 /* 57401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
21046 /* 57404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21047 /* 57408 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21048 /* 57412 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21049 /* 57419 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
21050 /* 57419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21051 /* 57422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21052 /* 57424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21053 /* 57428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21054 /* 57432 */ GIR_RootConstrainSelectedInstOperands,
21055 /* 57433 */ // GIR_Coverage, 23178,
21056 /* 57433 */ GIR_EraseRootFromParent_Done,
21057 /* 57434 */ // Label 1387: @57434
21058 /* 57434 */ GIM_Try, /*On fail goto*//*Label 1388*/ GIMT_Encode4(57472), // Rule ID 23182 //
21059 /* 57439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21060 /* 57442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21061 /* 57446 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21062 /* 57450 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21063 /* 57457 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
21064 /* 57457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
21065 /* 57460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21066 /* 57462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21067 /* 57466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21068 /* 57470 */ GIR_RootConstrainSelectedInstOperands,
21069 /* 57471 */ // GIR_Coverage, 23182,
21070 /* 57471 */ GIR_EraseRootFromParent_Done,
21071 /* 57472 */ // Label 1388: @57472
21072 /* 57472 */ GIM_Try, /*On fail goto*//*Label 1389*/ GIMT_Encode4(57510), // Rule ID 23186 //
21073 /* 57477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21074 /* 57480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21075 /* 57484 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21076 /* 57488 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21077 /* 57495 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
21078 /* 57495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
21079 /* 57498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21080 /* 57500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21081 /* 57504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21082 /* 57508 */ GIR_RootConstrainSelectedInstOperands,
21083 /* 57509 */ // GIR_Coverage, 23186,
21084 /* 57509 */ GIR_EraseRootFromParent_Done,
21085 /* 57510 */ // Label 1389: @57510
21086 /* 57510 */ GIM_Reject,
21087 /* 57511 */ // Label 1386: @57511
21088 /* 57511 */ GIM_Reject,
21089 /* 57512 */ // Label 1332: @57512
21090 /* 57512 */ GIM_Try, /*On fail goto*//*Label 1390*/ GIMT_Encode4(57578), // Rule ID 19443 //
21091 /* 57517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
21092 /* 57520 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21093 /* 57523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21094 /* 57527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
21095 /* 57531 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21096 /* 57535 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21097 /* 57542 */ // (ld:{ *:[v2i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v2i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK2:{ *:[i32] })
21098 /* 57542 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
21099 /* 57545 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
21100 /* 57549 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21101 /* 57554 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21102 /* 57558 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21103 /* 57562 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21104 /* 57564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21105 /* 57567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21106 /* 57569 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21107 /* 57572 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
21108 /* 57577 */ // GIR_Coverage, 19443,
21109 /* 57577 */ GIR_EraseRootFromParent_Done,
21110 /* 57578 */ // Label 1390: @57578
21111 /* 57578 */ GIM_Reject,
21112 /* 57579 */ // Label 1333: @57579
21113 /* 57579 */ GIM_Try, /*On fail goto*//*Label 1391*/ GIMT_Encode4(58072),
21114 /* 57584 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21115 /* 57587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21116 /* 57591 */ GIM_Try, /*On fail goto*//*Label 1392*/ GIMT_Encode4(57633), // Rule ID 1703 //
21117 /* 57596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21118 /* 57599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21119 /* 57603 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21120 /* 57607 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21121 /* 57611 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21122 /* 57618 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21123 /* 57618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
21124 /* 57621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21125 /* 57623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21126 /* 57627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21127 /* 57631 */ GIR_RootConstrainSelectedInstOperands,
21128 /* 57632 */ // GIR_Coverage, 1703,
21129 /* 57632 */ GIR_EraseRootFromParent_Done,
21130 /* 57633 */ // Label 1392: @57633
21131 /* 57633 */ GIM_Try, /*On fail goto*//*Label 1393*/ GIMT_Encode4(57671), // Rule ID 1705 //
21132 /* 57638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21133 /* 57641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21134 /* 57645 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21135 /* 57649 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21136 /* 57656 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21137 /* 57656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDrm),
21138 /* 57659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21139 /* 57661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21140 /* 57665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21141 /* 57669 */ GIR_RootConstrainSelectedInstOperands,
21142 /* 57670 */ // GIR_Coverage, 1705,
21143 /* 57670 */ GIR_EraseRootFromParent_Done,
21144 /* 57671 */ // Label 1393: @57671
21145 /* 57671 */ GIM_Try, /*On fail goto*//*Label 1394*/ GIMT_Encode4(57713), // Rule ID 1712 //
21146 /* 57676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
21147 /* 57679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21148 /* 57683 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21149 /* 57687 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21150 /* 57691 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21151 /* 57698 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21152 /* 57698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
21153 /* 57701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21154 /* 57703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21155 /* 57707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21156 /* 57711 */ GIR_RootConstrainSelectedInstOperands,
21157 /* 57712 */ // GIR_Coverage, 1712,
21158 /* 57712 */ GIR_EraseRootFromParent_Done,
21159 /* 57713 */ // Label 1394: @57713
21160 /* 57713 */ GIM_Try, /*On fail goto*//*Label 1395*/ GIMT_Encode4(57751), // Rule ID 1713 //
21161 /* 57718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
21162 /* 57721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21163 /* 57725 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21164 /* 57729 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21165 /* 57736 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21166 /* 57736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDrm),
21167 /* 57739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21168 /* 57741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21169 /* 57745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21170 /* 57749 */ GIR_RootConstrainSelectedInstOperands,
21171 /* 57750 */ // GIR_Coverage, 1713,
21172 /* 57750 */ GIR_EraseRootFromParent_Done,
21173 /* 57751 */ // Label 1395: @57751
21174 /* 57751 */ GIM_Try, /*On fail goto*//*Label 1396*/ GIMT_Encode4(57793), // Rule ID 2517 //
21175 /* 57756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21176 /* 57759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21177 /* 57763 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21178 /* 57767 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21179 /* 57771 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21180 /* 57778 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21181 /* 57778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21182 /* 57781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21183 /* 57783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21184 /* 57787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21185 /* 57791 */ GIR_RootConstrainSelectedInstOperands,
21186 /* 57792 */ // GIR_Coverage, 2517,
21187 /* 57792 */ GIR_EraseRootFromParent_Done,
21188 /* 57793 */ // Label 1396: @57793
21189 /* 57793 */ GIM_Try, /*On fail goto*//*Label 1397*/ GIMT_Encode4(57831), // Rule ID 2518 //
21190 /* 57798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21191 /* 57801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21192 /* 57805 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21193 /* 57809 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21194 /* 57816 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21195 /* 57816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21196 /* 57819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21197 /* 57821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21198 /* 57825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21199 /* 57829 */ GIR_RootConstrainSelectedInstOperands,
21200 /* 57830 */ // GIR_Coverage, 2518,
21201 /* 57830 */ GIR_EraseRootFromParent_Done,
21202 /* 57831 */ // Label 1397: @57831
21203 /* 57831 */ GIM_Try, /*On fail goto*//*Label 1398*/ GIMT_Encode4(57873), // Rule ID 4493 //
21204 /* 57836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21205 /* 57839 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21206 /* 57843 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21207 /* 57847 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21208 /* 57851 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21209 /* 57858 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21210 /* 57858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
21211 /* 57861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21212 /* 57863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21213 /* 57867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21214 /* 57871 */ GIR_RootConstrainSelectedInstOperands,
21215 /* 57872 */ // GIR_Coverage, 4493,
21216 /* 57872 */ GIR_EraseRootFromParent_Done,
21217 /* 57873 */ // Label 1398: @57873
21218 /* 57873 */ GIM_Try, /*On fail goto*//*Label 1399*/ GIMT_Encode4(57911), // Rule ID 4518 //
21219 /* 57878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21220 /* 57881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21221 /* 57885 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21222 /* 57889 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21223 /* 57896 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21224 /* 57896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128rm),
21225 /* 57899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21226 /* 57901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21227 /* 57905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21228 /* 57909 */ GIR_RootConstrainSelectedInstOperands,
21229 /* 57910 */ // GIR_Coverage, 4518,
21230 /* 57910 */ GIR_EraseRootFromParent_Done,
21231 /* 57911 */ // Label 1399: @57911
21232 /* 57911 */ GIM_Try, /*On fail goto*//*Label 1400*/ GIMT_Encode4(57953), // Rule ID 4547 //
21233 /* 57916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21234 /* 57919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21235 /* 57923 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21236 /* 57927 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21237 /* 57931 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21238 /* 57938 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21239 /* 57938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21240 /* 57941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21241 /* 57943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21242 /* 57947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21243 /* 57951 */ GIR_RootConstrainSelectedInstOperands,
21244 /* 57952 */ // GIR_Coverage, 4547,
21245 /* 57952 */ GIR_EraseRootFromParent_Done,
21246 /* 57953 */ // Label 1400: @57953
21247 /* 57953 */ GIM_Try, /*On fail goto*//*Label 1401*/ GIMT_Encode4(57991), // Rule ID 4590 //
21248 /* 57958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21249 /* 57961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21250 /* 57965 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21251 /* 57969 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21252 /* 57976 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21253 /* 57976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21254 /* 57979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21255 /* 57981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21256 /* 57985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21257 /* 57989 */ GIR_RootConstrainSelectedInstOperands,
21258 /* 57990 */ // GIR_Coverage, 4590,
21259 /* 57990 */ GIR_EraseRootFromParent_Done,
21260 /* 57991 */ // Label 1401: @57991
21261 /* 57991 */ GIM_Try, /*On fail goto*//*Label 1402*/ GIMT_Encode4(58033), // Rule ID 17928 //
21262 /* 57996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21263 /* 57999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21264 /* 58003 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21265 /* 58007 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21266 /* 58011 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21267 /* 58018 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21268 /* 58018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21269 /* 58021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21270 /* 58023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21271 /* 58027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21272 /* 58031 */ GIR_RootConstrainSelectedInstOperands,
21273 /* 58032 */ // GIR_Coverage, 17928,
21274 /* 58032 */ GIR_EraseRootFromParent_Done,
21275 /* 58033 */ // Label 1402: @58033
21276 /* 58033 */ GIM_Try, /*On fail goto*//*Label 1403*/ GIMT_Encode4(58071), // Rule ID 17932 //
21277 /* 58038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21278 /* 58041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21279 /* 58045 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21280 /* 58049 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21281 /* 58056 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21282 /* 58056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21283 /* 58059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21284 /* 58061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21285 /* 58065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21286 /* 58069 */ GIR_RootConstrainSelectedInstOperands,
21287 /* 58070 */ // GIR_Coverage, 17932,
21288 /* 58070 */ GIR_EraseRootFromParent_Done,
21289 /* 58071 */ // Label 1403: @58071
21290 /* 58071 */ GIM_Reject,
21291 /* 58072 */ // Label 1391: @58072
21292 /* 58072 */ GIM_Reject,
21293 /* 58073 */ // Label 1334: @58073
21294 /* 58073 */ GIM_Try, /*On fail goto*//*Label 1404*/ GIMT_Encode4(58139), // Rule ID 19444 //
21295 /* 58078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
21296 /* 58081 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21297 /* 58084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21298 /* 58088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
21299 /* 58092 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21300 /* 58096 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21301 /* 58103 */ // (ld:{ *:[v4i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v4i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK4:{ *:[i32] })
21302 /* 58103 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
21303 /* 58106 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
21304 /* 58110 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21305 /* 58115 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21306 /* 58119 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21307 /* 58123 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21308 /* 58125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21309 /* 58128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21310 /* 58130 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
21311 /* 58133 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
21312 /* 58138 */ // GIR_Coverage, 19444,
21313 /* 58138 */ GIR_EraseRootFromParent_Done,
21314 /* 58139 */ // Label 1404: @58139
21315 /* 58139 */ GIM_Reject,
21316 /* 58140 */ // Label 1335: @58140
21317 /* 58140 */ GIM_Try, /*On fail goto*//*Label 1405*/ GIMT_Encode4(58633),
21318 /* 58145 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21319 /* 58148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21320 /* 58152 */ GIM_Try, /*On fail goto*//*Label 1406*/ GIMT_Encode4(58194), // Rule ID 1702 //
21321 /* 58157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21322 /* 58160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21323 /* 58164 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21324 /* 58168 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21325 /* 58172 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21326 /* 58179 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21327 /* 58179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
21328 /* 58182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21329 /* 58184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21330 /* 58188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21331 /* 58192 */ GIR_RootConstrainSelectedInstOperands,
21332 /* 58193 */ // GIR_Coverage, 1702,
21333 /* 58193 */ GIR_EraseRootFromParent_Done,
21334 /* 58194 */ // Label 1406: @58194
21335 /* 58194 */ GIM_Try, /*On fail goto*//*Label 1407*/ GIMT_Encode4(58232), // Rule ID 1704 //
21336 /* 58199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21337 /* 58202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21338 /* 58206 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21339 /* 58210 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21340 /* 58217 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21341 /* 58217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
21342 /* 58220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21343 /* 58222 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21344 /* 58226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21345 /* 58230 */ GIR_RootConstrainSelectedInstOperands,
21346 /* 58231 */ // GIR_Coverage, 1704,
21347 /* 58231 */ GIR_EraseRootFromParent_Done,
21348 /* 58232 */ // Label 1407: @58232
21349 /* 58232 */ GIM_Try, /*On fail goto*//*Label 1408*/ GIMT_Encode4(58274), // Rule ID 1710 //
21350 /* 58237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21351 /* 58240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21352 /* 58244 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21353 /* 58248 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21354 /* 58252 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21355 /* 58259 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21356 /* 58259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21357 /* 58262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21358 /* 58264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21359 /* 58268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21360 /* 58272 */ GIR_RootConstrainSelectedInstOperands,
21361 /* 58273 */ // GIR_Coverage, 1710,
21362 /* 58273 */ GIR_EraseRootFromParent_Done,
21363 /* 58274 */ // Label 1408: @58274
21364 /* 58274 */ GIM_Try, /*On fail goto*//*Label 1409*/ GIMT_Encode4(58312), // Rule ID 1711 //
21365 /* 58279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21366 /* 58282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21367 /* 58286 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21368 /* 58290 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21369 /* 58297 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21370 /* 58297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21371 /* 58300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21372 /* 58302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21373 /* 58306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21374 /* 58310 */ GIR_RootConstrainSelectedInstOperands,
21375 /* 58311 */ // GIR_Coverage, 1711,
21376 /* 58311 */ GIR_EraseRootFromParent_Done,
21377 /* 58312 */ // Label 1409: @58312
21378 /* 58312 */ GIM_Try, /*On fail goto*//*Label 1410*/ GIMT_Encode4(58354), // Rule ID 4475 //
21379 /* 58317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21380 /* 58320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21381 /* 58324 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21382 /* 58328 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21383 /* 58332 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21384 /* 58339 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21385 /* 58339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
21386 /* 58342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21387 /* 58344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21388 /* 58348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21389 /* 58352 */ GIR_RootConstrainSelectedInstOperands,
21390 /* 58353 */ // GIR_Coverage, 4475,
21391 /* 58353 */ GIR_EraseRootFromParent_Done,
21392 /* 58354 */ // Label 1410: @58354
21393 /* 58354 */ GIM_Try, /*On fail goto*//*Label 1411*/ GIMT_Encode4(58392), // Rule ID 4506 //
21394 /* 58359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21395 /* 58362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21396 /* 58366 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21397 /* 58370 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21398 /* 58377 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21399 /* 58377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
21400 /* 58380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21401 /* 58382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21402 /* 58386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21403 /* 58390 */ GIR_RootConstrainSelectedInstOperands,
21404 /* 58391 */ // GIR_Coverage, 4506,
21405 /* 58391 */ GIR_EraseRootFromParent_Done,
21406 /* 58392 */ // Label 1411: @58392
21407 /* 58392 */ GIM_Try, /*On fail goto*//*Label 1412*/ GIMT_Encode4(58434), // Rule ID 17929 //
21408 /* 58397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21409 /* 58400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21410 /* 58404 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21411 /* 58408 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21412 /* 58412 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21413 /* 58419 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21414 /* 58419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21415 /* 58422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21416 /* 58424 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21417 /* 58428 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21418 /* 58432 */ GIR_RootConstrainSelectedInstOperands,
21419 /* 58433 */ // GIR_Coverage, 17929,
21420 /* 58433 */ GIR_EraseRootFromParent_Done,
21421 /* 58434 */ // Label 1412: @58434
21422 /* 58434 */ GIM_Try, /*On fail goto*//*Label 1413*/ GIMT_Encode4(58472), // Rule ID 17933 //
21423 /* 58439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21424 /* 58442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21425 /* 58446 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21426 /* 58450 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21427 /* 58457 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21428 /* 58457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21429 /* 58460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21430 /* 58462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21431 /* 58466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21432 /* 58470 */ GIR_RootConstrainSelectedInstOperands,
21433 /* 58471 */ // GIR_Coverage, 17933,
21434 /* 58471 */ GIR_EraseRootFromParent_Done,
21435 /* 58472 */ // Label 1413: @58472
21436 /* 58472 */ GIM_Try, /*On fail goto*//*Label 1414*/ GIMT_Encode4(58514), // Rule ID 18308 //
21437 /* 58477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21438 /* 58480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21439 /* 58484 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21440 /* 58488 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21441 /* 58492 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21442 /* 58499 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21443 /* 58499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21444 /* 58502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21445 /* 58504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21446 /* 58508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21447 /* 58512 */ GIR_RootConstrainSelectedInstOperands,
21448 /* 58513 */ // GIR_Coverage, 18308,
21449 /* 58513 */ GIR_EraseRootFromParent_Done,
21450 /* 58514 */ // Label 1414: @58514
21451 /* 58514 */ GIM_Try, /*On fail goto*//*Label 1415*/ GIMT_Encode4(58552), // Rule ID 18312 //
21452 /* 58519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21453 /* 58522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21454 /* 58526 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21455 /* 58530 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21456 /* 58537 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21457 /* 58537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21458 /* 58540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21459 /* 58542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21460 /* 58546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21461 /* 58550 */ GIR_RootConstrainSelectedInstOperands,
21462 /* 58551 */ // GIR_Coverage, 18312,
21463 /* 58551 */ GIR_EraseRootFromParent_Done,
21464 /* 58552 */ // Label 1415: @58552
21465 /* 58552 */ GIM_Try, /*On fail goto*//*Label 1416*/ GIMT_Encode4(58594), // Rule ID 19820 //
21466 /* 58557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21467 /* 58560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21468 /* 58564 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21469 /* 58568 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21470 /* 58572 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21471 /* 58579 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21472 /* 58579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21473 /* 58582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21474 /* 58584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21475 /* 58588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21476 /* 58592 */ GIR_RootConstrainSelectedInstOperands,
21477 /* 58593 */ // GIR_Coverage, 19820,
21478 /* 58593 */ GIR_EraseRootFromParent_Done,
21479 /* 58594 */ // Label 1416: @58594
21480 /* 58594 */ GIM_Try, /*On fail goto*//*Label 1417*/ GIMT_Encode4(58632), // Rule ID 19824 //
21481 /* 58599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21482 /* 58602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21483 /* 58606 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21484 /* 58610 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21485 /* 58617 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21486 /* 58617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21487 /* 58620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21488 /* 58622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21489 /* 58626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21490 /* 58630 */ GIR_RootConstrainSelectedInstOperands,
21491 /* 58631 */ // GIR_Coverage, 19824,
21492 /* 58631 */ GIR_EraseRootFromParent_Done,
21493 /* 58632 */ // Label 1417: @58632
21494 /* 58632 */ GIM_Reject,
21495 /* 58633 */ // Label 1405: @58633
21496 /* 58633 */ GIM_Reject,
21497 /* 58634 */ // Label 1336: @58634
21498 /* 58634 */ GIM_Try, /*On fail goto*//*Label 1418*/ GIMT_Encode4(58967),
21499 /* 58639 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21500 /* 58642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21501 /* 58646 */ GIM_Try, /*On fail goto*//*Label 1419*/ GIMT_Encode4(58688), // Rule ID 1707 //
21502 /* 58651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21503 /* 58654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21504 /* 58658 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21505 /* 58662 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21506 /* 58666 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21507 /* 58673 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21508 /* 58673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYrm),
21509 /* 58676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21510 /* 58678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21511 /* 58682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21512 /* 58686 */ GIR_RootConstrainSelectedInstOperands,
21513 /* 58687 */ // GIR_Coverage, 1707,
21514 /* 58687 */ GIR_EraseRootFromParent_Done,
21515 /* 58688 */ // Label 1419: @58688
21516 /* 58688 */ GIM_Try, /*On fail goto*//*Label 1420*/ GIMT_Encode4(58726), // Rule ID 1709 //
21517 /* 58693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21518 /* 58696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21519 /* 58700 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21520 /* 58704 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21521 /* 58711 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21522 /* 58711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYrm),
21523 /* 58714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21524 /* 58716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21525 /* 58720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21526 /* 58724 */ GIR_RootConstrainSelectedInstOperands,
21527 /* 58725 */ // GIR_Coverage, 1709,
21528 /* 58725 */ GIR_EraseRootFromParent_Done,
21529 /* 58726 */ // Label 1420: @58726
21530 /* 58726 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(58768), // Rule ID 4488 //
21531 /* 58731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21532 /* 58734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21533 /* 58738 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21534 /* 58742 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21535 /* 58746 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21536 /* 58753 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21537 /* 58753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rm),
21538 /* 58756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21539 /* 58758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21540 /* 58762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21541 /* 58766 */ GIR_RootConstrainSelectedInstOperands,
21542 /* 58767 */ // GIR_Coverage, 4488,
21543 /* 58767 */ GIR_EraseRootFromParent_Done,
21544 /* 58768 */ // Label 1421: @58768
21545 /* 58768 */ GIM_Try, /*On fail goto*//*Label 1422*/ GIMT_Encode4(58806), // Rule ID 4515 //
21546 /* 58773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21547 /* 58776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21548 /* 58780 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21549 /* 58784 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21550 /* 58791 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21551 /* 58791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256rm),
21552 /* 58794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21553 /* 58796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21554 /* 58800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21555 /* 58804 */ GIR_RootConstrainSelectedInstOperands,
21556 /* 58805 */ // GIR_Coverage, 4515,
21557 /* 58805 */ GIR_EraseRootFromParent_Done,
21558 /* 58806 */ // Label 1422: @58806
21559 /* 58806 */ GIM_Try, /*On fail goto*//*Label 1423*/ GIMT_Encode4(58848), // Rule ID 4542 //
21560 /* 58811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21561 /* 58814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21562 /* 58818 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21563 /* 58822 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21564 /* 58826 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21565 /* 58833 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21566 /* 58833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21567 /* 58836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21568 /* 58838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21569 /* 58842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21570 /* 58846 */ GIR_RootConstrainSelectedInstOperands,
21571 /* 58847 */ // GIR_Coverage, 4542,
21572 /* 58847 */ GIR_EraseRootFromParent_Done,
21573 /* 58848 */ // Label 1423: @58848
21574 /* 58848 */ GIM_Try, /*On fail goto*//*Label 1424*/ GIMT_Encode4(58886), // Rule ID 4587 //
21575 /* 58853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21576 /* 58856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21577 /* 58860 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21578 /* 58864 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21579 /* 58871 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21580 /* 58871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21581 /* 58874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21582 /* 58876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21583 /* 58880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21584 /* 58884 */ GIR_RootConstrainSelectedInstOperands,
21585 /* 58885 */ // GIR_Coverage, 4587,
21586 /* 58885 */ GIR_EraseRootFromParent_Done,
21587 /* 58886 */ // Label 1424: @58886
21588 /* 58886 */ GIM_Try, /*On fail goto*//*Label 1425*/ GIMT_Encode4(58928), // Rule ID 17904 //
21589 /* 58891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21590 /* 58894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21591 /* 58898 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21592 /* 58902 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21593 /* 58906 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21594 /* 58913 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21595 /* 58913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21596 /* 58916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21597 /* 58918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21598 /* 58922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21599 /* 58926 */ GIR_RootConstrainSelectedInstOperands,
21600 /* 58927 */ // GIR_Coverage, 17904,
21601 /* 58927 */ GIR_EraseRootFromParent_Done,
21602 /* 58928 */ // Label 1425: @58928
21603 /* 58928 */ GIM_Try, /*On fail goto*//*Label 1426*/ GIMT_Encode4(58966), // Rule ID 17908 //
21604 /* 58933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21605 /* 58936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21606 /* 58940 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21607 /* 58944 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21608 /* 58951 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21609 /* 58951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21610 /* 58954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21611 /* 58956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21612 /* 58960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21613 /* 58964 */ GIR_RootConstrainSelectedInstOperands,
21614 /* 58965 */ // GIR_Coverage, 17908,
21615 /* 58965 */ GIR_EraseRootFromParent_Done,
21616 /* 58966 */ // Label 1426: @58966
21617 /* 58966 */ GIM_Reject,
21618 /* 58967 */ // Label 1418: @58967
21619 /* 58967 */ GIM_Reject,
21620 /* 58968 */ // Label 1337: @58968
21621 /* 58968 */ GIM_Try, /*On fail goto*//*Label 1427*/ GIMT_Encode4(59049),
21622 /* 58973 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21623 /* 58976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21624 /* 58980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
21625 /* 58984 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21626 /* 58988 */ GIM_Try, /*On fail goto*//*Label 1428*/ GIMT_Encode4(59018), // Rule ID 4396 //
21627 /* 58993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
21628 /* 58996 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21629 /* 59003 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
21630 /* 59003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
21631 /* 59006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21632 /* 59008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21633 /* 59012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21634 /* 59016 */ GIR_RootConstrainSelectedInstOperands,
21635 /* 59017 */ // GIR_Coverage, 4396,
21636 /* 59017 */ GIR_EraseRootFromParent_Done,
21637 /* 59018 */ // Label 1428: @59018
21638 /* 59018 */ GIM_Try, /*On fail goto*//*Label 1429*/ GIMT_Encode4(59048), // Rule ID 4398 //
21639 /* 59023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
21640 /* 59026 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21641 /* 59033 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm_EVEX:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
21642 /* 59033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm_EVEX),
21643 /* 59036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21644 /* 59038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21645 /* 59042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21646 /* 59046 */ GIR_RootConstrainSelectedInstOperands,
21647 /* 59047 */ // GIR_Coverage, 4398,
21648 /* 59047 */ GIR_EraseRootFromParent_Done,
21649 /* 59048 */ // Label 1429: @59048
21650 /* 59048 */ GIM_Reject,
21651 /* 59049 */ // Label 1427: @59049
21652 /* 59049 */ GIM_Reject,
21653 /* 59050 */ // Label 1338: @59050
21654 /* 59050 */ GIM_Try, /*On fail goto*//*Label 1430*/ GIMT_Encode4(59623),
21655 /* 59055 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21656 /* 59058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21657 /* 59062 */ GIM_Try, /*On fail goto*//*Label 1431*/ GIMT_Encode4(59104), // Rule ID 17920 //
21658 /* 59067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21659 /* 59070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21660 /* 59074 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21661 /* 59078 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21662 /* 59082 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21663 /* 59089 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21664 /* 59089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
21665 /* 59092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21666 /* 59094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21667 /* 59098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21668 /* 59102 */ GIR_RootConstrainSelectedInstOperands,
21669 /* 59103 */ // GIR_Coverage, 17920,
21670 /* 59103 */ GIR_EraseRootFromParent_Done,
21671 /* 59104 */ // Label 1431: @59104
21672 /* 59104 */ GIM_Try, /*On fail goto*//*Label 1432*/ GIMT_Encode4(59142), // Rule ID 17921 //
21673 /* 59109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21674 /* 59112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21675 /* 59116 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21676 /* 59120 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21677 /* 59127 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21678 /* 59127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
21679 /* 59130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21680 /* 59132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21681 /* 59136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21682 /* 59140 */ GIR_RootConstrainSelectedInstOperands,
21683 /* 59141 */ // GIR_Coverage, 17921,
21684 /* 59141 */ GIR_EraseRootFromParent_Done,
21685 /* 59142 */ // Label 1432: @59142
21686 /* 59142 */ GIM_Try, /*On fail goto*//*Label 1433*/ GIMT_Encode4(59184), // Rule ID 17930 //
21687 /* 59147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21688 /* 59150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21689 /* 59154 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21690 /* 59158 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21691 /* 59162 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21692 /* 59169 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21693 /* 59169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21694 /* 59172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21695 /* 59174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21696 /* 59178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21697 /* 59182 */ GIR_RootConstrainSelectedInstOperands,
21698 /* 59183 */ // GIR_Coverage, 17930,
21699 /* 59183 */ GIR_EraseRootFromParent_Done,
21700 /* 59184 */ // Label 1433: @59184
21701 /* 59184 */ GIM_Try, /*On fail goto*//*Label 1434*/ GIMT_Encode4(59222), // Rule ID 17934 //
21702 /* 59189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21703 /* 59192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21704 /* 59196 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21705 /* 59200 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21706 /* 59207 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21707 /* 59207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21708 /* 59210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21709 /* 59212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21710 /* 59216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21711 /* 59220 */ GIR_RootConstrainSelectedInstOperands,
21712 /* 59221 */ // GIR_Coverage, 17934,
21713 /* 59221 */ GIR_EraseRootFromParent_Done,
21714 /* 59222 */ // Label 1434: @59222
21715 /* 59222 */ GIM_Try, /*On fail goto*//*Label 1435*/ GIMT_Encode4(59264), // Rule ID 17944 //
21716 /* 59227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
21717 /* 59230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21718 /* 59234 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21719 /* 59238 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21720 /* 59242 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21721 /* 59249 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21722 /* 59249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21723 /* 59252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21724 /* 59254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21725 /* 59258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21726 /* 59262 */ GIR_RootConstrainSelectedInstOperands,
21727 /* 59263 */ // GIR_Coverage, 17944,
21728 /* 59263 */ GIR_EraseRootFromParent_Done,
21729 /* 59264 */ // Label 1435: @59264
21730 /* 59264 */ GIM_Try, /*On fail goto*//*Label 1436*/ GIMT_Encode4(59302), // Rule ID 17945 //
21731 /* 59269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
21732 /* 59272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21733 /* 59276 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21734 /* 59280 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21735 /* 59287 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21736 /* 59287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21737 /* 59290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21738 /* 59292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21739 /* 59296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21740 /* 59300 */ GIR_RootConstrainSelectedInstOperands,
21741 /* 59301 */ // GIR_Coverage, 17945,
21742 /* 59301 */ GIR_EraseRootFromParent_Done,
21743 /* 59302 */ // Label 1436: @59302
21744 /* 59302 */ GIM_Try, /*On fail goto*//*Label 1437*/ GIMT_Encode4(59344), // Rule ID 18309 //
21745 /* 59307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21746 /* 59310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21747 /* 59314 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21748 /* 59318 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21749 /* 59322 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21750 /* 59329 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21751 /* 59329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21752 /* 59332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21753 /* 59334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21754 /* 59338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21755 /* 59342 */ GIR_RootConstrainSelectedInstOperands,
21756 /* 59343 */ // GIR_Coverage, 18309,
21757 /* 59343 */ GIR_EraseRootFromParent_Done,
21758 /* 59344 */ // Label 1437: @59344
21759 /* 59344 */ GIM_Try, /*On fail goto*//*Label 1438*/ GIMT_Encode4(59386), // Rule ID 18310 //
21760 /* 59349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21761 /* 59352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21762 /* 59356 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21763 /* 59360 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21764 /* 59364 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21765 /* 59371 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21766 /* 59371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21767 /* 59374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21768 /* 59376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21769 /* 59380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21770 /* 59384 */ GIR_RootConstrainSelectedInstOperands,
21771 /* 59385 */ // GIR_Coverage, 18310,
21772 /* 59385 */ GIR_EraseRootFromParent_Done,
21773 /* 59386 */ // Label 1438: @59386
21774 /* 59386 */ GIM_Try, /*On fail goto*//*Label 1439*/ GIMT_Encode4(59424), // Rule ID 18313 //
21775 /* 59391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21776 /* 59394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21777 /* 59398 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21778 /* 59402 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21779 /* 59409 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21780 /* 59409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21781 /* 59412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21782 /* 59414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21783 /* 59418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21784 /* 59422 */ GIR_RootConstrainSelectedInstOperands,
21785 /* 59423 */ // GIR_Coverage, 18313,
21786 /* 59423 */ GIR_EraseRootFromParent_Done,
21787 /* 59424 */ // Label 1439: @59424
21788 /* 59424 */ GIM_Try, /*On fail goto*//*Label 1440*/ GIMT_Encode4(59462), // Rule ID 18314 //
21789 /* 59429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21790 /* 59432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21791 /* 59436 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21792 /* 59440 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21793 /* 59447 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21794 /* 59447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21795 /* 59450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21796 /* 59452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21797 /* 59456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21798 /* 59460 */ GIR_RootConstrainSelectedInstOperands,
21799 /* 59461 */ // GIR_Coverage, 18314,
21800 /* 59461 */ GIR_EraseRootFromParent_Done,
21801 /* 59462 */ // Label 1440: @59462
21802 /* 59462 */ GIM_Try, /*On fail goto*//*Label 1441*/ GIMT_Encode4(59504), // Rule ID 19821 //
21803 /* 59467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21804 /* 59470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21805 /* 59474 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21806 /* 59478 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21807 /* 59482 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21808 /* 59489 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21809 /* 59489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21810 /* 59492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21811 /* 59494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21812 /* 59498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21813 /* 59502 */ GIR_RootConstrainSelectedInstOperands,
21814 /* 59503 */ // GIR_Coverage, 19821,
21815 /* 59503 */ GIR_EraseRootFromParent_Done,
21816 /* 59504 */ // Label 1441: @59504
21817 /* 59504 */ GIM_Try, /*On fail goto*//*Label 1442*/ GIMT_Encode4(59546), // Rule ID 19822 //
21818 /* 59509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21819 /* 59512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21820 /* 59516 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21821 /* 59520 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21822 /* 59524 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21823 /* 59531 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21824 /* 59531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
21825 /* 59534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21826 /* 59536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21827 /* 59540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21828 /* 59544 */ GIR_RootConstrainSelectedInstOperands,
21829 /* 59545 */ // GIR_Coverage, 19822,
21830 /* 59545 */ GIR_EraseRootFromParent_Done,
21831 /* 59546 */ // Label 1442: @59546
21832 /* 59546 */ GIM_Try, /*On fail goto*//*Label 1443*/ GIMT_Encode4(59584), // Rule ID 19825 //
21833 /* 59551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21834 /* 59554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21835 /* 59558 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21836 /* 59562 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21837 /* 59569 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
21838 /* 59569 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21839 /* 59572 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21840 /* 59574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21841 /* 59578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21842 /* 59582 */ GIR_RootConstrainSelectedInstOperands,
21843 /* 59583 */ // GIR_Coverage, 19825,
21844 /* 59583 */ GIR_EraseRootFromParent_Done,
21845 /* 59584 */ // Label 1443: @59584
21846 /* 59584 */ GIM_Try, /*On fail goto*//*Label 1444*/ GIMT_Encode4(59622), // Rule ID 19826 //
21847 /* 59589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21848 /* 59592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21849 /* 59596 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21850 /* 59600 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21851 /* 59607 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
21852 /* 59607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
21853 /* 59610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21854 /* 59612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21855 /* 59616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21856 /* 59620 */ GIR_RootConstrainSelectedInstOperands,
21857 /* 59621 */ // GIR_Coverage, 19826,
21858 /* 59621 */ GIR_EraseRootFromParent_Done,
21859 /* 59622 */ // Label 1444: @59622
21860 /* 59622 */ GIM_Reject,
21861 /* 59623 */ // Label 1430: @59623
21862 /* 59623 */ GIM_Reject,
21863 /* 59624 */ // Label 1339: @59624
21864 /* 59624 */ GIM_Try, /*On fail goto*//*Label 1445*/ GIMT_Encode4(59957),
21865 /* 59629 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21866 /* 59632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21867 /* 59636 */ GIM_Try, /*On fail goto*//*Label 1446*/ GIMT_Encode4(59678), // Rule ID 1706 //
21868 /* 59641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21869 /* 59644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21870 /* 59648 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21871 /* 59652 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21872 /* 59656 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21873 /* 59663 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21874 /* 59663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21875 /* 59666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21876 /* 59668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21877 /* 59672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21878 /* 59676 */ GIR_RootConstrainSelectedInstOperands,
21879 /* 59677 */ // GIR_Coverage, 1706,
21880 /* 59677 */ GIR_EraseRootFromParent_Done,
21881 /* 59678 */ // Label 1446: @59678
21882 /* 59678 */ GIM_Try, /*On fail goto*//*Label 1447*/ GIMT_Encode4(59716), // Rule ID 1708 //
21883 /* 59683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21884 /* 59686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21885 /* 59690 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21886 /* 59694 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21887 /* 59701 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21888 /* 59701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21889 /* 59704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21890 /* 59706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21891 /* 59710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21892 /* 59714 */ GIR_RootConstrainSelectedInstOperands,
21893 /* 59715 */ // GIR_Coverage, 1708,
21894 /* 59715 */ GIR_EraseRootFromParent_Done,
21895 /* 59716 */ // Label 1447: @59716
21896 /* 59716 */ GIM_Try, /*On fail goto*//*Label 1448*/ GIMT_Encode4(59758), // Rule ID 4470 //
21897 /* 59721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21898 /* 59724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21899 /* 59728 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21900 /* 59732 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21901 /* 59736 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21902 /* 59743 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21903 /* 59743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
21904 /* 59746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21905 /* 59748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21906 /* 59752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21907 /* 59756 */ GIR_RootConstrainSelectedInstOperands,
21908 /* 59757 */ // GIR_Coverage, 4470,
21909 /* 59757 */ GIR_EraseRootFromParent_Done,
21910 /* 59758 */ // Label 1448: @59758
21911 /* 59758 */ GIM_Try, /*On fail goto*//*Label 1449*/ GIMT_Encode4(59796), // Rule ID 4503 //
21912 /* 59763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21913 /* 59766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21914 /* 59770 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21915 /* 59774 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21916 /* 59781 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21917 /* 59781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
21918 /* 59784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21919 /* 59786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21920 /* 59790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21921 /* 59794 */ GIR_RootConstrainSelectedInstOperands,
21922 /* 59795 */ // GIR_Coverage, 4503,
21923 /* 59795 */ GIR_EraseRootFromParent_Done,
21924 /* 59796 */ // Label 1449: @59796
21925 /* 59796 */ GIM_Try, /*On fail goto*//*Label 1450*/ GIMT_Encode4(59838), // Rule ID 17905 //
21926 /* 59801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21927 /* 59804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21928 /* 59808 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21929 /* 59812 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21930 /* 59816 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21931 /* 59823 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21932 /* 59823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21933 /* 59826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21934 /* 59828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21935 /* 59832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21936 /* 59836 */ GIR_RootConstrainSelectedInstOperands,
21937 /* 59837 */ // GIR_Coverage, 17905,
21938 /* 59837 */ GIR_EraseRootFromParent_Done,
21939 /* 59838 */ // Label 1450: @59838
21940 /* 59838 */ GIM_Try, /*On fail goto*//*Label 1451*/ GIMT_Encode4(59876), // Rule ID 17909 //
21941 /* 59843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21942 /* 59846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21943 /* 59850 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21944 /* 59854 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21945 /* 59861 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21946 /* 59861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21947 /* 59864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21948 /* 59866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21949 /* 59870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21950 /* 59874 */ GIR_RootConstrainSelectedInstOperands,
21951 /* 59875 */ // GIR_Coverage, 17909,
21952 /* 59875 */ GIR_EraseRootFromParent_Done,
21953 /* 59876 */ // Label 1451: @59876
21954 /* 59876 */ GIM_Try, /*On fail goto*//*Label 1452*/ GIMT_Encode4(59918), // Rule ID 19836 //
21955 /* 59881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21956 /* 59884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21957 /* 59888 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21958 /* 59892 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21959 /* 59896 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21960 /* 59903 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21961 /* 59903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21962 /* 59906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21963 /* 59908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21964 /* 59912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21965 /* 59916 */ GIR_RootConstrainSelectedInstOperands,
21966 /* 59917 */ // GIR_Coverage, 19836,
21967 /* 59917 */ GIR_EraseRootFromParent_Done,
21968 /* 59918 */ // Label 1452: @59918
21969 /* 59918 */ GIM_Try, /*On fail goto*//*Label 1453*/ GIMT_Encode4(59956), // Rule ID 19840 //
21970 /* 59923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21971 /* 59926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21972 /* 59930 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21973 /* 59934 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21974 /* 59941 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21975 /* 59941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21976 /* 59944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21977 /* 59946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21978 /* 59950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21979 /* 59954 */ GIR_RootConstrainSelectedInstOperands,
21980 /* 59955 */ // GIR_Coverage, 19840,
21981 /* 59955 */ GIR_EraseRootFromParent_Done,
21982 /* 59956 */ // Label 1453: @59956
21983 /* 59956 */ GIM_Reject,
21984 /* 59957 */ // Label 1445: @59957
21985 /* 59957 */ GIM_Reject,
21986 /* 59958 */ // Label 1340: @59958
21987 /* 59958 */ GIM_Try, /*On fail goto*//*Label 1454*/ GIMT_Encode4(60131),
21988 /* 59963 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21989 /* 59966 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21990 /* 59970 */ GIM_Try, /*On fail goto*//*Label 1455*/ GIMT_Encode4(60012), // Rule ID 4483 //
21991 /* 59975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21992 /* 59978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21993 /* 59982 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21994 /* 59986 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21995 /* 59990 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21996 /* 59997 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21997 /* 59997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrm),
21998 /* 60000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21999 /* 60002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22000 /* 60006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22001 /* 60010 */ GIR_RootConstrainSelectedInstOperands,
22002 /* 60011 */ // GIR_Coverage, 4483,
22003 /* 60011 */ GIR_EraseRootFromParent_Done,
22004 /* 60012 */ // Label 1455: @60012
22005 /* 60012 */ GIM_Try, /*On fail goto*//*Label 1456*/ GIMT_Encode4(60050), // Rule ID 4512 //
22006 /* 60017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22007 /* 60020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22008 /* 60024 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22009 /* 60028 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22010 /* 60035 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
22011 /* 60035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZrm),
22012 /* 60038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22013 /* 60040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22014 /* 60044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22015 /* 60048 */ GIR_RootConstrainSelectedInstOperands,
22016 /* 60049 */ // GIR_Coverage, 4512,
22017 /* 60049 */ GIR_EraseRootFromParent_Done,
22018 /* 60050 */ // Label 1456: @60050
22019 /* 60050 */ GIM_Try, /*On fail goto*//*Label 1457*/ GIMT_Encode4(60092), // Rule ID 4537 //
22020 /* 60055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22021 /* 60058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22022 /* 60062 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22023 /* 60066 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22024 /* 60070 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22025 /* 60077 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
22026 /* 60077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
22027 /* 60080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22028 /* 60082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22029 /* 60086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22030 /* 60090 */ GIR_RootConstrainSelectedInstOperands,
22031 /* 60091 */ // GIR_Coverage, 4537,
22032 /* 60091 */ GIR_EraseRootFromParent_Done,
22033 /* 60092 */ // Label 1457: @60092
22034 /* 60092 */ GIM_Try, /*On fail goto*//*Label 1458*/ GIMT_Encode4(60130), // Rule ID 4584 //
22035 /* 60097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22036 /* 60100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22037 /* 60104 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22038 /* 60108 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22039 /* 60115 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
22040 /* 60115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
22041 /* 60118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22042 /* 60120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22043 /* 60124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22044 /* 60128 */ GIR_RootConstrainSelectedInstOperands,
22045 /* 60129 */ // GIR_Coverage, 4584,
22046 /* 60129 */ GIR_EraseRootFromParent_Done,
22047 /* 60130 */ // Label 1458: @60130
22048 /* 60130 */ GIM_Reject,
22049 /* 60131 */ // Label 1454: @60131
22050 /* 60131 */ GIM_Reject,
22051 /* 60132 */ // Label 1341: @60132
22052 /* 60132 */ GIM_Try, /*On fail goto*//*Label 1459*/ GIMT_Encode4(60213),
22053 /* 60137 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22054 /* 60140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22055 /* 60144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
22056 /* 60148 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22057 /* 60152 */ GIM_Try, /*On fail goto*//*Label 1460*/ GIMT_Encode4(60182), // Rule ID 4400 //
22058 /* 60157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
22059 /* 60160 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22060 /* 60167 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
22061 /* 60167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
22062 /* 60170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22063 /* 60172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22064 /* 60176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22065 /* 60180 */ GIR_RootConstrainSelectedInstOperands,
22066 /* 60181 */ // GIR_Coverage, 4400,
22067 /* 60181 */ GIR_EraseRootFromParent_Done,
22068 /* 60182 */ // Label 1460: @60182
22069 /* 60182 */ GIM_Try, /*On fail goto*//*Label 1461*/ GIMT_Encode4(60212), // Rule ID 4402 //
22070 /* 60187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
22071 /* 60190 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22072 /* 60197 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm_EVEX:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
22073 /* 60197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm_EVEX),
22074 /* 60200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22075 /* 60202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22076 /* 60206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22077 /* 60210 */ GIR_RootConstrainSelectedInstOperands,
22078 /* 60211 */ // GIR_Coverage, 4402,
22079 /* 60211 */ GIR_EraseRootFromParent_Done,
22080 /* 60212 */ // Label 1461: @60212
22081 /* 60212 */ GIM_Reject,
22082 /* 60213 */ // Label 1459: @60213
22083 /* 60213 */ GIM_Reject,
22084 /* 60214 */ // Label 1342: @60214
22085 /* 60214 */ GIM_Try, /*On fail goto*//*Label 1462*/ GIMT_Encode4(60467),
22086 /* 60219 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22087 /* 60222 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22088 /* 60226 */ GIM_Try, /*On fail goto*//*Label 1463*/ GIMT_Encode4(60268), // Rule ID 17931 //
22089 /* 60231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
22090 /* 60234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
22091 /* 60238 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22092 /* 60242 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22093 /* 60246 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22094 /* 60253 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
22095 /* 60253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
22096 /* 60256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22097 /* 60258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22098 /* 60262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22099 /* 60266 */ GIR_RootConstrainSelectedInstOperands,
22100 /* 60267 */ // GIR_Coverage, 17931,
22101 /* 60267 */ GIR_EraseRootFromParent_Done,
22102 /* 60268 */ // Label 1463: @60268
22103 /* 60268 */ GIM_Try, /*On fail goto*//*Label 1464*/ GIMT_Encode4(60306), // Rule ID 17935 //
22104 /* 60273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
22105 /* 60276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
22106 /* 60280 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22107 /* 60284 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22108 /* 60291 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
22109 /* 60291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
22110 /* 60294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22111 /* 60296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22112 /* 60300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22113 /* 60304 */ GIR_RootConstrainSelectedInstOperands,
22114 /* 60305 */ // GIR_Coverage, 17935,
22115 /* 60305 */ GIR_EraseRootFromParent_Done,
22116 /* 60306 */ // Label 1464: @60306
22117 /* 60306 */ GIM_Try, /*On fail goto*//*Label 1465*/ GIMT_Encode4(60348), // Rule ID 18311 //
22118 /* 60311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22119 /* 60314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
22120 /* 60318 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22121 /* 60322 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22122 /* 60326 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22123 /* 60333 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
22124 /* 60333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
22125 /* 60336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22126 /* 60338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22127 /* 60342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22128 /* 60346 */ GIR_RootConstrainSelectedInstOperands,
22129 /* 60347 */ // GIR_Coverage, 18311,
22130 /* 60347 */ GIR_EraseRootFromParent_Done,
22131 /* 60348 */ // Label 1465: @60348
22132 /* 60348 */ GIM_Try, /*On fail goto*//*Label 1466*/ GIMT_Encode4(60386), // Rule ID 18315 //
22133 /* 60353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22134 /* 60356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
22135 /* 60360 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22136 /* 60364 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22137 /* 60371 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
22138 /* 60371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
22139 /* 60374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22140 /* 60376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22141 /* 60380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22142 /* 60384 */ GIR_RootConstrainSelectedInstOperands,
22143 /* 60385 */ // GIR_Coverage, 18315,
22144 /* 60385 */ GIR_EraseRootFromParent_Done,
22145 /* 60386 */ // Label 1466: @60386
22146 /* 60386 */ GIM_Try, /*On fail goto*//*Label 1467*/ GIMT_Encode4(60428), // Rule ID 19823 //
22147 /* 60391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22148 /* 60394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
22149 /* 60398 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22150 /* 60402 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22151 /* 60406 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22152 /* 60413 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
22153 /* 60413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
22154 /* 60416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22155 /* 60418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22156 /* 60422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22157 /* 60426 */ GIR_RootConstrainSelectedInstOperands,
22158 /* 60427 */ // GIR_Coverage, 19823,
22159 /* 60427 */ GIR_EraseRootFromParent_Done,
22160 /* 60428 */ // Label 1467: @60428
22161 /* 60428 */ GIM_Try, /*On fail goto*//*Label 1468*/ GIMT_Encode4(60466), // Rule ID 19827 //
22162 /* 60433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22163 /* 60436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
22164 /* 60440 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22165 /* 60444 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22166 /* 60451 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
22167 /* 60451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
22168 /* 60454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22169 /* 60456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22170 /* 60460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22171 /* 60464 */ GIR_RootConstrainSelectedInstOperands,
22172 /* 60465 */ // GIR_Coverage, 19827,
22173 /* 60465 */ GIR_EraseRootFromParent_Done,
22174 /* 60466 */ // Label 1468: @60466
22175 /* 60466 */ GIM_Reject,
22176 /* 60467 */ // Label 1462: @60467
22177 /* 60467 */ GIM_Reject,
22178 /* 60468 */ // Label 1343: @60468
22179 /* 60468 */ GIM_Try, /*On fail goto*//*Label 1469*/ GIMT_Encode4(60801),
22180 /* 60473 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22181 /* 60476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22182 /* 60480 */ GIM_Try, /*On fail goto*//*Label 1470*/ GIMT_Encode4(60522), // Rule ID 17906 //
22183 /* 60485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22184 /* 60488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
22185 /* 60492 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22186 /* 60496 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22187 /* 60500 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22188 /* 60507 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
22189 /* 60507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
22190 /* 60510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22191 /* 60512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22192 /* 60516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22193 /* 60520 */ GIR_RootConstrainSelectedInstOperands,
22194 /* 60521 */ // GIR_Coverage, 17906,
22195 /* 60521 */ GIR_EraseRootFromParent_Done,
22196 /* 60522 */ // Label 1470: @60522
22197 /* 60522 */ GIM_Try, /*On fail goto*//*Label 1471*/ GIMT_Encode4(60560), // Rule ID 17910 //
22198 /* 60527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22199 /* 60530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
22200 /* 60534 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22201 /* 60538 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22202 /* 60545 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
22203 /* 60545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
22204 /* 60548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22205 /* 60550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22206 /* 60554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22207 /* 60558 */ GIR_RootConstrainSelectedInstOperands,
22208 /* 60559 */ // GIR_Coverage, 17910,
22209 /* 60559 */ GIR_EraseRootFromParent_Done,
22210 /* 60560 */ // Label 1471: @60560
22211 /* 60560 */ GIM_Try, /*On fail goto*//*Label 1472*/ GIMT_Encode4(60602), // Rule ID 17924 //
22212 /* 60565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22213 /* 60568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
22214 /* 60572 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22215 /* 60576 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22216 /* 60580 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22217 /* 60587 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
22218 /* 60587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
22219 /* 60590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22220 /* 60592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22221 /* 60596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22222 /* 60600 */ GIR_RootConstrainSelectedInstOperands,
22223 /* 60601 */ // GIR_Coverage, 17924,
22224 /* 60601 */ GIR_EraseRootFromParent_Done,
22225 /* 60602 */ // Label 1472: @60602
22226 /* 60602 */ GIM_Try, /*On fail goto*//*Label 1473*/ GIMT_Encode4(60640), // Rule ID 17925 //
22227 /* 60607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22228 /* 60610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
22229 /* 60614 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22230 /* 60618 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22231 /* 60625 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
22232 /* 60625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
22233 /* 60628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22234 /* 60630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22235 /* 60634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22236 /* 60638 */ GIR_RootConstrainSelectedInstOperands,
22237 /* 60639 */ // GIR_Coverage, 17925,
22238 /* 60639 */ GIR_EraseRootFromParent_Done,
22239 /* 60640 */ // Label 1473: @60640
22240 /* 60640 */ GIM_Try, /*On fail goto*//*Label 1474*/ GIMT_Encode4(60682), // Rule ID 19837 //
22241 /* 60645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22242 /* 60648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
22243 /* 60652 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22244 /* 60656 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22245 /* 60660 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22246 /* 60667 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
22247 /* 60667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
22248 /* 60670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22249 /* 60672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22250 /* 60676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22251 /* 60680 */ GIR_RootConstrainSelectedInstOperands,
22252 /* 60681 */ // GIR_Coverage, 19837,
22253 /* 60681 */ GIR_EraseRootFromParent_Done,
22254 /* 60682 */ // Label 1474: @60682
22255 /* 60682 */ GIM_Try, /*On fail goto*//*Label 1475*/ GIMT_Encode4(60724), // Rule ID 19838 //
22256 /* 60687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22257 /* 60690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
22258 /* 60694 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22259 /* 60698 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22260 /* 60702 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22261 /* 60709 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
22262 /* 60709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
22263 /* 60712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22264 /* 60714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22265 /* 60718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22266 /* 60722 */ GIR_RootConstrainSelectedInstOperands,
22267 /* 60723 */ // GIR_Coverage, 19838,
22268 /* 60723 */ GIR_EraseRootFromParent_Done,
22269 /* 60724 */ // Label 1475: @60724
22270 /* 60724 */ GIM_Try, /*On fail goto*//*Label 1476*/ GIMT_Encode4(60762), // Rule ID 19841 //
22271 /* 60729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22272 /* 60732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
22273 /* 60736 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22274 /* 60740 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22275 /* 60747 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
22276 /* 60747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
22277 /* 60750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22278 /* 60752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22279 /* 60756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22280 /* 60760 */ GIR_RootConstrainSelectedInstOperands,
22281 /* 60761 */ // GIR_Coverage, 19841,
22282 /* 60761 */ GIR_EraseRootFromParent_Done,
22283 /* 60762 */ // Label 1476: @60762
22284 /* 60762 */ GIM_Try, /*On fail goto*//*Label 1477*/ GIMT_Encode4(60800), // Rule ID 19842 //
22285 /* 60767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22286 /* 60770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
22287 /* 60774 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22288 /* 60778 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22289 /* 60785 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
22290 /* 60785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
22291 /* 60788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22292 /* 60790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22293 /* 60794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22294 /* 60798 */ GIR_RootConstrainSelectedInstOperands,
22295 /* 60799 */ // GIR_Coverage, 19842,
22296 /* 60799 */ GIR_EraseRootFromParent_Done,
22297 /* 60800 */ // Label 1477: @60800
22298 /* 60800 */ GIM_Reject,
22299 /* 60801 */ // Label 1469: @60801
22300 /* 60801 */ GIM_Reject,
22301 /* 60802 */ // Label 1344: @60802
22302 /* 60802 */ GIM_Try, /*On fail goto*//*Label 1478*/ GIMT_Encode4(60975),
22303 /* 60807 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22304 /* 60810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22305 /* 60814 */ GIM_Try, /*On fail goto*//*Label 1479*/ GIMT_Encode4(60856), // Rule ID 4465 //
22306 /* 60819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22307 /* 60822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22308 /* 60826 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22309 /* 60830 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22310 /* 60834 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22311 /* 60841 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
22312 /* 60841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
22313 /* 60844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22314 /* 60846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22315 /* 60850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22316 /* 60854 */ GIR_RootConstrainSelectedInstOperands,
22317 /* 60855 */ // GIR_Coverage, 4465,
22318 /* 60855 */ GIR_EraseRootFromParent_Done,
22319 /* 60856 */ // Label 1479: @60856
22320 /* 60856 */ GIM_Try, /*On fail goto*//*Label 1480*/ GIMT_Encode4(60894), // Rule ID 4500 //
22321 /* 60861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22322 /* 60864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22323 /* 60868 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22324 /* 60872 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22325 /* 60879 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
22326 /* 60879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
22327 /* 60882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22328 /* 60884 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22329 /* 60888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22330 /* 60892 */ GIR_RootConstrainSelectedInstOperands,
22331 /* 60893 */ // GIR_Coverage, 4500,
22332 /* 60893 */ GIR_EraseRootFromParent_Done,
22333 /* 60894 */ // Label 1480: @60894
22334 /* 60894 */ GIM_Try, /*On fail goto*//*Label 1481*/ GIMT_Encode4(60936), // Rule ID 19804 //
22335 /* 60899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22336 /* 60902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22337 /* 60906 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22338 /* 60910 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22339 /* 60914 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22340 /* 60921 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
22341 /* 60921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
22342 /* 60924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22343 /* 60926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22344 /* 60930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22345 /* 60934 */ GIR_RootConstrainSelectedInstOperands,
22346 /* 60935 */ // GIR_Coverage, 19804,
22347 /* 60935 */ GIR_EraseRootFromParent_Done,
22348 /* 60936 */ // Label 1481: @60936
22349 /* 60936 */ GIM_Try, /*On fail goto*//*Label 1482*/ GIMT_Encode4(60974), // Rule ID 19808 //
22350 /* 60941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22351 /* 60944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22352 /* 60948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22353 /* 60952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22354 /* 60959 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
22355 /* 60959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
22356 /* 60962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22357 /* 60964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22358 /* 60968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22359 /* 60972 */ GIR_RootConstrainSelectedInstOperands,
22360 /* 60973 */ // GIR_Coverage, 19808,
22361 /* 60973 */ GIR_EraseRootFromParent_Done,
22362 /* 60974 */ // Label 1482: @60974
22363 /* 60974 */ GIM_Reject,
22364 /* 60975 */ // Label 1478: @60975
22365 /* 60975 */ GIM_Reject,
22366 /* 60976 */ // Label 1345: @60976
22367 /* 60976 */ GIM_Try, /*On fail goto*//*Label 1483*/ GIMT_Encode4(61057),
22368 /* 60981 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22369 /* 60984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22370 /* 60988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
22371 /* 60992 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22372 /* 60996 */ GIM_Try, /*On fail goto*//*Label 1484*/ GIMT_Encode4(61026), // Rule ID 4404 //
22373 /* 61001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
22374 /* 61004 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22375 /* 61011 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
22376 /* 61011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm),
22377 /* 61014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22378 /* 61016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22379 /* 61020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22380 /* 61024 */ GIR_RootConstrainSelectedInstOperands,
22381 /* 61025 */ // GIR_Coverage, 4404,
22382 /* 61025 */ GIR_EraseRootFromParent_Done,
22383 /* 61026 */ // Label 1484: @61026
22384 /* 61026 */ GIM_Try, /*On fail goto*//*Label 1485*/ GIMT_Encode4(61056), // Rule ID 4408 //
22385 /* 61031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
22386 /* 61034 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22387 /* 61041 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm_EVEX:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
22388 /* 61041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm_EVEX),
22389 /* 61044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22390 /* 61046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22391 /* 61050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22392 /* 61054 */ GIR_RootConstrainSelectedInstOperands,
22393 /* 61055 */ // GIR_Coverage, 4408,
22394 /* 61055 */ GIR_EraseRootFromParent_Done,
22395 /* 61056 */ // Label 1485: @61056
22396 /* 61056 */ GIM_Reject,
22397 /* 61057 */ // Label 1483: @61057
22398 /* 61057 */ GIM_Reject,
22399 /* 61058 */ // Label 1346: @61058
22400 /* 61058 */ GIM_Try, /*On fail goto*//*Label 1486*/ GIMT_Encode4(61231),
22401 /* 61063 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22402 /* 61066 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22403 /* 61070 */ GIM_Try, /*On fail goto*//*Label 1487*/ GIMT_Encode4(61112), // Rule ID 17907 //
22404 /* 61075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22405 /* 61078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
22406 /* 61082 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22407 /* 61086 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22408 /* 61090 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22409 /* 61097 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
22410 /* 61097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
22411 /* 61100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22412 /* 61102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22413 /* 61106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22414 /* 61110 */ GIR_RootConstrainSelectedInstOperands,
22415 /* 61111 */ // GIR_Coverage, 17907,
22416 /* 61111 */ GIR_EraseRootFromParent_Done,
22417 /* 61112 */ // Label 1487: @61112
22418 /* 61112 */ GIM_Try, /*On fail goto*//*Label 1488*/ GIMT_Encode4(61150), // Rule ID 17911 //
22419 /* 61117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
22420 /* 61120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
22421 /* 61124 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22422 /* 61128 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22423 /* 61135 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
22424 /* 61135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
22425 /* 61138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22426 /* 61140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22427 /* 61144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22428 /* 61148 */ GIR_RootConstrainSelectedInstOperands,
22429 /* 61149 */ // GIR_Coverage, 17911,
22430 /* 61149 */ GIR_EraseRootFromParent_Done,
22431 /* 61150 */ // Label 1488: @61150
22432 /* 61150 */ GIM_Try, /*On fail goto*//*Label 1489*/ GIMT_Encode4(61192), // Rule ID 19839 //
22433 /* 61155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22434 /* 61158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
22435 /* 61162 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22436 /* 61166 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22437 /* 61170 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22438 /* 61177 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
22439 /* 61177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
22440 /* 61180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22441 /* 61182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22442 /* 61186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22443 /* 61190 */ GIR_RootConstrainSelectedInstOperands,
22444 /* 61191 */ // GIR_Coverage, 19839,
22445 /* 61191 */ GIR_EraseRootFromParent_Done,
22446 /* 61192 */ // Label 1489: @61192
22447 /* 61192 */ GIM_Try, /*On fail goto*//*Label 1490*/ GIMT_Encode4(61230), // Rule ID 19843 //
22448 /* 61197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
22449 /* 61200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
22450 /* 61204 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22451 /* 61208 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22452 /* 61215 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
22453 /* 61215 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
22454 /* 61218 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22455 /* 61220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22456 /* 61224 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22457 /* 61228 */ GIR_RootConstrainSelectedInstOperands,
22458 /* 61229 */ // GIR_Coverage, 19843,
22459 /* 61229 */ GIR_EraseRootFromParent_Done,
22460 /* 61230 */ // Label 1490: @61230
22461 /* 61230 */ GIM_Reject,
22462 /* 61231 */ // Label 1486: @61231
22463 /* 61231 */ GIM_Reject,
22464 /* 61232 */ // Label 1347: @61232
22465 /* 61232 */ GIM_Try, /*On fail goto*//*Label 1491*/ GIMT_Encode4(61405),
22466 /* 61237 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22467 /* 61240 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22468 /* 61244 */ GIM_Try, /*On fail goto*//*Label 1492*/ GIMT_Encode4(61286), // Rule ID 19805 //
22469 /* 61249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22470 /* 61252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22471 /* 61256 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22472 /* 61260 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22473 /* 61264 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22474 /* 61271 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
22475 /* 61271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
22476 /* 61274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22477 /* 61276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22478 /* 61280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22479 /* 61284 */ GIR_RootConstrainSelectedInstOperands,
22480 /* 61285 */ // GIR_Coverage, 19805,
22481 /* 61285 */ GIR_EraseRootFromParent_Done,
22482 /* 61286 */ // Label 1492: @61286
22483 /* 61286 */ GIM_Try, /*On fail goto*//*Label 1493*/ GIMT_Encode4(61328), // Rule ID 19806 //
22484 /* 61291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22485 /* 61294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22486 /* 61298 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22487 /* 61302 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22488 /* 61306 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22489 /* 61313 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
22490 /* 61313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
22491 /* 61316 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22492 /* 61318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22493 /* 61322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22494 /* 61326 */ GIR_RootConstrainSelectedInstOperands,
22495 /* 61327 */ // GIR_Coverage, 19806,
22496 /* 61327 */ GIR_EraseRootFromParent_Done,
22497 /* 61328 */ // Label 1493: @61328
22498 /* 61328 */ GIM_Try, /*On fail goto*//*Label 1494*/ GIMT_Encode4(61366), // Rule ID 19809 //
22499 /* 61333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22500 /* 61336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22501 /* 61340 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22502 /* 61344 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22503 /* 61351 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
22504 /* 61351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
22505 /* 61354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22506 /* 61356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22507 /* 61360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22508 /* 61364 */ GIR_RootConstrainSelectedInstOperands,
22509 /* 61365 */ // GIR_Coverage, 19809,
22510 /* 61365 */ GIR_EraseRootFromParent_Done,
22511 /* 61366 */ // Label 1494: @61366
22512 /* 61366 */ GIM_Try, /*On fail goto*//*Label 1495*/ GIMT_Encode4(61404), // Rule ID 19810 //
22513 /* 61371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22514 /* 61374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22515 /* 61378 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22516 /* 61382 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22517 /* 61389 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
22518 /* 61389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
22519 /* 61392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22520 /* 61394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22521 /* 61398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22522 /* 61402 */ GIR_RootConstrainSelectedInstOperands,
22523 /* 61403 */ // GIR_Coverage, 19810,
22524 /* 61403 */ GIR_EraseRootFromParent_Done,
22525 /* 61404 */ // Label 1495: @61404
22526 /* 61404 */ GIM_Reject,
22527 /* 61405 */ // Label 1491: @61405
22528 /* 61405 */ GIM_Reject,
22529 /* 61406 */ // Label 1348: @61406
22530 /* 61406 */ GIM_Try, /*On fail goto*//*Label 1496*/ GIMT_Encode4(61487),
22531 /* 61411 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22532 /* 61414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22533 /* 61418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
22534 /* 61422 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22535 /* 61426 */ GIM_Try, /*On fail goto*//*Label 1497*/ GIMT_Encode4(61456), // Rule ID 4406 //
22536 /* 61431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
22537 /* 61434 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22538 /* 61441 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
22539 /* 61441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm),
22540 /* 61444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22541 /* 61446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22542 /* 61450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22543 /* 61454 */ GIR_RootConstrainSelectedInstOperands,
22544 /* 61455 */ // GIR_Coverage, 4406,
22545 /* 61455 */ GIR_EraseRootFromParent_Done,
22546 /* 61456 */ // Label 1497: @61456
22547 /* 61456 */ GIM_Try, /*On fail goto*//*Label 1498*/ GIMT_Encode4(61486), // Rule ID 4410 //
22548 /* 61461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
22549 /* 61464 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22550 /* 61471 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm_EVEX:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
22551 /* 61471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm_EVEX),
22552 /* 61474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22553 /* 61476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22554 /* 61480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22555 /* 61484 */ GIR_RootConstrainSelectedInstOperands,
22556 /* 61485 */ // GIR_Coverage, 4410,
22557 /* 61485 */ GIR_EraseRootFromParent_Done,
22558 /* 61486 */ // Label 1498: @61486
22559 /* 61486 */ GIM_Reject,
22560 /* 61487 */ // Label 1496: @61487
22561 /* 61487 */ GIM_Reject,
22562 /* 61488 */ // Label 1349: @61488
22563 /* 61488 */ GIM_Try, /*On fail goto*//*Label 1499*/ GIMT_Encode4(61581),
22564 /* 61493 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22565 /* 61496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22566 /* 61500 */ GIM_Try, /*On fail goto*//*Label 1500*/ GIMT_Encode4(61542), // Rule ID 19807 //
22567 /* 61505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22568 /* 61508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22569 /* 61512 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22570 /* 61516 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
22571 /* 61520 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22572 /* 61527 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
22573 /* 61527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
22574 /* 61530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22575 /* 61532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22576 /* 61536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22577 /* 61540 */ GIR_RootConstrainSelectedInstOperands,
22578 /* 61541 */ // GIR_Coverage, 19807,
22579 /* 61541 */ GIR_EraseRootFromParent_Done,
22580 /* 61542 */ // Label 1500: @61542
22581 /* 61542 */ GIM_Try, /*On fail goto*//*Label 1501*/ GIMT_Encode4(61580), // Rule ID 19811 //
22582 /* 61547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
22583 /* 61550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
22584 /* 61554 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22585 /* 61558 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22586 /* 61565 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
22587 /* 61565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
22588 /* 61568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22589 /* 61570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22590 /* 61574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22591 /* 61578 */ GIR_RootConstrainSelectedInstOperands,
22592 /* 61579 */ // GIR_Coverage, 19811,
22593 /* 61579 */ GIR_EraseRootFromParent_Done,
22594 /* 61580 */ // Label 1501: @61580
22595 /* 61580 */ GIM_Reject,
22596 /* 61581 */ // Label 1499: @61581
22597 /* 61581 */ GIM_Reject,
22598 /* 61582 */ // Label 1350: @61582
22599 /* 61582 */ GIM_Reject,
22600 /* 61583 */ // Label 12: @61583
22601 /* 61583 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1505*/ GIMT_Encode4(61915),
22602 /* 61594 */ /*GILLT_s16*//*Label 1502*/ GIMT_Encode4(61606),
22603 /* 61598 */ /*GILLT_s32*//*Label 1503*/ GIMT_Encode4(61682),
22604 /* 61602 */ /*GILLT_s64*//*Label 1504*/ GIMT_Encode4(61776),
22605 /* 61606 */ // Label 1502: @61606
22606 /* 61606 */ GIM_Try, /*On fail goto*//*Label 1506*/ GIMT_Encode4(61681), // Rule ID 22681 //
22607 /* 61611 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22608 /* 61614 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22609 /* 61621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
22610 /* 61625 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22611 /* 61629 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22612 /* 61636 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_16bit:{ *:[i32] })
22613 /* 61636 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22614 /* 61639 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
22615 /* 61643 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22616 /* 61648 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22617 /* 61652 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22618 /* 61656 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22619 /* 61658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22620 /* 61661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22621 /* 61663 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
22622 /* 61670 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
22623 /* 61675 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22624 /* 61680 */ // GIR_Coverage, 22681,
22625 /* 61680 */ GIR_EraseRootFromParent_Done,
22626 /* 61681 */ // Label 1506: @61681
22627 /* 61681 */ GIM_Reject,
22628 /* 61682 */ // Label 1503: @61682
22629 /* 61682 */ GIM_Try, /*On fail goto*//*Label 1507*/ GIMT_Encode4(61775),
22630 /* 61687 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22631 /* 61690 */ GIM_Try, /*On fail goto*//*Label 1508*/ GIMT_Encode4(61732), // Rule ID 614 //
22632 /* 61695 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22633 /* 61702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22634 /* 61706 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22635 /* 61710 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22636 /* 61717 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22637 /* 61717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
22638 /* 61720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22639 /* 61722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22640 /* 61726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22641 /* 61730 */ GIR_RootConstrainSelectedInstOperands,
22642 /* 61731 */ // GIR_Coverage, 614,
22643 /* 61731 */ GIR_EraseRootFromParent_Done,
22644 /* 61732 */ // Label 1508: @61732
22645 /* 61732 */ GIM_Try, /*On fail goto*//*Label 1509*/ GIMT_Encode4(61774), // Rule ID 616 //
22646 /* 61737 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22647 /* 61744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22648 /* 61748 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22649 /* 61752 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22650 /* 61759 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22651 /* 61759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm16),
22652 /* 61762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22653 /* 61764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22654 /* 61768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22655 /* 61772 */ GIR_RootConstrainSelectedInstOperands,
22656 /* 61773 */ // GIR_Coverage, 616,
22657 /* 61773 */ GIR_EraseRootFromParent_Done,
22658 /* 61774 */ // Label 1509: @61774
22659 /* 61774 */ GIM_Reject,
22660 /* 61775 */ // Label 1507: @61775
22661 /* 61775 */ GIM_Reject,
22662 /* 61776 */ // Label 1504: @61776
22663 /* 61776 */ GIM_Try, /*On fail goto*//*Label 1510*/ GIMT_Encode4(61914),
22664 /* 61781 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22665 /* 61784 */ GIM_Try, /*On fail goto*//*Label 1511*/ GIMT_Encode4(61826), // Rule ID 622 //
22666 /* 61789 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22667 /* 61796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22668 /* 61800 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22669 /* 61804 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22670 /* 61811 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX64rm8:{ *:[i64] } addr:{ *:[iPTR] }:$src)
22671 /* 61811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm8),
22672 /* 61814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22673 /* 61816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22674 /* 61820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22675 /* 61824 */ GIR_RootConstrainSelectedInstOperands,
22676 /* 61825 */ // GIR_Coverage, 622,
22677 /* 61825 */ GIR_EraseRootFromParent_Done,
22678 /* 61826 */ // Label 1511: @61826
22679 /* 61826 */ GIM_Try, /*On fail goto*//*Label 1512*/ GIMT_Encode4(61868), // Rule ID 624 //
22680 /* 61831 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22681 /* 61838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22682 /* 61842 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22683 /* 61846 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22684 /* 61853 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX64rm16:{ *:[i64] } addr:{ *:[iPTR] }:$src)
22685 /* 61853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm16),
22686 /* 61856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22687 /* 61858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22688 /* 61862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22689 /* 61866 */ GIR_RootConstrainSelectedInstOperands,
22690 /* 61867 */ // GIR_Coverage, 624,
22691 /* 61867 */ GIR_EraseRootFromParent_Done,
22692 /* 61868 */ // Label 1512: @61868
22693 /* 61868 */ GIM_Try, /*On fail goto*//*Label 1513*/ GIMT_Encode4(61913), // Rule ID 626 //
22694 /* 61873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
22695 /* 61876 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
22696 /* 61883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22697 /* 61887 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22698 /* 61891 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22699 /* 61898 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> => (MOVSX64rm32:{ *:[i64] } addr:{ *:[iPTR] }:$src)
22700 /* 61898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm32),
22701 /* 61901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22702 /* 61903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22703 /* 61907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22704 /* 61911 */ GIR_RootConstrainSelectedInstOperands,
22705 /* 61912 */ // GIR_Coverage, 626,
22706 /* 61912 */ GIR_EraseRootFromParent_Done,
22707 /* 61913 */ // Label 1513: @61913
22708 /* 61913 */ GIM_Reject,
22709 /* 61914 */ // Label 1510: @61914
22710 /* 61914 */ GIM_Reject,
22711 /* 61915 */ // Label 1505: @61915
22712 /* 61915 */ GIM_Reject,
22713 /* 61916 */ // Label 13: @61916
22714 /* 61916 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1518*/ GIMT_Encode4(62570),
22715 /* 61927 */ /*GILLT_s8*//*Label 1514*/ GIMT_Encode4(61943),
22716 /* 61931 */ /*GILLT_s16*//*Label 1515*/ GIMT_Encode4(61989),
22717 /* 61935 */ /*GILLT_s32*//*Label 1516*/ GIMT_Encode4(62128),
22718 /* 61939 */ /*GILLT_s64*//*Label 1517*/ GIMT_Encode4(62264),
22719 /* 61943 */ // Label 1514: @61943
22720 /* 61943 */ GIM_Try, /*On fail goto*//*Label 1519*/ GIMT_Encode4(61988), // Rule ID 22609 //
22721 /* 61948 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22722 /* 61951 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22723 /* 61958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22724 /* 61962 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22725 /* 61966 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22726 /* 61973 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
22727 /* 61973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
22728 /* 61976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22729 /* 61978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22730 /* 61982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22731 /* 61986 */ GIR_RootConstrainSelectedInstOperands,
22732 /* 61987 */ // GIR_Coverage, 22609,
22733 /* 61987 */ GIR_EraseRootFromParent_Done,
22734 /* 61988 */ // Label 1519: @61988
22735 /* 61988 */ GIM_Reject,
22736 /* 61989 */ // Label 1515: @61989
22737 /* 61989 */ GIM_Try, /*On fail goto*//*Label 1520*/ GIMT_Encode4(62127),
22738 /* 61994 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22739 /* 61997 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22740 /* 62004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
22741 /* 62008 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22742 /* 62012 */ GIM_Try, /*On fail goto*//*Label 1521*/ GIMT_Encode4(62069), // Rule ID 22610 //
22743 /* 62017 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22744 /* 62024 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_16bit:{ *:[i32] })
22745 /* 62024 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22746 /* 62027 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22747 /* 62031 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22748 /* 62036 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22749 /* 62040 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22750 /* 62044 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22751 /* 62046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22752 /* 62049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22753 /* 62051 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
22754 /* 62058 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
22755 /* 62063 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22756 /* 62068 */ // GIR_Coverage, 22610,
22757 /* 62068 */ GIR_EraseRootFromParent_Done,
22758 /* 62069 */ // Label 1521: @62069
22759 /* 62069 */ GIM_Try, /*On fail goto*//*Label 1522*/ GIMT_Encode4(62126), // Rule ID 22683 //
22760 /* 62074 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22761 /* 62081 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_16bit:{ *:[i32] })
22762 /* 62081 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22763 /* 62084 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22764 /* 62088 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22765 /* 62093 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22766 /* 62097 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22767 /* 62101 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22768 /* 62103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
22769 /* 62106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22770 /* 62108 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
22771 /* 62115 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
22772 /* 62120 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22773 /* 62125 */ // GIR_Coverage, 22683,
22774 /* 62125 */ GIR_EraseRootFromParent_Done,
22775 /* 62126 */ // Label 1522: @62126
22776 /* 62126 */ GIM_Reject,
22777 /* 62127 */ // Label 1520: @62127
22778 /* 62127 */ GIM_Reject,
22779 /* 62128 */ // Label 1516: @62128
22780 /* 62128 */ GIM_Try, /*On fail goto*//*Label 1523*/ GIMT_Encode4(62263),
22781 /* 62133 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22782 /* 62136 */ GIM_Try, /*On fail goto*//*Label 1524*/ GIMT_Encode4(62178), // Rule ID 618 //
22783 /* 62141 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22784 /* 62148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22785 /* 62152 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22786 /* 62156 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22787 /* 62163 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22788 /* 62163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22789 /* 62166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22790 /* 62168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22791 /* 62172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22792 /* 62176 */ GIR_RootConstrainSelectedInstOperands,
22793 /* 62177 */ // GIR_Coverage, 618,
22794 /* 62177 */ GIR_EraseRootFromParent_Done,
22795 /* 62178 */ // Label 1524: @62178
22796 /* 62178 */ GIM_Try, /*On fail goto*//*Label 1525*/ GIMT_Encode4(62220), // Rule ID 620 //
22797 /* 62183 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22798 /* 62190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22799 /* 62194 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22800 /* 62198 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22801 /* 62205 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22802 /* 62205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
22803 /* 62208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22804 /* 62210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22805 /* 62214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22806 /* 62218 */ GIR_RootConstrainSelectedInstOperands,
22807 /* 62219 */ // GIR_Coverage, 620,
22808 /* 62219 */ GIR_EraseRootFromParent_Done,
22809 /* 62220 */ // Label 1525: @62220
22810 /* 62220 */ GIM_Try, /*On fail goto*//*Label 1526*/ GIMT_Encode4(62262), // Rule ID 22611 //
22811 /* 62225 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22812 /* 62232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22813 /* 62236 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22814 /* 62240 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22815 /* 62247 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22816 /* 62247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22817 /* 62250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22818 /* 62252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22819 /* 62256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22820 /* 62260 */ GIR_RootConstrainSelectedInstOperands,
22821 /* 62261 */ // GIR_Coverage, 22611,
22822 /* 62261 */ GIR_EraseRootFromParent_Done,
22823 /* 62262 */ // Label 1526: @62262
22824 /* 62262 */ GIM_Reject,
22825 /* 62263 */ // Label 1523: @62263
22826 /* 62263 */ GIM_Reject,
22827 /* 62264 */ // Label 1517: @62264
22828 /* 62264 */ GIM_Try, /*On fail goto*//*Label 1527*/ GIMT_Encode4(62569),
22829 /* 62269 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22830 /* 62272 */ GIM_Try, /*On fail goto*//*Label 1528*/ GIMT_Encode4(62346), // Rule ID 17580 //
22831 /* 62277 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22832 /* 62284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22833 /* 62288 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22834 /* 62292 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22835 /* 62299 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22836 /* 62299 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22837 /* 62302 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22838 /* 62306 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22839 /* 62311 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22840 /* 62315 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22841 /* 62319 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22842 /* 62321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22843 /* 62324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22844 /* 62326 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22845 /* 62329 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22846 /* 62332 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22847 /* 62335 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22848 /* 62340 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22849 /* 62345 */ // GIR_Coverage, 17580,
22850 /* 62345 */ GIR_EraseRootFromParent_Done,
22851 /* 62346 */ // Label 1528: @62346
22852 /* 62346 */ GIM_Try, /*On fail goto*//*Label 1529*/ GIMT_Encode4(62420), // Rule ID 17582 //
22853 /* 62351 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22854 /* 62358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22855 /* 62362 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22856 /* 62366 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22857 /* 62373 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22858 /* 62373 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22859 /* 62376 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
22860 /* 62380 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22861 /* 62385 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22862 /* 62389 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22863 /* 62393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22864 /* 62395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22865 /* 62398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22866 /* 62400 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22867 /* 62403 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22868 /* 62406 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22869 /* 62409 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22870 /* 62414 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22871 /* 62419 */ // GIR_Coverage, 17582,
22872 /* 62419 */ GIR_EraseRootFromParent_Done,
22873 /* 62420 */ // Label 1529: @62420
22874 /* 62420 */ GIM_Try, /*On fail goto*//*Label 1530*/ GIMT_Encode4(62494), // Rule ID 17584 //
22875 /* 62425 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
22876 /* 62432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22877 /* 62436 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22878 /* 62440 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22879 /* 62447 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22880 /* 62447 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22881 /* 62450 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
22882 /* 62454 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22883 /* 62459 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22884 /* 62463 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22885 /* 62467 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22886 /* 62469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22887 /* 62472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22888 /* 62474 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22889 /* 62477 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22890 /* 62480 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22891 /* 62483 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22892 /* 62488 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22893 /* 62493 */ // GIR_Coverage, 17584,
22894 /* 62493 */ GIR_EraseRootFromParent_Done,
22895 /* 62494 */ // Label 1530: @62494
22896 /* 62494 */ GIM_Try, /*On fail goto*//*Label 1531*/ GIMT_Encode4(62568), // Rule ID 22612 //
22897 /* 62499 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22898 /* 62506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22899 /* 62510 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22900 /* 62514 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22901 /* 62521 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), sub_32bit:{ *:[i32] })
22902 /* 62521 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22903 /* 62524 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22904 /* 62528 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22905 /* 62533 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22906 /* 62537 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22907 /* 62541 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22908 /* 62543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22909 /* 62546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22910 /* 62548 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
22911 /* 62551 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22912 /* 62554 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22913 /* 62557 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22914 /* 62562 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
22915 /* 62567 */ // GIR_Coverage, 22612,
22916 /* 62567 */ GIR_EraseRootFromParent_Done,
22917 /* 62568 */ // Label 1531: @62568
22918 /* 62568 */ GIM_Reject,
22919 /* 62569 */ // Label 1527: @62569
22920 /* 62569 */ GIM_Reject,
22921 /* 62570 */ // Label 1518: @62570
22922 /* 62570 */ GIM_Reject,
22923 /* 62571 */ // Label 14: @62571
22924 /* 62571 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 1554*/ GIMT_Encode4(88033),
22925 /* 62582 */ /*GILLT_s8*//*Label 1532*/ GIMT_Encode4(62678),
22926 /* 62586 */ /*GILLT_s16*//*Label 1533*/ GIMT_Encode4(67348),
22927 /* 62590 */ /*GILLT_s32*//*Label 1534*/ GIMT_Encode4(72592),
22928 /* 62594 */ /*GILLT_s64*//*Label 1535*/ GIMT_Encode4(78292),
22929 /* 62598 */ /*GILLT_s80*//*Label 1536*/ GIMT_Encode4(83684),
22930 /* 62602 */ /*GILLT_s128*//*Label 1537*/ GIMT_Encode4(83843), GIMT_Encode4(0),
22931 /* 62610 */ /*GILLT_v2s64*//*Label 1538*/ GIMT_Encode4(84097), GIMT_Encode4(0),
22932 /* 62618 */ /*GILLT_v4s32*//*Label 1539*/ GIMT_Encode4(84591),
22933 /* 62622 */ /*GILLT_v4s64*//*Label 1540*/ GIMT_Encode4(85085),
22934 /* 62626 */ /*GILLT_v8s1*//*Label 1541*/ GIMT_Encode4(85419),
22935 /* 62630 */ /*GILLT_v8s16*//*Label 1542*/ GIMT_Encode4(85501),
22936 /* 62634 */ /*GILLT_v8s32*//*Label 1543*/ GIMT_Encode4(86075),
22937 /* 62638 */ /*GILLT_v8s64*//*Label 1544*/ GIMT_Encode4(86409),
22938 /* 62642 */ /*GILLT_v16s1*//*Label 1545*/ GIMT_Encode4(86583),
22939 /* 62646 */ /*GILLT_v16s8*//*Label 1546*/ GIMT_Encode4(86665),
22940 /* 62650 */ /*GILLT_v16s16*//*Label 1547*/ GIMT_Encode4(86919),
22941 /* 62654 */ /*GILLT_v16s32*//*Label 1548*/ GIMT_Encode4(87253),
22942 /* 62658 */ /*GILLT_v32s1*//*Label 1549*/ GIMT_Encode4(87427),
22943 /* 62662 */ /*GILLT_v32s8*//*Label 1550*/ GIMT_Encode4(87509),
22944 /* 62666 */ /*GILLT_v32s16*//*Label 1551*/ GIMT_Encode4(87683),
22945 /* 62670 */ /*GILLT_v64s1*//*Label 1552*/ GIMT_Encode4(87857),
22946 /* 62674 */ /*GILLT_v64s8*//*Label 1553*/ GIMT_Encode4(87939),
22947 /* 62678 */ // Label 1532: @62678
22948 /* 62678 */ GIM_Try, /*On fail goto*//*Label 1555*/ GIMT_Encode4(62774), // Rule ID 22505 //
22949 /* 62683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22950 /* 62686 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22951 /* 62689 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22952 /* 62696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22953 /* 62700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22954 /* 62704 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22955 /* 62708 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22956 /* 62712 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22957 /* 62716 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22958 /* 62720 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22959 /* 62723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22960 /* 62727 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22961 /* 62734 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22962 /* 62738 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22963 /* 62742 */ // MIs[0] dst
22964 /* 62742 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22965 /* 62747 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22966 /* 62749 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22967 /* 62756 */ // (atomic_store (add:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (INC8m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
22968 /* 62756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
22969 /* 62759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22970 /* 62763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22971 /* 62766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22972 /* 62772 */ GIR_RootConstrainSelectedInstOperands,
22973 /* 62773 */ // GIR_Coverage, 22505,
22974 /* 62773 */ GIR_EraseRootFromParent_Done,
22975 /* 62774 */ // Label 1555: @62774
22976 /* 62774 */ GIM_Try, /*On fail goto*//*Label 1556*/ GIMT_Encode4(62870), // Rule ID 22509 //
22977 /* 62779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22978 /* 62782 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22979 /* 62785 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22980 /* 62792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22981 /* 62796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22982 /* 62800 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22983 /* 62804 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22984 /* 62808 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22985 /* 62812 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22986 /* 62816 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22987 /* 62819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22988 /* 62823 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22989 /* 62830 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22990 /* 62834 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22991 /* 62838 */ // MIs[0] dst
22992 /* 62838 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22993 /* 62843 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22994 /* 62845 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22995 /* 62852 */ // (atomic_store (add:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, -1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (DEC8m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
22996 /* 62852 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
22997 /* 62855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22998 /* 62859 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22999 /* 62862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23000 /* 62868 */ GIR_RootConstrainSelectedInstOperands,
23001 /* 62869 */ // GIR_Coverage, 22509,
23002 /* 62869 */ GIR_EraseRootFromParent_Done,
23003 /* 62870 */ // Label 1556: @62870
23004 /* 62870 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(62963), // Rule ID 22513 //
23005 /* 62875 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23006 /* 62878 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23007 /* 62885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23008 /* 62889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23009 /* 62893 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23010 /* 62897 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23011 /* 62901 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23012 /* 62905 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23013 /* 62909 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23014 /* 62913 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23015 /* 62916 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23016 /* 62920 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23017 /* 62927 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23018 /* 62931 */ // MIs[0] dst
23019 /* 62931 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23020 /* 62936 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23021 /* 62938 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23022 /* 62945 */ // (atomic_store (sub:{ *:[i8] } 0:{ *:[i8] }, (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (NEG8m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
23023 /* 62945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
23024 /* 62948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23025 /* 62952 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23026 /* 62955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23027 /* 62961 */ GIR_RootConstrainSelectedInstOperands,
23028 /* 62962 */ // GIR_Coverage, 22513,
23029 /* 62962 */ GIR_EraseRootFromParent_Done,
23030 /* 62963 */ // Label 1557: @62963
23031 /* 62963 */ GIM_Try, /*On fail goto*//*Label 1558*/ GIMT_Encode4(63053), // Rule ID 22517 //
23032 /* 62968 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23033 /* 62971 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23034 /* 62978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23035 /* 62982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23036 /* 62986 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23037 /* 62990 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23038 /* 62994 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23039 /* 62998 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23040 /* 63002 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23041 /* 63005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23042 /* 63009 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23043 /* 63016 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23044 /* 63020 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23045 /* 63024 */ // MIs[0] dst
23046 /* 63024 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23047 /* 63029 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23048 /* 63031 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23049 /* 63038 */ // (atomic_store (xor:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, -1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (NOT8m addr:{ *:[iPTR] }:$dst)
23050 /* 63038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
23051 /* 63041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23052 /* 63045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23053 /* 63051 */ GIR_RootConstrainSelectedInstOperands,
23054 /* 63052 */ // GIR_Coverage, 22517,
23055 /* 63052 */ GIR_EraseRootFromParent_Done,
23056 /* 63053 */ // Label 1558: @63053
23057 /* 63053 */ GIM_Try, /*On fail goto*//*Label 1559*/ GIMT_Encode4(63139), // Rule ID 223 //
23058 /* 63058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23059 /* 63061 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23060 /* 63064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23061 /* 63068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23062 /* 63072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23063 /* 63076 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23064 /* 63080 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23065 /* 63084 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23066 /* 63088 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23067 /* 63092 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23068 /* 63095 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23069 /* 63099 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23070 /* 63103 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23071 /* 63107 */ // MIs[0] src1
23072 /* 63107 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23073 /* 63112 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23074 /* 63114 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23075 /* 63121 */ // (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (INC8m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
23076 /* 63121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
23077 /* 63124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23078 /* 63128 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23079 /* 63131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23080 /* 63137 */ GIR_RootConstrainSelectedInstOperands,
23081 /* 63138 */ // GIR_Coverage, 223,
23082 /* 63138 */ GIR_EraseRootFromParent_Done,
23083 /* 63139 */ // Label 1559: @63139
23084 /* 63139 */ GIM_Try, /*On fail goto*//*Label 1560*/ GIMT_Encode4(63225), // Rule ID 226 //
23085 /* 63144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23086 /* 63147 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23087 /* 63150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23088 /* 63154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23089 /* 63158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23090 /* 63162 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23091 /* 63166 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23092 /* 63170 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23093 /* 63174 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23094 /* 63178 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23095 /* 63181 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23096 /* 63185 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23097 /* 63189 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23098 /* 63193 */ // MIs[0] src1
23099 /* 63193 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23100 /* 63198 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23101 /* 63200 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23102 /* 63207 */ // (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, -1:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (DEC8m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
23103 /* 63207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
23104 /* 63210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23105 /* 63214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23106 /* 63217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23107 /* 63223 */ GIR_RootConstrainSelectedInstOperands,
23108 /* 63224 */ // GIR_Coverage, 226,
23109 /* 63224 */ GIR_EraseRootFromParent_Done,
23110 /* 63225 */ // Label 1560: @63225
23111 /* 63225 */ GIM_Try, /*On fail goto*//*Label 1561*/ GIMT_Encode4(63308), // Rule ID 17601 //
23112 /* 63230 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23113 /* 63233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23114 /* 63237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23115 /* 63241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23116 /* 63245 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23117 /* 63249 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23118 /* 63253 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23119 /* 63257 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23120 /* 63261 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23121 /* 63264 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23122 /* 63268 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23123 /* 63272 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
23124 /* 63276 */ // MIs[0] dst
23125 /* 63276 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23126 /* 63281 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23127 /* 63283 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23128 /* 63290 */ // (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 7:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR8m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
23129 /* 63290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1),
23130 /* 63293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23131 /* 63297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23132 /* 63300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23133 /* 63306 */ GIR_RootConstrainSelectedInstOperands,
23134 /* 63307 */ // GIR_Coverage, 17601,
23135 /* 63307 */ GIR_EraseRootFromParent_Done,
23136 /* 63308 */ // Label 1561: @63308
23137 /* 63308 */ GIM_Try, /*On fail goto*//*Label 1562*/ GIMT_Encode4(63391), // Rule ID 17605 //
23138 /* 63313 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23139 /* 63316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23140 /* 63320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23141 /* 63324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23142 /* 63328 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23143 /* 63332 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23144 /* 63336 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23145 /* 63340 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23146 /* 63344 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23147 /* 63347 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23148 /* 63351 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23149 /* 63355 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
23150 /* 63359 */ // MIs[0] dst
23151 /* 63359 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23152 /* 63364 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23153 /* 63366 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23154 /* 63373 */ // (st (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 7:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL8m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
23155 /* 63373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1),
23156 /* 63376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23157 /* 63380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23158 /* 63383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23159 /* 63389 */ GIR_RootConstrainSelectedInstOperands,
23160 /* 63390 */ // GIR_Coverage, 17605,
23161 /* 63390 */ GIR_EraseRootFromParent_Done,
23162 /* 63391 */ // Label 1562: @63391
23163 /* 63391 */ GIM_Try, /*On fail goto*//*Label 1563*/ GIMT_Encode4(63474), // Rule ID 259 //
23164 /* 63396 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23165 /* 63399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23166 /* 63403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23167 /* 63407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23168 /* 63411 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23169 /* 63415 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23170 /* 63419 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23171 /* 63423 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23172 /* 63427 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23173 /* 63431 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23174 /* 63434 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23175 /* 63438 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23176 /* 63442 */ // MIs[0] src1
23177 /* 63442 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23178 /* 63447 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23179 /* 63449 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23180 /* 63456 */ // (st (sub:{ *:[i8] } 0:{ *:[i8] }, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NEG8m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
23181 /* 63456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
23182 /* 63459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23183 /* 63463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23184 /* 63466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23185 /* 63472 */ GIR_RootConstrainSelectedInstOperands,
23186 /* 63473 */ // GIR_Coverage, 259,
23187 /* 63473 */ GIR_EraseRootFromParent_Done,
23188 /* 63474 */ // Label 1563: @63474
23189 /* 63474 */ GIM_Try, /*On fail goto*//*Label 1564*/ GIMT_Encode4(63554), // Rule ID 267 //
23190 /* 63479 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23191 /* 63482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23192 /* 63486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23193 /* 63490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23194 /* 63494 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23195 /* 63498 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23196 /* 63502 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23197 /* 63506 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23198 /* 63510 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23199 /* 63513 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23200 /* 63517 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23201 /* 63521 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23202 /* 63525 */ // MIs[0] src1
23203 /* 63525 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23204 /* 63530 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23205 /* 63532 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23206 /* 63539 */ // (st (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, -1:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NOT8m addr:{ *:[iPTR] }:$src1)
23207 /* 63539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
23208 /* 63542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23209 /* 63546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23210 /* 63552 */ GIR_RootConstrainSelectedInstOperands,
23211 /* 63553 */ // GIR_Coverage, 267,
23212 /* 63553 */ GIR_EraseRootFromParent_Done,
23213 /* 63554 */ // Label 1564: @63554
23214 /* 63554 */ GIM_Try, /*On fail goto*//*Label 1565*/ GIMT_Encode4(63649), // Rule ID 411 //
23215 /* 63559 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23216 /* 63562 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23217 /* 63566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23218 /* 63570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23219 /* 63574 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23220 /* 63578 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23221 /* 63582 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23222 /* 63586 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23223 /* 63590 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23224 /* 63593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23225 /* 63597 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23226 /* 63601 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23227 /* 63605 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23228 /* 63609 */ // MIs[3] Operand 1
23229 /* 63609 */ // No operand predicates
23230 /* 63609 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23231 /* 63613 */ // MIs[0] src1
23232 /* 63613 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23233 /* 63618 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23234 /* 63620 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23235 /* 63627 */ // (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23236 /* 63627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
23237 /* 63630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23238 /* 63634 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23239 /* 63637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23240 /* 63640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23241 /* 63647 */ GIR_RootConstrainSelectedInstOperands,
23242 /* 63648 */ // GIR_Coverage, 411,
23243 /* 63648 */ GIR_EraseRootFromParent_Done,
23244 /* 63649 */ // Label 1565: @63649
23245 /* 63649 */ GIM_Try, /*On fail goto*//*Label 1566*/ GIMT_Encode4(63744), // Rule ID 303 //
23246 /* 63654 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23247 /* 63657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23248 /* 63661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23249 /* 63665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23250 /* 63669 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23251 /* 63673 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23252 /* 63677 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23253 /* 63681 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23254 /* 63685 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23255 /* 63688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23256 /* 63692 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23257 /* 63696 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23258 /* 63700 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23259 /* 63704 */ // MIs[3] Operand 1
23260 /* 63704 */ // No operand predicates
23261 /* 63704 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23262 /* 63708 */ // MIs[0] src1
23263 /* 63708 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23264 /* 63713 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23265 /* 63715 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23266 /* 63722 */ // (st (and:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23267 /* 63722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
23268 /* 63725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23269 /* 63729 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23270 /* 63732 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23271 /* 63735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23272 /* 63742 */ GIR_RootConstrainSelectedInstOperands,
23273 /* 63743 */ // GIR_Coverage, 303,
23274 /* 63743 */ GIR_EraseRootFromParent_Done,
23275 /* 63744 */ // Label 1566: @63744
23276 /* 63744 */ GIM_Try, /*On fail goto*//*Label 1567*/ GIMT_Encode4(63839), // Rule ID 339 //
23277 /* 63749 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23278 /* 63752 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23279 /* 63756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23280 /* 63760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23281 /* 63764 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23282 /* 63768 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23283 /* 63772 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23284 /* 63776 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23285 /* 63780 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23286 /* 63783 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23287 /* 63787 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23288 /* 63791 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23289 /* 63795 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23290 /* 63799 */ // MIs[3] Operand 1
23291 /* 63799 */ // No operand predicates
23292 /* 63799 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23293 /* 63803 */ // MIs[0] src1
23294 /* 63803 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23295 /* 63808 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23296 /* 63810 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23297 /* 63817 */ // (st (or:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23298 /* 63817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
23299 /* 63820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23300 /* 63824 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23301 /* 63827 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23302 /* 63830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23303 /* 63837 */ GIR_RootConstrainSelectedInstOperands,
23304 /* 63838 */ // GIR_Coverage, 339,
23305 /* 63838 */ GIR_EraseRootFromParent_Done,
23306 /* 63839 */ // Label 1567: @63839
23307 /* 63839 */ GIM_Try, /*On fail goto*//*Label 1568*/ GIMT_Encode4(63934), // Rule ID 451 //
23308 /* 63844 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23309 /* 63847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23310 /* 63851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23311 /* 63855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23312 /* 63859 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23313 /* 63863 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23314 /* 63867 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23315 /* 63871 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23316 /* 63875 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23317 /* 63878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23318 /* 63882 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23319 /* 63886 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23320 /* 63890 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23321 /* 63894 */ // MIs[3] Operand 1
23322 /* 63894 */ // No operand predicates
23323 /* 63894 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23324 /* 63898 */ // MIs[0] src1
23325 /* 63898 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23326 /* 63903 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23327 /* 63905 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23328 /* 63912 */ // (st (sub:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23329 /* 63912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
23330 /* 63915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23331 /* 63919 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23332 /* 63922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23333 /* 63925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23334 /* 63932 */ GIR_RootConstrainSelectedInstOperands,
23335 /* 63933 */ // GIR_Coverage, 451,
23336 /* 63933 */ GIR_EraseRootFromParent_Done,
23337 /* 63934 */ // Label 1568: @63934
23338 /* 63934 */ GIM_Try, /*On fail goto*//*Label 1569*/ GIMT_Encode4(64029), // Rule ID 375 //
23339 /* 63939 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23340 /* 63942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23341 /* 63946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23342 /* 63950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23343 /* 63954 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23344 /* 63958 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23345 /* 63962 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23346 /* 63966 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23347 /* 63970 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23348 /* 63973 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23349 /* 63977 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23350 /* 63981 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23351 /* 63985 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23352 /* 63989 */ // MIs[3] Operand 1
23353 /* 63989 */ // No operand predicates
23354 /* 63989 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23355 /* 63993 */ // MIs[0] src1
23356 /* 63993 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23357 /* 63998 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23358 /* 64000 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23359 /* 64007 */ // (st (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23360 /* 64007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
23361 /* 64010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23362 /* 64014 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23363 /* 64017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23364 /* 64020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23365 /* 64027 */ GIR_RootConstrainSelectedInstOperands,
23366 /* 64028 */ // GIR_Coverage, 375,
23367 /* 64028 */ GIR_EraseRootFromParent_Done,
23368 /* 64029 */ // Label 1569: @64029
23369 /* 64029 */ GIM_Try, /*On fail goto*//*Label 1570*/ GIMT_Encode4(64130), // Rule ID 22441 //
23370 /* 64034 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23371 /* 64037 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23372 /* 64044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23373 /* 64048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23374 /* 64052 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23375 /* 64056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23376 /* 64060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23377 /* 64064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23378 /* 64068 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23379 /* 64071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23380 /* 64075 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23381 /* 64082 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23382 /* 64086 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23383 /* 64090 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23384 /* 64094 */ // MIs[3] Operand 1
23385 /* 64094 */ // No operand predicates
23386 /* 64094 */ // MIs[0] dst
23387 /* 64094 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23388 /* 64099 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23389 /* 64101 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23390 /* 64108 */ // (atomic_store (add:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (ADD8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23391 /* 64108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
23392 /* 64111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23393 /* 64115 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23394 /* 64118 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23395 /* 64121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23396 /* 64128 */ GIR_RootConstrainSelectedInstOperands,
23397 /* 64129 */ // GIR_Coverage, 22441,
23398 /* 64129 */ GIR_EraseRootFromParent_Done,
23399 /* 64130 */ // Label 1570: @64130
23400 /* 64130 */ GIM_Try, /*On fail goto*//*Label 1571*/ GIMT_Encode4(64231), // Rule ID 22449 //
23401 /* 64135 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23402 /* 64138 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23403 /* 64145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23404 /* 64149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23405 /* 64153 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23406 /* 64157 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23407 /* 64161 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23408 /* 64165 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23409 /* 64169 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23410 /* 64172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23411 /* 64176 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23412 /* 64183 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23413 /* 64187 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23414 /* 64191 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23415 /* 64195 */ // MIs[3] Operand 1
23416 /* 64195 */ // No operand predicates
23417 /* 64195 */ // MIs[0] dst
23418 /* 64195 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23419 /* 64200 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23420 /* 64202 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23421 /* 64209 */ // (atomic_store (and:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (AND8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23422 /* 64209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
23423 /* 64212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23424 /* 64216 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23425 /* 64219 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23426 /* 64222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23427 /* 64229 */ GIR_RootConstrainSelectedInstOperands,
23428 /* 64230 */ // GIR_Coverage, 22449,
23429 /* 64230 */ GIR_EraseRootFromParent_Done,
23430 /* 64231 */ // Label 1571: @64231
23431 /* 64231 */ GIM_Try, /*On fail goto*//*Label 1572*/ GIMT_Encode4(64332), // Rule ID 22457 //
23432 /* 64236 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23433 /* 64239 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23434 /* 64246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23435 /* 64250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23436 /* 64254 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23437 /* 64258 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23438 /* 64262 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23439 /* 64266 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23440 /* 64270 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23441 /* 64273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23442 /* 64277 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23443 /* 64284 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23444 /* 64288 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23445 /* 64292 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23446 /* 64296 */ // MIs[3] Operand 1
23447 /* 64296 */ // No operand predicates
23448 /* 64296 */ // MIs[0] dst
23449 /* 64296 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23450 /* 64301 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23451 /* 64303 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23452 /* 64310 */ // (atomic_store (or:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (OR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23453 /* 64310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
23454 /* 64313 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23455 /* 64317 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23456 /* 64320 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23457 /* 64323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23458 /* 64330 */ GIR_RootConstrainSelectedInstOperands,
23459 /* 64331 */ // GIR_Coverage, 22457,
23460 /* 64331 */ GIR_EraseRootFromParent_Done,
23461 /* 64332 */ // Label 1572: @64332
23462 /* 64332 */ GIM_Try, /*On fail goto*//*Label 1573*/ GIMT_Encode4(64433), // Rule ID 22473 //
23463 /* 64337 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23464 /* 64340 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23465 /* 64347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23466 /* 64351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23467 /* 64355 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23468 /* 64359 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23469 /* 64363 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23470 /* 64367 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23471 /* 64371 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23472 /* 64374 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23473 /* 64378 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23474 /* 64385 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23475 /* 64389 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23476 /* 64393 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23477 /* 64397 */ // MIs[3] Operand 1
23478 /* 64397 */ // No operand predicates
23479 /* 64397 */ // MIs[0] dst
23480 /* 64397 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23481 /* 64402 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23482 /* 64404 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23483 /* 64411 */ // (atomic_store (sub:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (SUB8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23484 /* 64411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
23485 /* 64414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23486 /* 64418 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23487 /* 64421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23488 /* 64424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23489 /* 64431 */ GIR_RootConstrainSelectedInstOperands,
23490 /* 64432 */ // GIR_Coverage, 22473,
23491 /* 64432 */ GIR_EraseRootFromParent_Done,
23492 /* 64433 */ // Label 1573: @64433
23493 /* 64433 */ GIM_Try, /*On fail goto*//*Label 1574*/ GIMT_Encode4(64534), // Rule ID 22465 //
23494 /* 64438 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23495 /* 64441 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23496 /* 64448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23497 /* 64452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23498 /* 64456 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23499 /* 64460 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23500 /* 64464 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23501 /* 64468 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23502 /* 64472 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23503 /* 64475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23504 /* 64479 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23505 /* 64486 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23506 /* 64490 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23507 /* 64494 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23508 /* 64498 */ // MIs[3] Operand 1
23509 /* 64498 */ // No operand predicates
23510 /* 64498 */ // MIs[0] dst
23511 /* 64498 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23512 /* 64503 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23513 /* 64505 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23514 /* 64512 */ // (atomic_store (xor:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (XOR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23515 /* 64512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
23516 /* 64515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23517 /* 64519 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
23518 /* 64522 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23519 /* 64525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23520 /* 64532 */ GIR_RootConstrainSelectedInstOperands,
23521 /* 64533 */ // GIR_Coverage, 22465,
23522 /* 64533 */ GIR_EraseRootFromParent_Done,
23523 /* 64534 */ // Label 1574: @64534
23524 /* 64534 */ GIM_Try, /*On fail goto*//*Label 1575*/ GIMT_Encode4(64625), // Rule ID 732 //
23525 /* 64539 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23526 /* 64542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23527 /* 64546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23528 /* 64550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23529 /* 64554 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23530 /* 64558 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23531 /* 64562 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23532 /* 64566 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23533 /* 64570 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23534 /* 64573 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23535 /* 64577 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23536 /* 64581 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23537 /* 64585 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23538 /* 64589 */ // MIs[3] Operand 1
23539 /* 64589 */ // No operand predicates
23540 /* 64589 */ // MIs[0] src1
23541 /* 64589 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23542 /* 64594 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23543 /* 64596 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23544 /* 64603 */ // (st (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23545 /* 64603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi),
23546 /* 64606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23547 /* 64610 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23548 /* 64613 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23549 /* 64616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23550 /* 64623 */ GIR_RootConstrainSelectedInstOperands,
23551 /* 64624 */ // GIR_Coverage, 732,
23552 /* 64624 */ GIR_EraseRootFromParent_Done,
23553 /* 64625 */ // Label 1575: @64625
23554 /* 64625 */ GIM_Try, /*On fail goto*//*Label 1576*/ GIMT_Encode4(64716), // Rule ID 700 //
23555 /* 64630 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23556 /* 64633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23557 /* 64637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23558 /* 64641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23559 /* 64645 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23560 /* 64649 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23561 /* 64653 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23562 /* 64657 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23563 /* 64661 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23564 /* 64664 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23565 /* 64668 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23566 /* 64672 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23567 /* 64676 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23568 /* 64680 */ // MIs[3] Operand 1
23569 /* 64680 */ // No operand predicates
23570 /* 64680 */ // MIs[0] src1
23571 /* 64680 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23572 /* 64685 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23573 /* 64687 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23574 /* 64694 */ // (st (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23575 /* 64694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi),
23576 /* 64697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23577 /* 64701 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23578 /* 64704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23579 /* 64707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23580 /* 64714 */ GIR_RootConstrainSelectedInstOperands,
23581 /* 64715 */ // GIR_Coverage, 700,
23582 /* 64715 */ GIR_EraseRootFromParent_Done,
23583 /* 64716 */ // Label 1576: @64716
23584 /* 64716 */ GIM_Try, /*On fail goto*//*Label 1577*/ GIMT_Encode4(64807), // Rule ID 764 //
23585 /* 64721 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23586 /* 64724 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23587 /* 64728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23588 /* 64732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23589 /* 64736 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23590 /* 64740 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23591 /* 64744 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23592 /* 64748 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23593 /* 64752 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23594 /* 64755 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23595 /* 64759 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23596 /* 64763 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23597 /* 64767 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23598 /* 64771 */ // MIs[3] Operand 1
23599 /* 64771 */ // No operand predicates
23600 /* 64771 */ // MIs[0] src1
23601 /* 64771 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23602 /* 64776 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23603 /* 64778 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23604 /* 64785 */ // (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23605 /* 64785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi),
23606 /* 64788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23607 /* 64792 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23608 /* 64795 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23609 /* 64798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23610 /* 64805 */ GIR_RootConstrainSelectedInstOperands,
23611 /* 64806 */ // GIR_Coverage, 764,
23612 /* 64806 */ GIR_EraseRootFromParent_Done,
23613 /* 64807 */ // Label 1577: @64807
23614 /* 64807 */ GIM_Try, /*On fail goto*//*Label 1578*/ GIMT_Encode4(64898), // Rule ID 796 //
23615 /* 64812 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23616 /* 64815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23617 /* 64819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23618 /* 64823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23619 /* 64827 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23620 /* 64831 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23621 /* 64835 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23622 /* 64839 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23623 /* 64843 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23624 /* 64846 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23625 /* 64850 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23626 /* 64854 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23627 /* 64858 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23628 /* 64862 */ // MIs[3] Operand 1
23629 /* 64862 */ // No operand predicates
23630 /* 64862 */ // MIs[0] src1
23631 /* 64862 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23632 /* 64867 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23633 /* 64869 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23634 /* 64876 */ // (st (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23635 /* 64876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi),
23636 /* 64879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23637 /* 64883 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23638 /* 64886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23639 /* 64889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23640 /* 64896 */ GIR_RootConstrainSelectedInstOperands,
23641 /* 64897 */ // GIR_Coverage, 796,
23642 /* 64897 */ GIR_EraseRootFromParent_Done,
23643 /* 64898 */ // Label 1578: @64898
23644 /* 64898 */ GIM_Try, /*On fail goto*//*Label 1579*/ GIMT_Encode4(64989), // Rule ID 668 //
23645 /* 64903 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23646 /* 64906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23647 /* 64910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23648 /* 64914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
23649 /* 64918 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23650 /* 64922 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23651 /* 64926 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23652 /* 64930 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23653 /* 64934 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23654 /* 64937 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23655 /* 64941 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23656 /* 64945 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23657 /* 64949 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23658 /* 64953 */ // MIs[3] Operand 1
23659 /* 64953 */ // No operand predicates
23660 /* 64953 */ // MIs[0] src1
23661 /* 64953 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23662 /* 64958 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23663 /* 64960 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23664 /* 64967 */ // (st (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL8mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
23665 /* 64967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi),
23666 /* 64970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23667 /* 64974 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23668 /* 64977 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23669 /* 64980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23670 /* 64987 */ GIR_RootConstrainSelectedInstOperands,
23671 /* 64988 */ // GIR_Coverage, 668,
23672 /* 64988 */ GIR_EraseRootFromParent_Done,
23673 /* 64989 */ // Label 1579: @64989
23674 /* 64989 */ GIM_Try, /*On fail goto*//*Label 1580*/ GIMT_Encode4(65087), // Rule ID 22445 //
23675 /* 64994 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23676 /* 64997 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23677 /* 65004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23678 /* 65008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23679 /* 65012 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23680 /* 65016 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23681 /* 65020 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23682 /* 65024 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23683 /* 65028 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23684 /* 65031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23685 /* 65035 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23686 /* 65042 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23687 /* 65046 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23688 /* 65051 */ // MIs[0] dst
23689 /* 65051 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23690 /* 65056 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23691 /* 65058 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23692 /* 65065 */ // (atomic_store (add:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (ADD8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23693 /* 65065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23694 /* 65068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23695 /* 65072 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23696 /* 65076 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23697 /* 65079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23698 /* 65085 */ GIR_RootConstrainSelectedInstOperands,
23699 /* 65086 */ // GIR_Coverage, 22445,
23700 /* 65086 */ GIR_EraseRootFromParent_Done,
23701 /* 65087 */ // Label 1580: @65087
23702 /* 65087 */ GIM_Try, /*On fail goto*//*Label 1581*/ GIMT_Encode4(65185), // Rule ID 26035 //
23703 /* 65092 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23704 /* 65095 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23705 /* 65102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23706 /* 65106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23707 /* 65110 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23708 /* 65114 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23709 /* 65118 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23710 /* 65123 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23711 /* 65127 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23712 /* 65131 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23713 /* 65134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23714 /* 65138 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23715 /* 65145 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23716 /* 65149 */ // MIs[0] dst
23717 /* 65149 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23718 /* 65154 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23719 /* 65156 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23720 /* 65163 */ // (atomic_store (add:{ *:[i8] } GR8:{ *:[i8] }:$src, (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (ADD8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23721 /* 65163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23722 /* 65166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23723 /* 65170 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23724 /* 65174 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23725 /* 65177 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23726 /* 65183 */ GIR_RootConstrainSelectedInstOperands,
23727 /* 65184 */ // GIR_Coverage, 26035,
23728 /* 65184 */ GIR_EraseRootFromParent_Done,
23729 /* 65185 */ // Label 1581: @65185
23730 /* 65185 */ GIM_Try, /*On fail goto*//*Label 1582*/ GIMT_Encode4(65283), // Rule ID 22453 //
23731 /* 65190 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23732 /* 65193 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23733 /* 65200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23734 /* 65204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23735 /* 65208 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23736 /* 65212 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23737 /* 65216 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23738 /* 65220 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23739 /* 65224 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23740 /* 65227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23741 /* 65231 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23742 /* 65238 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23743 /* 65242 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23744 /* 65247 */ // MIs[0] dst
23745 /* 65247 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23746 /* 65252 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23747 /* 65254 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23748 /* 65261 */ // (atomic_store (and:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (AND8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23749 /* 65261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23750 /* 65264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23751 /* 65268 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23752 /* 65272 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23753 /* 65275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23754 /* 65281 */ GIR_RootConstrainSelectedInstOperands,
23755 /* 65282 */ // GIR_Coverage, 22453,
23756 /* 65282 */ GIR_EraseRootFromParent_Done,
23757 /* 65283 */ // Label 1582: @65283
23758 /* 65283 */ GIM_Try, /*On fail goto*//*Label 1583*/ GIMT_Encode4(65381), // Rule ID 26039 //
23759 /* 65288 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23760 /* 65291 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23761 /* 65298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23762 /* 65302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23763 /* 65306 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23764 /* 65310 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23765 /* 65314 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23766 /* 65319 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23767 /* 65323 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23768 /* 65327 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23769 /* 65330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23770 /* 65334 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23771 /* 65341 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23772 /* 65345 */ // MIs[0] dst
23773 /* 65345 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23774 /* 65350 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23775 /* 65352 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23776 /* 65359 */ // (atomic_store (and:{ *:[i8] } GR8:{ *:[i8] }:$src, (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (AND8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23777 /* 65359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23778 /* 65362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23779 /* 65366 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23780 /* 65370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23781 /* 65373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23782 /* 65379 */ GIR_RootConstrainSelectedInstOperands,
23783 /* 65380 */ // GIR_Coverage, 26039,
23784 /* 65380 */ GIR_EraseRootFromParent_Done,
23785 /* 65381 */ // Label 1583: @65381
23786 /* 65381 */ GIM_Try, /*On fail goto*//*Label 1584*/ GIMT_Encode4(65479), // Rule ID 22461 //
23787 /* 65386 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23788 /* 65389 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23789 /* 65396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23790 /* 65400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23791 /* 65404 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23792 /* 65408 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23793 /* 65412 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23794 /* 65416 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23795 /* 65420 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23796 /* 65423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23797 /* 65427 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23798 /* 65434 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23799 /* 65438 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23800 /* 65443 */ // MIs[0] dst
23801 /* 65443 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23802 /* 65448 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23803 /* 65450 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23804 /* 65457 */ // (atomic_store (or:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (OR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23805 /* 65457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23806 /* 65460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23807 /* 65464 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23808 /* 65468 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23809 /* 65471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23810 /* 65477 */ GIR_RootConstrainSelectedInstOperands,
23811 /* 65478 */ // GIR_Coverage, 22461,
23812 /* 65478 */ GIR_EraseRootFromParent_Done,
23813 /* 65479 */ // Label 1584: @65479
23814 /* 65479 */ GIM_Try, /*On fail goto*//*Label 1585*/ GIMT_Encode4(65577), // Rule ID 26043 //
23815 /* 65484 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23816 /* 65487 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23817 /* 65494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23818 /* 65498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23819 /* 65502 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23820 /* 65506 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23821 /* 65510 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23822 /* 65515 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23823 /* 65519 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23824 /* 65523 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23825 /* 65526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23826 /* 65530 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23827 /* 65537 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23828 /* 65541 */ // MIs[0] dst
23829 /* 65541 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23830 /* 65546 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23831 /* 65548 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23832 /* 65555 */ // (atomic_store (or:{ *:[i8] } GR8:{ *:[i8] }:$src, (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (OR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23833 /* 65555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23834 /* 65558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23835 /* 65562 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23836 /* 65566 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23837 /* 65569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23838 /* 65575 */ GIR_RootConstrainSelectedInstOperands,
23839 /* 65576 */ // GIR_Coverage, 26043,
23840 /* 65576 */ GIR_EraseRootFromParent_Done,
23841 /* 65577 */ // Label 1585: @65577
23842 /* 65577 */ GIM_Try, /*On fail goto*//*Label 1586*/ GIMT_Encode4(65675), // Rule ID 22477 //
23843 /* 65582 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23844 /* 65585 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23845 /* 65592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23846 /* 65596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23847 /* 65600 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23848 /* 65604 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23849 /* 65608 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23850 /* 65612 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23851 /* 65616 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23852 /* 65619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23853 /* 65623 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23854 /* 65630 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23855 /* 65634 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23856 /* 65639 */ // MIs[0] dst
23857 /* 65639 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23858 /* 65644 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23859 /* 65646 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23860 /* 65653 */ // (atomic_store (sub:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (SUB8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23861 /* 65653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
23862 /* 65656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23863 /* 65660 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23864 /* 65664 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23865 /* 65667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23866 /* 65673 */ GIR_RootConstrainSelectedInstOperands,
23867 /* 65674 */ // GIR_Coverage, 22477,
23868 /* 65674 */ GIR_EraseRootFromParent_Done,
23869 /* 65675 */ // Label 1586: @65675
23870 /* 65675 */ GIM_Try, /*On fail goto*//*Label 1587*/ GIMT_Encode4(65773), // Rule ID 22469 //
23871 /* 65680 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23872 /* 65683 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23873 /* 65690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23874 /* 65694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23875 /* 65698 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23876 /* 65702 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23877 /* 65706 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23878 /* 65710 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23879 /* 65714 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23880 /* 65717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23881 /* 65721 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23882 /* 65728 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23883 /* 65732 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23884 /* 65737 */ // MIs[0] dst
23885 /* 65737 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23886 /* 65742 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23887 /* 65744 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23888 /* 65751 */ // (atomic_store (xor:{ *:[i8] } (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (XOR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23889 /* 65751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23890 /* 65754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23891 /* 65758 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23892 /* 65762 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23893 /* 65765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23894 /* 65771 */ GIR_RootConstrainSelectedInstOperands,
23895 /* 65772 */ // GIR_Coverage, 22469,
23896 /* 65772 */ GIR_EraseRootFromParent_Done,
23897 /* 65773 */ // Label 1587: @65773
23898 /* 65773 */ GIM_Try, /*On fail goto*//*Label 1588*/ GIMT_Encode4(65871), // Rule ID 26047 //
23899 /* 65778 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23900 /* 65781 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23901 /* 65788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23902 /* 65792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23903 /* 65796 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23904 /* 65800 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23905 /* 65804 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23906 /* 65809 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23907 /* 65813 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23908 /* 65817 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23909 /* 65820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23910 /* 65824 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23911 /* 65831 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23912 /* 65835 */ // MIs[0] dst
23913 /* 65835 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23914 /* 65840 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23915 /* 65842 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23916 /* 65849 */ // (atomic_store (xor:{ *:[i8] } GR8:{ *:[i8] }:$src, (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (XOR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23917 /* 65849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23918 /* 65852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23919 /* 65856 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23920 /* 65860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23921 /* 65863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23922 /* 65869 */ GIR_RootConstrainSelectedInstOperands,
23923 /* 65870 */ // GIR_Coverage, 26047,
23924 /* 65870 */ GIR_EraseRootFromParent_Done,
23925 /* 65871 */ // Label 1588: @65871
23926 /* 65871 */ GIM_Try, /*On fail goto*//*Label 1589*/ GIMT_Encode4(65959), // Rule ID 407 //
23927 /* 65876 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23928 /* 65879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23929 /* 65883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23930 /* 65887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23931 /* 65891 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23932 /* 65895 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23933 /* 65899 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23934 /* 65903 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23935 /* 65907 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23936 /* 65910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23937 /* 65914 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23938 /* 65918 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23939 /* 65923 */ // MIs[0] src1
23940 /* 65923 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23941 /* 65928 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23942 /* 65930 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23943 /* 65937 */ // (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
23944 /* 65937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23945 /* 65940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23946 /* 65944 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23947 /* 65948 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23948 /* 65951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23949 /* 65957 */ GIR_RootConstrainSelectedInstOperands,
23950 /* 65958 */ // GIR_Coverage, 407,
23951 /* 65958 */ GIR_EraseRootFromParent_Done,
23952 /* 65959 */ // Label 1589: @65959
23953 /* 65959 */ GIM_Try, /*On fail goto*//*Label 1590*/ GIMT_Encode4(66047), // Rule ID 23255 //
23954 /* 65964 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23955 /* 65967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23956 /* 65971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23957 /* 65975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23958 /* 65979 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23959 /* 65983 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23960 /* 65987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23961 /* 65992 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23962 /* 65996 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23963 /* 66000 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23964 /* 66003 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23965 /* 66007 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23966 /* 66011 */ // MIs[0] src1
23967 /* 66011 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23968 /* 66016 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23969 /* 66018 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23970 /* 66025 */ // (st (add:{ *:[i8] } GR8:{ *:[i8] }:$src2, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
23971 /* 66025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23972 /* 66028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23973 /* 66032 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23974 /* 66036 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23975 /* 66039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23976 /* 66045 */ GIR_RootConstrainSelectedInstOperands,
23977 /* 66046 */ // GIR_Coverage, 23255,
23978 /* 66046 */ GIR_EraseRootFromParent_Done,
23979 /* 66047 */ // Label 1590: @66047
23980 /* 66047 */ GIM_Try, /*On fail goto*//*Label 1591*/ GIMT_Encode4(66135), // Rule ID 299 //
23981 /* 66052 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23982 /* 66055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23983 /* 66059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23984 /* 66063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23985 /* 66067 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23986 /* 66071 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23987 /* 66075 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23988 /* 66079 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23989 /* 66083 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23990 /* 66086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23991 /* 66090 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23992 /* 66094 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23993 /* 66099 */ // MIs[0] src1
23994 /* 66099 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23995 /* 66104 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23996 /* 66106 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23997 /* 66113 */ // (st (and:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
23998 /* 66113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23999 /* 66116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24000 /* 66120 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24001 /* 66124 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24002 /* 66127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24003 /* 66133 */ GIR_RootConstrainSelectedInstOperands,
24004 /* 66134 */ // GIR_Coverage, 299,
24005 /* 66134 */ GIR_EraseRootFromParent_Done,
24006 /* 66135 */ // Label 1591: @66135
24007 /* 66135 */ GIM_Try, /*On fail goto*//*Label 1592*/ GIMT_Encode4(66223), // Rule ID 23219 //
24008 /* 66140 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24009 /* 66143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24010 /* 66147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24011 /* 66151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24012 /* 66155 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24013 /* 66159 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24014 /* 66163 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24015 /* 66168 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24016 /* 66172 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24017 /* 66176 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24018 /* 66179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24019 /* 66183 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24020 /* 66187 */ // MIs[0] src1
24021 /* 66187 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24022 /* 66192 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24023 /* 66194 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24024 /* 66201 */ // (st (and:{ *:[i8] } GR8:{ *:[i8] }:$src2, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
24025 /* 66201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
24026 /* 66204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24027 /* 66208 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24028 /* 66212 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24029 /* 66215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24030 /* 66221 */ GIR_RootConstrainSelectedInstOperands,
24031 /* 66222 */ // GIR_Coverage, 23219,
24032 /* 66222 */ GIR_EraseRootFromParent_Done,
24033 /* 66223 */ // Label 1592: @66223
24034 /* 66223 */ GIM_Try, /*On fail goto*//*Label 1593*/ GIMT_Encode4(66321), // Rule ID 748 //
24035 /* 66228 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24036 /* 66231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24037 /* 66235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24038 /* 66239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
24039 /* 66243 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24040 /* 66247 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24041 /* 66251 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24042 /* 66255 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24043 /* 66259 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24044 /* 66262 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24045 /* 66266 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
24046 /* 66270 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24047 /* 66275 */ // MIs[0] src1
24048 /* 66275 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24049 /* 66280 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24050 /* 66282 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24051 /* 66289 */ // (st (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24052 /* 66289 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24053 /* 66293 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24054 /* 66299 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24055 /* 66303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL),
24056 /* 66306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24057 /* 66310 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24058 /* 66313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24059 /* 66319 */ GIR_RootConstrainSelectedInstOperands,
24060 /* 66320 */ // GIR_Coverage, 748,
24061 /* 66320 */ GIR_EraseRootFromParent_Done,
24062 /* 66321 */ // Label 1593: @66321
24063 /* 66321 */ GIM_Try, /*On fail goto*//*Label 1594*/ GIMT_Encode4(66419), // Rule ID 716 //
24064 /* 66326 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24065 /* 66329 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24066 /* 66333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24067 /* 66337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
24068 /* 66341 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24069 /* 66345 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24070 /* 66349 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24071 /* 66353 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24072 /* 66357 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24073 /* 66360 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24074 /* 66364 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
24075 /* 66368 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24076 /* 66373 */ // MIs[0] src1
24077 /* 66373 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24078 /* 66378 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24079 /* 66380 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24080 /* 66387 */ // (st (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24081 /* 66387 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24082 /* 66391 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24083 /* 66397 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24084 /* 66401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL),
24085 /* 66404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24086 /* 66408 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24087 /* 66411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24088 /* 66417 */ GIR_RootConstrainSelectedInstOperands,
24089 /* 66418 */ // GIR_Coverage, 716,
24090 /* 66418 */ GIR_EraseRootFromParent_Done,
24091 /* 66419 */ // Label 1594: @66419
24092 /* 66419 */ GIM_Try, /*On fail goto*//*Label 1595*/ GIMT_Encode4(66507), // Rule ID 335 //
24093 /* 66424 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24094 /* 66427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24095 /* 66431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24096 /* 66435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24097 /* 66439 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24098 /* 66443 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24099 /* 66447 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24100 /* 66451 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24101 /* 66455 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24102 /* 66458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24103 /* 66462 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24104 /* 66466 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24105 /* 66471 */ // MIs[0] src1
24106 /* 66471 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24107 /* 66476 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24108 /* 66478 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24109 /* 66485 */ // (st (or:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
24110 /* 66485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
24111 /* 66488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24112 /* 66492 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24113 /* 66496 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24114 /* 66499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24115 /* 66505 */ GIR_RootConstrainSelectedInstOperands,
24116 /* 66506 */ // GIR_Coverage, 335,
24117 /* 66506 */ GIR_EraseRootFromParent_Done,
24118 /* 66507 */ // Label 1595: @66507
24119 /* 66507 */ GIM_Try, /*On fail goto*//*Label 1596*/ GIMT_Encode4(66595), // Rule ID 23231 //
24120 /* 66512 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24121 /* 66515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24122 /* 66519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24123 /* 66523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24124 /* 66527 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24125 /* 66531 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24126 /* 66535 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24127 /* 66540 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24128 /* 66544 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24129 /* 66548 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24130 /* 66551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24131 /* 66555 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24132 /* 66559 */ // MIs[0] src1
24133 /* 66559 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24134 /* 66564 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24135 /* 66566 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24136 /* 66573 */ // (st (or:{ *:[i8] } GR8:{ *:[i8] }:$src2, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
24137 /* 66573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
24138 /* 66576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24139 /* 66580 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24140 /* 66584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24141 /* 66587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24142 /* 66593 */ GIR_RootConstrainSelectedInstOperands,
24143 /* 66594 */ // GIR_Coverage, 23231,
24144 /* 66594 */ GIR_EraseRootFromParent_Done,
24145 /* 66595 */ // Label 1596: @66595
24146 /* 66595 */ GIM_Try, /*On fail goto*//*Label 1597*/ GIMT_Encode4(66693), // Rule ID 780 //
24147 /* 66600 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24148 /* 66603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24149 /* 66607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24150 /* 66611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24151 /* 66615 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24152 /* 66619 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24153 /* 66623 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24154 /* 66627 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24155 /* 66631 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24156 /* 66634 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24157 /* 66638 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
24158 /* 66642 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24159 /* 66647 */ // MIs[0] src1
24160 /* 66647 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24161 /* 66652 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24162 /* 66654 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24163 /* 66661 */ // (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24164 /* 66661 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24165 /* 66665 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24166 /* 66671 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24167 /* 66675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL),
24168 /* 66678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24169 /* 66682 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24170 /* 66685 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24171 /* 66691 */ GIR_RootConstrainSelectedInstOperands,
24172 /* 66692 */ // GIR_Coverage, 780,
24173 /* 66692 */ GIR_EraseRootFromParent_Done,
24174 /* 66693 */ // Label 1597: @66693
24175 /* 66693 */ GIM_Try, /*On fail goto*//*Label 1598*/ GIMT_Encode4(66791), // Rule ID 812 //
24176 /* 66698 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24177 /* 66701 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24178 /* 66705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24179 /* 66709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24180 /* 66713 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24181 /* 66717 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24182 /* 66721 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24183 /* 66725 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24184 /* 66729 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24185 /* 66732 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24186 /* 66736 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
24187 /* 66740 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24188 /* 66745 */ // MIs[0] src1
24189 /* 66745 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24190 /* 66750 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24191 /* 66752 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24192 /* 66759 */ // (st (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24193 /* 66759 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24194 /* 66763 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24195 /* 66769 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24196 /* 66773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL),
24197 /* 66776 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24198 /* 66780 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24199 /* 66783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24200 /* 66789 */ GIR_RootConstrainSelectedInstOperands,
24201 /* 66790 */ // GIR_Coverage, 812,
24202 /* 66790 */ GIR_EraseRootFromParent_Done,
24203 /* 66791 */ // Label 1598: @66791
24204 /* 66791 */ GIM_Try, /*On fail goto*//*Label 1599*/ GIMT_Encode4(66889), // Rule ID 684 //
24205 /* 66796 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24206 /* 66799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24207 /* 66803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24208 /* 66807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24209 /* 66811 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24210 /* 66815 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24211 /* 66819 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24212 /* 66823 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24213 /* 66827 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24214 /* 66830 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24215 /* 66834 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
24216 /* 66838 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24217 /* 66843 */ // MIs[0] src1
24218 /* 66843 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24219 /* 66848 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24220 /* 66850 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24221 /* 66857 */ // (st (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24222 /* 66857 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24223 /* 66861 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24224 /* 66867 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24225 /* 66871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL),
24226 /* 66874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24227 /* 66878 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24228 /* 66881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24229 /* 66887 */ GIR_RootConstrainSelectedInstOperands,
24230 /* 66888 */ // GIR_Coverage, 684,
24231 /* 66888 */ GIR_EraseRootFromParent_Done,
24232 /* 66889 */ // Label 1599: @66889
24233 /* 66889 */ GIM_Try, /*On fail goto*//*Label 1600*/ GIMT_Encode4(66977), // Rule ID 443 //
24234 /* 66894 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24235 /* 66897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24236 /* 66901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24237 /* 66905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24238 /* 66909 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24239 /* 66913 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24240 /* 66917 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24241 /* 66921 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24242 /* 66925 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24243 /* 66928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24244 /* 66932 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24245 /* 66936 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24246 /* 66941 */ // MIs[0] src1
24247 /* 66941 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24248 /* 66946 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24249 /* 66948 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24250 /* 66955 */ // (st (sub:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
24251 /* 66955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
24252 /* 66958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24253 /* 66962 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24254 /* 66966 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24255 /* 66969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24256 /* 66975 */ GIR_RootConstrainSelectedInstOperands,
24257 /* 66976 */ // GIR_Coverage, 443,
24258 /* 66976 */ GIR_EraseRootFromParent_Done,
24259 /* 66977 */ // Label 1600: @66977
24260 /* 66977 */ GIM_Try, /*On fail goto*//*Label 1601*/ GIMT_Encode4(67065), // Rule ID 371 //
24261 /* 66982 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24262 /* 66985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24263 /* 66989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24264 /* 66993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24265 /* 66997 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24266 /* 67001 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24267 /* 67005 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24268 /* 67009 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24269 /* 67013 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24270 /* 67016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24271 /* 67020 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24272 /* 67024 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24273 /* 67029 */ // MIs[0] src1
24274 /* 67029 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24275 /* 67034 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24276 /* 67036 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24277 /* 67043 */ // (st (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
24278 /* 67043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
24279 /* 67046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24280 /* 67050 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24281 /* 67054 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24282 /* 67057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24283 /* 67063 */ GIR_RootConstrainSelectedInstOperands,
24284 /* 67064 */ // GIR_Coverage, 371,
24285 /* 67064 */ GIR_EraseRootFromParent_Done,
24286 /* 67065 */ // Label 1601: @67065
24287 /* 67065 */ GIM_Try, /*On fail goto*//*Label 1602*/ GIMT_Encode4(67153), // Rule ID 23243 //
24288 /* 67070 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24289 /* 67073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24290 /* 67077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24291 /* 67081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24292 /* 67085 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
24293 /* 67089 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24294 /* 67093 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24295 /* 67098 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24296 /* 67102 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24297 /* 67106 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24298 /* 67109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24299 /* 67113 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24300 /* 67117 */ // MIs[0] src1
24301 /* 67117 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24302 /* 67122 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24303 /* 67124 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24304 /* 67131 */ // (st (xor:{ *:[i8] } GR8:{ *:[i8] }:$src2, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR8:{ *:[i8] }:$src2)
24305 /* 67131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
24306 /* 67134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24307 /* 67138 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24308 /* 67142 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24309 /* 67145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24310 /* 67151 */ GIR_RootConstrainSelectedInstOperands,
24311 /* 67152 */ // GIR_Coverage, 23243,
24312 /* 67152 */ GIR_EraseRootFromParent_Done,
24313 /* 67153 */ // Label 1602: @67153
24314 /* 67153 */ GIM_Try, /*On fail goto*//*Label 1603*/ GIMT_Encode4(67207), // Rule ID 24 //
24315 /* 67158 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24316 /* 67161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24317 /* 67165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24318 /* 67169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24319 /* 67173 */ // MIs[1] Operand 1
24320 /* 67173 */ // No operand predicates
24321 /* 67173 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24322 /* 67177 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24323 /* 67181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24324 /* 67183 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24325 /* 67190 */ // (st (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
24326 /* 67190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
24327 /* 67193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24328 /* 67197 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24329 /* 67200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24330 /* 67205 */ GIR_RootConstrainSelectedInstOperands,
24331 /* 67206 */ // GIR_Coverage, 24,
24332 /* 67206 */ GIR_EraseRootFromParent_Done,
24333 /* 67207 */ // Label 1603: @67207
24334 /* 67207 */ GIM_Try, /*On fail goto*//*Label 1604*/ GIMT_Encode4(67260), // Rule ID 22521 //
24335 /* 67212 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24336 /* 67215 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
24337 /* 67222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24338 /* 67226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24339 /* 67230 */ // MIs[1] Operand 1
24340 /* 67230 */ // No operand predicates
24341 /* 67230 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24342 /* 67234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
24343 /* 67236 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24344 /* 67243 */ // (atomic_store (imm:{ *:[i8] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
24345 /* 67243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
24346 /* 67246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24347 /* 67250 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
24348 /* 67253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
24349 /* 67258 */ GIR_RootConstrainSelectedInstOperands,
24350 /* 67259 */ // GIR_Coverage, 22521,
24351 /* 67259 */ GIR_EraseRootFromParent_Done,
24352 /* 67260 */ // Label 1604: @67260
24353 /* 67260 */ GIM_Try, /*On fail goto*//*Label 1605*/ GIMT_Encode4(67305), // Rule ID 22525 //
24354 /* 67265 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24355 /* 67268 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
24356 /* 67275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24357 /* 67279 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24358 /* 67283 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24359 /* 67290 */ // (atomic_store GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
24360 /* 67290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
24361 /* 67293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24362 /* 67297 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24363 /* 67299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24364 /* 67303 */ GIR_RootConstrainSelectedInstOperands,
24365 /* 67304 */ // GIR_Coverage, 22525,
24366 /* 67304 */ GIR_EraseRootFromParent_Done,
24367 /* 67305 */ // Label 1605: @67305
24368 /* 67305 */ GIM_Try, /*On fail goto*//*Label 1606*/ GIMT_Encode4(67347), // Rule ID 32 //
24369 /* 67310 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24370 /* 67313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24371 /* 67317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
24372 /* 67321 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
24373 /* 67325 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24374 /* 67332 */ // (st GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
24375 /* 67332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
24376 /* 67335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24377 /* 67339 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
24378 /* 67341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
24379 /* 67345 */ GIR_RootConstrainSelectedInstOperands,
24380 /* 67346 */ // GIR_Coverage, 32,
24381 /* 67346 */ GIR_EraseRootFromParent_Done,
24382 /* 67347 */ // Label 1606: @67347
24383 /* 67347 */ GIM_Reject,
24384 /* 67348 */ // Label 1533: @67348
24385 /* 67348 */ GIM_Try, /*On fail goto*//*Label 1607*/ GIMT_Encode4(67444), // Rule ID 22506 //
24386 /* 67353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
24387 /* 67356 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24388 /* 67359 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24389 /* 67366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24390 /* 67370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24391 /* 67374 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24392 /* 67378 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24393 /* 67382 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24394 /* 67386 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24395 /* 67390 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24396 /* 67393 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24397 /* 67397 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24398 /* 67404 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24399 /* 67408 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
24400 /* 67412 */ // MIs[0] dst
24401 /* 67412 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24402 /* 67417 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24403 /* 67419 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24404 /* 67426 */ // (atomic_store (add:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, 1:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (INC16m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
24405 /* 67426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
24406 /* 67429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24407 /* 67433 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24408 /* 67436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24409 /* 67442 */ GIR_RootConstrainSelectedInstOperands,
24410 /* 67443 */ // GIR_Coverage, 22506,
24411 /* 67443 */ GIR_EraseRootFromParent_Done,
24412 /* 67444 */ // Label 1607: @67444
24413 /* 67444 */ GIM_Try, /*On fail goto*//*Label 1608*/ GIMT_Encode4(67540), // Rule ID 22510 //
24414 /* 67449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
24415 /* 67452 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24416 /* 67455 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24417 /* 67462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24418 /* 67466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24419 /* 67470 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24420 /* 67474 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24421 /* 67478 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24422 /* 67482 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24423 /* 67486 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24424 /* 67489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24425 /* 67493 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24426 /* 67500 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24427 /* 67504 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24428 /* 67508 */ // MIs[0] dst
24429 /* 67508 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24430 /* 67513 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24431 /* 67515 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24432 /* 67522 */ // (atomic_store (add:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, -1:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (DEC16m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
24433 /* 67522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
24434 /* 67525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24435 /* 67529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24436 /* 67532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24437 /* 67538 */ GIR_RootConstrainSelectedInstOperands,
24438 /* 67539 */ // GIR_Coverage, 22510,
24439 /* 67539 */ GIR_EraseRootFromParent_Done,
24440 /* 67540 */ // Label 1608: @67540
24441 /* 67540 */ GIM_Try, /*On fail goto*//*Label 1609*/ GIMT_Encode4(67633), // Rule ID 22514 //
24442 /* 67545 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24443 /* 67548 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24444 /* 67555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24445 /* 67559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24446 /* 67563 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24447 /* 67567 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24448 /* 67571 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
24449 /* 67575 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24450 /* 67579 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24451 /* 67583 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24452 /* 67586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24453 /* 67590 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24454 /* 67597 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24455 /* 67601 */ // MIs[0] dst
24456 /* 67601 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24457 /* 67606 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24458 /* 67608 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24459 /* 67615 */ // (atomic_store (sub:{ *:[i16] } 0:{ *:[i16] }, (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (NEG16m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
24460 /* 67615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
24461 /* 67618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24462 /* 67622 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24463 /* 67625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24464 /* 67631 */ GIR_RootConstrainSelectedInstOperands,
24465 /* 67632 */ // GIR_Coverage, 22514,
24466 /* 67632 */ GIR_EraseRootFromParent_Done,
24467 /* 67633 */ // Label 1609: @67633
24468 /* 67633 */ GIM_Try, /*On fail goto*//*Label 1610*/ GIMT_Encode4(67723), // Rule ID 22518 //
24469 /* 67638 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24470 /* 67641 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24471 /* 67648 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24472 /* 67652 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24473 /* 67656 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24474 /* 67660 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24475 /* 67664 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24476 /* 67668 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24477 /* 67672 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24478 /* 67675 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24479 /* 67679 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24480 /* 67686 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24481 /* 67690 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24482 /* 67694 */ // MIs[0] dst
24483 /* 67694 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24484 /* 67699 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24485 /* 67701 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24486 /* 67708 */ // (atomic_store (xor:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, -1:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (NOT16m addr:{ *:[iPTR] }:$dst)
24487 /* 67708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
24488 /* 67711 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24489 /* 67715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24490 /* 67721 */ GIR_RootConstrainSelectedInstOperands,
24491 /* 67722 */ // GIR_Coverage, 22518,
24492 /* 67722 */ GIR_EraseRootFromParent_Done,
24493 /* 67723 */ // Label 1610: @67723
24494 /* 67723 */ GIM_Try, /*On fail goto*//*Label 1611*/ GIMT_Encode4(67809), // Rule ID 224 //
24495 /* 67728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
24496 /* 67731 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24497 /* 67734 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24498 /* 67738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24499 /* 67742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24500 /* 67746 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24501 /* 67750 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24502 /* 67754 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24503 /* 67758 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24504 /* 67762 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24505 /* 67765 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24506 /* 67769 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24507 /* 67773 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
24508 /* 67777 */ // MIs[0] src1
24509 /* 67777 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24510 /* 67782 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24511 /* 67784 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24512 /* 67791 */ // (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 1:{ *:[i16] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (INC16m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24513 /* 67791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
24514 /* 67794 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24515 /* 67798 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24516 /* 67801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24517 /* 67807 */ GIR_RootConstrainSelectedInstOperands,
24518 /* 67808 */ // GIR_Coverage, 224,
24519 /* 67808 */ GIR_EraseRootFromParent_Done,
24520 /* 67809 */ // Label 1611: @67809
24521 /* 67809 */ GIM_Try, /*On fail goto*//*Label 1612*/ GIMT_Encode4(67895), // Rule ID 227 //
24522 /* 67814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
24523 /* 67817 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24524 /* 67820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24525 /* 67824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24526 /* 67828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24527 /* 67832 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24528 /* 67836 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24529 /* 67840 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24530 /* 67844 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24531 /* 67848 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24532 /* 67851 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24533 /* 67855 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24534 /* 67859 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24535 /* 67863 */ // MIs[0] src1
24536 /* 67863 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24537 /* 67868 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24538 /* 67870 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24539 /* 67877 */ // (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, -1:{ *:[i16] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (DEC16m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24540 /* 67877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
24541 /* 67880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24542 /* 67884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24543 /* 67887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24544 /* 67893 */ GIR_RootConstrainSelectedInstOperands,
24545 /* 67894 */ // GIR_Coverage, 227,
24546 /* 67894 */ GIR_EraseRootFromParent_Done,
24547 /* 67895 */ // Label 1612: @67895
24548 /* 67895 */ GIM_Try, /*On fail goto*//*Label 1613*/ GIMT_Encode4(67988), // Rule ID 22647 //
24549 /* 67900 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24550 /* 67903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24551 /* 67907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24552 /* 67911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24553 /* 67915 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24554 /* 67919 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24555 /* 67923 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24556 /* 67927 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24557 /* 67931 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24558 /* 67934 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24559 /* 67938 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24560 /* 67942 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
24561 /* 67953 */ // MIs[0] dst
24562 /* 67953 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24563 /* 67958 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24564 /* 67960 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24565 /* 67967 */ // (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 128:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -128:{ *:[i16] })
24566 /* 67967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
24567 /* 67970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24568 /* 67974 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
24569 /* 67977 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24570 /* 67980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24571 /* 67986 */ GIR_RootConstrainSelectedInstOperands,
24572 /* 67987 */ // GIR_Coverage, 22647,
24573 /* 67987 */ GIR_EraseRootFromParent_Done,
24574 /* 67988 */ // Label 1613: @67988
24575 /* 67988 */ GIM_Try, /*On fail goto*//*Label 1614*/ GIMT_Encode4(68071), // Rule ID 17602 //
24576 /* 67993 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24577 /* 67996 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24578 /* 68000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24579 /* 68004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24580 /* 68008 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24581 /* 68012 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24582 /* 68016 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24583 /* 68020 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24584 /* 68024 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24585 /* 68027 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24586 /* 68031 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24587 /* 68035 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
24588 /* 68039 */ // MIs[0] dst
24589 /* 68039 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24590 /* 68044 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24591 /* 68046 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24592 /* 68053 */ // (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 15:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR16m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
24593 /* 68053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1),
24594 /* 68056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24595 /* 68060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24596 /* 68063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24597 /* 68069 */ GIR_RootConstrainSelectedInstOperands,
24598 /* 68070 */ // GIR_Coverage, 17602,
24599 /* 68070 */ GIR_EraseRootFromParent_Done,
24600 /* 68071 */ // Label 1614: @68071
24601 /* 68071 */ GIM_Try, /*On fail goto*//*Label 1615*/ GIMT_Encode4(68154), // Rule ID 17606 //
24602 /* 68076 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24603 /* 68079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24604 /* 68083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24605 /* 68087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24606 /* 68091 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24607 /* 68095 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24608 /* 68099 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24609 /* 68103 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24610 /* 68107 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24611 /* 68110 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24612 /* 68114 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24613 /* 68118 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
24614 /* 68122 */ // MIs[0] dst
24615 /* 68122 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24616 /* 68127 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24617 /* 68129 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24618 /* 68136 */ // (st (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 15:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL16m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
24619 /* 68136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1),
24620 /* 68139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24621 /* 68143 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24622 /* 68146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24623 /* 68152 */ GIR_RootConstrainSelectedInstOperands,
24624 /* 68153 */ // GIR_Coverage, 17606,
24625 /* 68153 */ GIR_EraseRootFromParent_Done,
24626 /* 68154 */ // Label 1615: @68154
24627 /* 68154 */ GIM_Try, /*On fail goto*//*Label 1616*/ GIMT_Encode4(68237), // Rule ID 260 //
24628 /* 68159 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24629 /* 68162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24630 /* 68166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24631 /* 68170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24632 /* 68174 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24633 /* 68178 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24634 /* 68182 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
24635 /* 68186 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24636 /* 68190 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24637 /* 68194 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24638 /* 68197 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24639 /* 68201 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24640 /* 68205 */ // MIs[0] src1
24641 /* 68205 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24642 /* 68210 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24643 /* 68212 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24644 /* 68219 */ // (st (sub:{ *:[i16] } 0:{ *:[i16] }, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NEG16m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
24645 /* 68219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
24646 /* 68222 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24647 /* 68226 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24648 /* 68229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24649 /* 68235 */ GIR_RootConstrainSelectedInstOperands,
24650 /* 68236 */ // GIR_Coverage, 260,
24651 /* 68236 */ GIR_EraseRootFromParent_Done,
24652 /* 68237 */ // Label 1616: @68237
24653 /* 68237 */ GIM_Try, /*On fail goto*//*Label 1617*/ GIMT_Encode4(68317), // Rule ID 268 //
24654 /* 68242 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24655 /* 68245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24656 /* 68249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24657 /* 68253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24658 /* 68257 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24659 /* 68261 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24660 /* 68265 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24661 /* 68269 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24662 /* 68273 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24663 /* 68276 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24664 /* 68280 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24665 /* 68284 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
24666 /* 68288 */ // MIs[0] src1
24667 /* 68288 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24668 /* 68293 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24669 /* 68295 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24670 /* 68302 */ // (st (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, -1:{ *:[i16] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NOT16m addr:{ *:[iPTR] }:$src1)
24671 /* 68302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
24672 /* 68305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24673 /* 68309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24674 /* 68315 */ GIR_RootConstrainSelectedInstOperands,
24675 /* 68316 */ // GIR_Coverage, 268,
24676 /* 68316 */ GIR_EraseRootFromParent_Done,
24677 /* 68317 */ // Label 1617: @68317
24678 /* 68317 */ GIM_Try, /*On fail goto*//*Label 1618*/ GIMT_Encode4(68412), // Rule ID 412 //
24679 /* 68322 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24680 /* 68325 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24681 /* 68329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24682 /* 68333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24683 /* 68337 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24684 /* 68341 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24685 /* 68345 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24686 /* 68349 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24687 /* 68353 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24688 /* 68356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24689 /* 68360 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24690 /* 68364 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24691 /* 68368 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24692 /* 68372 */ // MIs[3] Operand 1
24693 /* 68372 */ // No operand predicates
24694 /* 68372 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24695 /* 68376 */ // MIs[0] src1
24696 /* 68376 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24697 /* 68381 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24698 /* 68383 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24699 /* 68390 */ // (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2)
24700 /* 68390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
24701 /* 68393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24702 /* 68397 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24703 /* 68400 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24704 /* 68403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24705 /* 68410 */ GIR_RootConstrainSelectedInstOperands,
24706 /* 68411 */ // GIR_Coverage, 412,
24707 /* 68411 */ GIR_EraseRootFromParent_Done,
24708 /* 68412 */ // Label 1618: @68412
24709 /* 68412 */ GIM_Try, /*On fail goto*//*Label 1619*/ GIMT_Encode4(68507), // Rule ID 304 //
24710 /* 68417 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24711 /* 68420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24712 /* 68424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24713 /* 68428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24714 /* 68432 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24715 /* 68436 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24716 /* 68440 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24717 /* 68444 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24718 /* 68448 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24719 /* 68451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24720 /* 68455 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24721 /* 68459 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24722 /* 68463 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24723 /* 68467 */ // MIs[3] Operand 1
24724 /* 68467 */ // No operand predicates
24725 /* 68467 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24726 /* 68471 */ // MIs[0] src1
24727 /* 68471 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24728 /* 68476 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24729 /* 68478 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24730 /* 68485 */ // (st (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2)
24731 /* 68485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
24732 /* 68488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24733 /* 68492 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24734 /* 68495 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24735 /* 68498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24736 /* 68505 */ GIR_RootConstrainSelectedInstOperands,
24737 /* 68506 */ // GIR_Coverage, 304,
24738 /* 68506 */ GIR_EraseRootFromParent_Done,
24739 /* 68507 */ // Label 1619: @68507
24740 /* 68507 */ GIM_Try, /*On fail goto*//*Label 1620*/ GIMT_Encode4(68602), // Rule ID 340 //
24741 /* 68512 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24742 /* 68515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24743 /* 68519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24744 /* 68523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24745 /* 68527 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24746 /* 68531 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24747 /* 68535 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24748 /* 68539 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24749 /* 68543 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24750 /* 68546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24751 /* 68550 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24752 /* 68554 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24753 /* 68558 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24754 /* 68562 */ // MIs[3] Operand 1
24755 /* 68562 */ // No operand predicates
24756 /* 68562 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24757 /* 68566 */ // MIs[0] src1
24758 /* 68566 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24759 /* 68571 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24760 /* 68573 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24761 /* 68580 */ // (st (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2)
24762 /* 68580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
24763 /* 68583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24764 /* 68587 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24765 /* 68590 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24766 /* 68593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24767 /* 68600 */ GIR_RootConstrainSelectedInstOperands,
24768 /* 68601 */ // GIR_Coverage, 340,
24769 /* 68601 */ GIR_EraseRootFromParent_Done,
24770 /* 68602 */ // Label 1620: @68602
24771 /* 68602 */ GIM_Try, /*On fail goto*//*Label 1621*/ GIMT_Encode4(68697), // Rule ID 452 //
24772 /* 68607 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24773 /* 68610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24774 /* 68614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24775 /* 68618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24776 /* 68622 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24777 /* 68626 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24778 /* 68630 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24779 /* 68634 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24780 /* 68638 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24781 /* 68641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24782 /* 68645 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24783 /* 68649 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24784 /* 68653 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24785 /* 68657 */ // MIs[3] Operand 1
24786 /* 68657 */ // No operand predicates
24787 /* 68657 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24788 /* 68661 */ // MIs[0] src1
24789 /* 68661 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24790 /* 68666 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24791 /* 68668 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24792 /* 68675 */ // (st (sub:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2)
24793 /* 68675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
24794 /* 68678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24795 /* 68682 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24796 /* 68685 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24797 /* 68688 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24798 /* 68695 */ GIR_RootConstrainSelectedInstOperands,
24799 /* 68696 */ // GIR_Coverage, 452,
24800 /* 68696 */ GIR_EraseRootFromParent_Done,
24801 /* 68697 */ // Label 1621: @68697
24802 /* 68697 */ GIM_Try, /*On fail goto*//*Label 1622*/ GIMT_Encode4(68792), // Rule ID 376 //
24803 /* 68702 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24804 /* 68705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24805 /* 68709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24806 /* 68713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24807 /* 68717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24808 /* 68721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24809 /* 68725 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24810 /* 68729 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24811 /* 68733 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24812 /* 68736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24813 /* 68740 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24814 /* 68744 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24815 /* 68748 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24816 /* 68752 */ // MIs[3] Operand 1
24817 /* 68752 */ // No operand predicates
24818 /* 68752 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24819 /* 68756 */ // MIs[0] src1
24820 /* 68756 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24821 /* 68761 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24822 /* 68763 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24823 /* 68770 */ // (st (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2)
24824 /* 68770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
24825 /* 68773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24826 /* 68777 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24827 /* 68780 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24828 /* 68783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24829 /* 68790 */ GIR_RootConstrainSelectedInstOperands,
24830 /* 68791 */ // GIR_Coverage, 376,
24831 /* 68791 */ GIR_EraseRootFromParent_Done,
24832 /* 68792 */ // Label 1622: @68792
24833 /* 68792 */ GIM_Try, /*On fail goto*//*Label 1623*/ GIMT_Encode4(68893), // Rule ID 22442 //
24834 /* 68797 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24835 /* 68800 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24836 /* 68807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24837 /* 68811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24838 /* 68815 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24839 /* 68819 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24840 /* 68823 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24841 /* 68827 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24842 /* 68831 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24843 /* 68834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24844 /* 68838 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24845 /* 68845 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24846 /* 68849 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24847 /* 68853 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24848 /* 68857 */ // MIs[3] Operand 1
24849 /* 68857 */ // No operand predicates
24850 /* 68857 */ // MIs[0] dst
24851 /* 68857 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24852 /* 68862 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24853 /* 68864 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24854 /* 68871 */ // (atomic_store (add:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, (imm:{ *:[i16] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (ADD16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24855 /* 68871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
24856 /* 68874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24857 /* 68878 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24858 /* 68881 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24859 /* 68884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24860 /* 68891 */ GIR_RootConstrainSelectedInstOperands,
24861 /* 68892 */ // GIR_Coverage, 22442,
24862 /* 68892 */ GIR_EraseRootFromParent_Done,
24863 /* 68893 */ // Label 1623: @68893
24864 /* 68893 */ GIM_Try, /*On fail goto*//*Label 1624*/ GIMT_Encode4(68994), // Rule ID 22450 //
24865 /* 68898 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24866 /* 68901 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24867 /* 68908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24868 /* 68912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24869 /* 68916 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24870 /* 68920 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24871 /* 68924 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24872 /* 68928 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24873 /* 68932 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24874 /* 68935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24875 /* 68939 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24876 /* 68946 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24877 /* 68950 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24878 /* 68954 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24879 /* 68958 */ // MIs[3] Operand 1
24880 /* 68958 */ // No operand predicates
24881 /* 68958 */ // MIs[0] dst
24882 /* 68958 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24883 /* 68963 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24884 /* 68965 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24885 /* 68972 */ // (atomic_store (and:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, (imm:{ *:[i16] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (AND16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24886 /* 68972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
24887 /* 68975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24888 /* 68979 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24889 /* 68982 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24890 /* 68985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24891 /* 68992 */ GIR_RootConstrainSelectedInstOperands,
24892 /* 68993 */ // GIR_Coverage, 22450,
24893 /* 68993 */ GIR_EraseRootFromParent_Done,
24894 /* 68994 */ // Label 1624: @68994
24895 /* 68994 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(69095), // Rule ID 22458 //
24896 /* 68999 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24897 /* 69002 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24898 /* 69009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24899 /* 69013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24900 /* 69017 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24901 /* 69021 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24902 /* 69025 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24903 /* 69029 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24904 /* 69033 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24905 /* 69036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24906 /* 69040 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24907 /* 69047 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24908 /* 69051 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24909 /* 69055 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24910 /* 69059 */ // MIs[3] Operand 1
24911 /* 69059 */ // No operand predicates
24912 /* 69059 */ // MIs[0] dst
24913 /* 69059 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24914 /* 69064 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24915 /* 69066 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24916 /* 69073 */ // (atomic_store (or:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, (imm:{ *:[i16] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (OR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24917 /* 69073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
24918 /* 69076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24919 /* 69080 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24920 /* 69083 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24921 /* 69086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24922 /* 69093 */ GIR_RootConstrainSelectedInstOperands,
24923 /* 69094 */ // GIR_Coverage, 22458,
24924 /* 69094 */ GIR_EraseRootFromParent_Done,
24925 /* 69095 */ // Label 1625: @69095
24926 /* 69095 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(69196), // Rule ID 22474 //
24927 /* 69100 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24928 /* 69103 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24929 /* 69110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24930 /* 69114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24931 /* 69118 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24932 /* 69122 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24933 /* 69126 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24934 /* 69130 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24935 /* 69134 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24936 /* 69137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24937 /* 69141 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24938 /* 69148 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24939 /* 69152 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24940 /* 69156 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24941 /* 69160 */ // MIs[3] Operand 1
24942 /* 69160 */ // No operand predicates
24943 /* 69160 */ // MIs[0] dst
24944 /* 69160 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24945 /* 69165 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24946 /* 69167 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24947 /* 69174 */ // (atomic_store (sub:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, (imm:{ *:[i16] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (SUB16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24948 /* 69174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
24949 /* 69177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24950 /* 69181 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24951 /* 69184 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24952 /* 69187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24953 /* 69194 */ GIR_RootConstrainSelectedInstOperands,
24954 /* 69195 */ // GIR_Coverage, 22474,
24955 /* 69195 */ GIR_EraseRootFromParent_Done,
24956 /* 69196 */ // Label 1626: @69196
24957 /* 69196 */ GIM_Try, /*On fail goto*//*Label 1627*/ GIMT_Encode4(69297), // Rule ID 22466 //
24958 /* 69201 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24959 /* 69204 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24960 /* 69211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24961 /* 69215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24962 /* 69219 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24963 /* 69223 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24964 /* 69227 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24965 /* 69231 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24966 /* 69235 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24967 /* 69238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24968 /* 69242 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24969 /* 69249 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24970 /* 69253 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24971 /* 69257 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24972 /* 69261 */ // MIs[3] Operand 1
24973 /* 69261 */ // No operand predicates
24974 /* 69261 */ // MIs[0] dst
24975 /* 69261 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24976 /* 69266 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24977 /* 69268 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24978 /* 69275 */ // (atomic_store (xor:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, (imm:{ *:[i16] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (XOR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
24979 /* 69275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
24980 /* 69278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24981 /* 69282 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24982 /* 69285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24983 /* 69288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24984 /* 69295 */ GIR_RootConstrainSelectedInstOperands,
24985 /* 69296 */ // GIR_Coverage, 22466,
24986 /* 69296 */ GIR_EraseRootFromParent_Done,
24987 /* 69297 */ // Label 1627: @69297
24988 /* 69297 */ GIM_Try, /*On fail goto*//*Label 1628*/ GIMT_Encode4(69388), // Rule ID 733 //
24989 /* 69302 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24990 /* 69305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24991 /* 69309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24992 /* 69313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
24993 /* 69317 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24994 /* 69321 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24995 /* 69325 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24996 /* 69329 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24997 /* 69333 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24998 /* 69336 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24999 /* 69340 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25000 /* 69344 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25001 /* 69348 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25002 /* 69352 */ // MIs[3] Operand 1
25003 /* 69352 */ // No operand predicates
25004 /* 69352 */ // MIs[0] src1
25005 /* 69352 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25006 /* 69357 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25007 /* 69359 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25008 /* 69366 */ // (st (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
25009 /* 69366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi),
25010 /* 69369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25011 /* 69373 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25012 /* 69376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25013 /* 69379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25014 /* 69386 */ GIR_RootConstrainSelectedInstOperands,
25015 /* 69387 */ // GIR_Coverage, 733,
25016 /* 69387 */ GIR_EraseRootFromParent_Done,
25017 /* 69388 */ // Label 1628: @69388
25018 /* 69388 */ GIM_Try, /*On fail goto*//*Label 1629*/ GIMT_Encode4(69479), // Rule ID 701 //
25019 /* 69393 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25020 /* 69396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25021 /* 69400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25022 /* 69404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25023 /* 69408 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25024 /* 69412 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25025 /* 69416 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25026 /* 69420 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25027 /* 69424 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25028 /* 69427 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25029 /* 69431 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25030 /* 69435 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25031 /* 69439 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25032 /* 69443 */ // MIs[3] Operand 1
25033 /* 69443 */ // No operand predicates
25034 /* 69443 */ // MIs[0] src1
25035 /* 69443 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25036 /* 69448 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25037 /* 69450 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25038 /* 69457 */ // (st (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
25039 /* 69457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi),
25040 /* 69460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25041 /* 69464 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25042 /* 69467 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25043 /* 69470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25044 /* 69477 */ GIR_RootConstrainSelectedInstOperands,
25045 /* 69478 */ // GIR_Coverage, 701,
25046 /* 69478 */ GIR_EraseRootFromParent_Done,
25047 /* 69479 */ // Label 1629: @69479
25048 /* 69479 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(69570), // Rule ID 765 //
25049 /* 69484 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25050 /* 69487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25051 /* 69491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25052 /* 69495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25053 /* 69499 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25054 /* 69503 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25055 /* 69507 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25056 /* 69511 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25057 /* 69515 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25058 /* 69518 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25059 /* 69522 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25060 /* 69526 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25061 /* 69530 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25062 /* 69534 */ // MIs[3] Operand 1
25063 /* 69534 */ // No operand predicates
25064 /* 69534 */ // MIs[0] src1
25065 /* 69534 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25066 /* 69539 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25067 /* 69541 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25068 /* 69548 */ // (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
25069 /* 69548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi),
25070 /* 69551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25071 /* 69555 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25072 /* 69558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25073 /* 69561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25074 /* 69568 */ GIR_RootConstrainSelectedInstOperands,
25075 /* 69569 */ // GIR_Coverage, 765,
25076 /* 69569 */ GIR_EraseRootFromParent_Done,
25077 /* 69570 */ // Label 1630: @69570
25078 /* 69570 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(69661), // Rule ID 797 //
25079 /* 69575 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25080 /* 69578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25081 /* 69582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25082 /* 69586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25083 /* 69590 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25084 /* 69594 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25085 /* 69598 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25086 /* 69602 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25087 /* 69606 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25088 /* 69609 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25089 /* 69613 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25090 /* 69617 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25091 /* 69621 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25092 /* 69625 */ // MIs[3] Operand 1
25093 /* 69625 */ // No operand predicates
25094 /* 69625 */ // MIs[0] src1
25095 /* 69625 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25096 /* 69630 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25097 /* 69632 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25098 /* 69639 */ // (st (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
25099 /* 69639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi),
25100 /* 69642 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25101 /* 69646 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25102 /* 69649 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25103 /* 69652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25104 /* 69659 */ GIR_RootConstrainSelectedInstOperands,
25105 /* 69660 */ // GIR_Coverage, 797,
25106 /* 69660 */ GIR_EraseRootFromParent_Done,
25107 /* 69661 */ // Label 1631: @69661
25108 /* 69661 */ GIM_Try, /*On fail goto*//*Label 1632*/ GIMT_Encode4(69752), // Rule ID 669 //
25109 /* 69666 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25110 /* 69669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25111 /* 69673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25112 /* 69677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
25113 /* 69681 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25114 /* 69685 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25115 /* 69689 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25116 /* 69693 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25117 /* 69697 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25118 /* 69700 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25119 /* 69704 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25120 /* 69708 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25121 /* 69712 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25122 /* 69716 */ // MIs[3] Operand 1
25123 /* 69716 */ // No operand predicates
25124 /* 69716 */ // MIs[0] src1
25125 /* 69716 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25126 /* 69721 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25127 /* 69723 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25128 /* 69730 */ // (st (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL16mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
25129 /* 69730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi),
25130 /* 69733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25131 /* 69737 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25132 /* 69740 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25133 /* 69743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25134 /* 69750 */ GIR_RootConstrainSelectedInstOperands,
25135 /* 69751 */ // GIR_Coverage, 669,
25136 /* 69751 */ GIR_EraseRootFromParent_Done,
25137 /* 69752 */ // Label 1632: @69752
25138 /* 69752 */ GIM_Try, /*On fail goto*//*Label 1633*/ GIMT_Encode4(69850), // Rule ID 22446 //
25139 /* 69757 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25140 /* 69760 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25141 /* 69767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25142 /* 69771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25143 /* 69775 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25144 /* 69779 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25145 /* 69783 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25146 /* 69787 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25147 /* 69791 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25148 /* 69794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25149 /* 69798 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25150 /* 69805 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25151 /* 69809 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25152 /* 69814 */ // MIs[0] dst
25153 /* 69814 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25154 /* 69819 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25155 /* 69821 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25156 /* 69828 */ // (atomic_store (add:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (ADD16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25157 /* 69828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
25158 /* 69831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25159 /* 69835 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25160 /* 69839 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25161 /* 69842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25162 /* 69848 */ GIR_RootConstrainSelectedInstOperands,
25163 /* 69849 */ // GIR_Coverage, 22446,
25164 /* 69849 */ GIR_EraseRootFromParent_Done,
25165 /* 69850 */ // Label 1633: @69850
25166 /* 69850 */ GIM_Try, /*On fail goto*//*Label 1634*/ GIMT_Encode4(69948), // Rule ID 26036 //
25167 /* 69855 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25168 /* 69858 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25169 /* 69865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25170 /* 69869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25171 /* 69873 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25172 /* 69877 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25173 /* 69881 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25174 /* 69886 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25175 /* 69890 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25176 /* 69894 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25177 /* 69897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25178 /* 69901 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25179 /* 69908 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25180 /* 69912 */ // MIs[0] dst
25181 /* 69912 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25182 /* 69917 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25183 /* 69919 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25184 /* 69926 */ // (atomic_store (add:{ *:[i16] } GR16:{ *:[i16] }:$src, (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (ADD16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25185 /* 69926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
25186 /* 69929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25187 /* 69933 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25188 /* 69937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25189 /* 69940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25190 /* 69946 */ GIR_RootConstrainSelectedInstOperands,
25191 /* 69947 */ // GIR_Coverage, 26036,
25192 /* 69947 */ GIR_EraseRootFromParent_Done,
25193 /* 69948 */ // Label 1634: @69948
25194 /* 69948 */ GIM_Try, /*On fail goto*//*Label 1635*/ GIMT_Encode4(70046), // Rule ID 22454 //
25195 /* 69953 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25196 /* 69956 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25197 /* 69963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25198 /* 69967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25199 /* 69971 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25200 /* 69975 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25201 /* 69979 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25202 /* 69983 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25203 /* 69987 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25204 /* 69990 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25205 /* 69994 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25206 /* 70001 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25207 /* 70005 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25208 /* 70010 */ // MIs[0] dst
25209 /* 70010 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25210 /* 70015 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25211 /* 70017 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25212 /* 70024 */ // (atomic_store (and:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (AND16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25213 /* 70024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
25214 /* 70027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25215 /* 70031 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25216 /* 70035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25217 /* 70038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25218 /* 70044 */ GIR_RootConstrainSelectedInstOperands,
25219 /* 70045 */ // GIR_Coverage, 22454,
25220 /* 70045 */ GIR_EraseRootFromParent_Done,
25221 /* 70046 */ // Label 1635: @70046
25222 /* 70046 */ GIM_Try, /*On fail goto*//*Label 1636*/ GIMT_Encode4(70144), // Rule ID 26040 //
25223 /* 70051 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25224 /* 70054 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25225 /* 70061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25226 /* 70065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25227 /* 70069 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25228 /* 70073 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25229 /* 70077 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25230 /* 70082 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25231 /* 70086 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25232 /* 70090 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25233 /* 70093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25234 /* 70097 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25235 /* 70104 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25236 /* 70108 */ // MIs[0] dst
25237 /* 70108 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25238 /* 70113 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25239 /* 70115 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25240 /* 70122 */ // (atomic_store (and:{ *:[i16] } GR16:{ *:[i16] }:$src, (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (AND16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25241 /* 70122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
25242 /* 70125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25243 /* 70129 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25244 /* 70133 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25245 /* 70136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25246 /* 70142 */ GIR_RootConstrainSelectedInstOperands,
25247 /* 70143 */ // GIR_Coverage, 26040,
25248 /* 70143 */ GIR_EraseRootFromParent_Done,
25249 /* 70144 */ // Label 1636: @70144
25250 /* 70144 */ GIM_Try, /*On fail goto*//*Label 1637*/ GIMT_Encode4(70242), // Rule ID 22462 //
25251 /* 70149 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25252 /* 70152 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25253 /* 70159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25254 /* 70163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25255 /* 70167 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25256 /* 70171 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25257 /* 70175 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25258 /* 70179 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25259 /* 70183 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25260 /* 70186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25261 /* 70190 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25262 /* 70197 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25263 /* 70201 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25264 /* 70206 */ // MIs[0] dst
25265 /* 70206 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25266 /* 70211 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25267 /* 70213 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25268 /* 70220 */ // (atomic_store (or:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (OR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25269 /* 70220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
25270 /* 70223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25271 /* 70227 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25272 /* 70231 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25273 /* 70234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25274 /* 70240 */ GIR_RootConstrainSelectedInstOperands,
25275 /* 70241 */ // GIR_Coverage, 22462,
25276 /* 70241 */ GIR_EraseRootFromParent_Done,
25277 /* 70242 */ // Label 1637: @70242
25278 /* 70242 */ GIM_Try, /*On fail goto*//*Label 1638*/ GIMT_Encode4(70340), // Rule ID 26044 //
25279 /* 70247 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25280 /* 70250 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25281 /* 70257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25282 /* 70261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25283 /* 70265 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25284 /* 70269 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25285 /* 70273 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25286 /* 70278 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25287 /* 70282 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25288 /* 70286 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25289 /* 70289 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25290 /* 70293 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25291 /* 70300 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25292 /* 70304 */ // MIs[0] dst
25293 /* 70304 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25294 /* 70309 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25295 /* 70311 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25296 /* 70318 */ // (atomic_store (or:{ *:[i16] } GR16:{ *:[i16] }:$src, (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (OR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25297 /* 70318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
25298 /* 70321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25299 /* 70325 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25300 /* 70329 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25301 /* 70332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25302 /* 70338 */ GIR_RootConstrainSelectedInstOperands,
25303 /* 70339 */ // GIR_Coverage, 26044,
25304 /* 70339 */ GIR_EraseRootFromParent_Done,
25305 /* 70340 */ // Label 1638: @70340
25306 /* 70340 */ GIM_Try, /*On fail goto*//*Label 1639*/ GIMT_Encode4(70438), // Rule ID 22478 //
25307 /* 70345 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25308 /* 70348 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25309 /* 70355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25310 /* 70359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25311 /* 70363 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25312 /* 70367 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25313 /* 70371 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25314 /* 70375 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25315 /* 70379 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25316 /* 70382 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25317 /* 70386 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25318 /* 70393 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25319 /* 70397 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25320 /* 70402 */ // MIs[0] dst
25321 /* 70402 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25322 /* 70407 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25323 /* 70409 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25324 /* 70416 */ // (atomic_store (sub:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (SUB16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25325 /* 70416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
25326 /* 70419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25327 /* 70423 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25328 /* 70427 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25329 /* 70430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25330 /* 70436 */ GIR_RootConstrainSelectedInstOperands,
25331 /* 70437 */ // GIR_Coverage, 22478,
25332 /* 70437 */ GIR_EraseRootFromParent_Done,
25333 /* 70438 */ // Label 1639: @70438
25334 /* 70438 */ GIM_Try, /*On fail goto*//*Label 1640*/ GIMT_Encode4(70536), // Rule ID 22470 //
25335 /* 70443 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25336 /* 70446 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25337 /* 70453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25338 /* 70457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25339 /* 70461 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25340 /* 70465 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25341 /* 70469 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25342 /* 70473 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25343 /* 70477 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25344 /* 70480 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25345 /* 70484 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25346 /* 70491 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25347 /* 70495 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25348 /* 70500 */ // MIs[0] dst
25349 /* 70500 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25350 /* 70505 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25351 /* 70507 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25352 /* 70514 */ // (atomic_store (xor:{ *:[i16] } (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (XOR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25353 /* 70514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
25354 /* 70517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25355 /* 70521 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
25356 /* 70525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25357 /* 70528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25358 /* 70534 */ GIR_RootConstrainSelectedInstOperands,
25359 /* 70535 */ // GIR_Coverage, 22470,
25360 /* 70535 */ GIR_EraseRootFromParent_Done,
25361 /* 70536 */ // Label 1640: @70536
25362 /* 70536 */ GIM_Try, /*On fail goto*//*Label 1641*/ GIMT_Encode4(70634), // Rule ID 26048 //
25363 /* 70541 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25364 /* 70544 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25365 /* 70551 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25366 /* 70555 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25367 /* 70559 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25368 /* 70563 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25369 /* 70567 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25370 /* 70572 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25371 /* 70576 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25372 /* 70580 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25373 /* 70583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25374 /* 70587 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25375 /* 70594 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25376 /* 70598 */ // MIs[0] dst
25377 /* 70598 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25378 /* 70603 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25379 /* 70605 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25380 /* 70612 */ // (atomic_store (xor:{ *:[i16] } GR16:{ *:[i16] }:$src, (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (XOR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25381 /* 70612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
25382 /* 70615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25383 /* 70619 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
25384 /* 70623 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25385 /* 70626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25386 /* 70632 */ GIR_RootConstrainSelectedInstOperands,
25387 /* 70633 */ // GIR_Coverage, 26048,
25388 /* 70633 */ GIR_EraseRootFromParent_Done,
25389 /* 70634 */ // Label 1641: @70634
25390 /* 70634 */ GIM_Try, /*On fail goto*//*Label 1642*/ GIMT_Encode4(70722), // Rule ID 408 //
25391 /* 70639 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25392 /* 70642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25393 /* 70646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25394 /* 70650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25395 /* 70654 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25396 /* 70658 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25397 /* 70662 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25398 /* 70666 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25399 /* 70670 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25400 /* 70673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25401 /* 70677 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25402 /* 70681 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25403 /* 70686 */ // MIs[0] src1
25404 /* 70686 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25405 /* 70691 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25406 /* 70693 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25407 /* 70700 */ // (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25408 /* 70700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
25409 /* 70703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25410 /* 70707 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25411 /* 70711 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25412 /* 70714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25413 /* 70720 */ GIR_RootConstrainSelectedInstOperands,
25414 /* 70721 */ // GIR_Coverage, 408,
25415 /* 70721 */ GIR_EraseRootFromParent_Done,
25416 /* 70722 */ // Label 1642: @70722
25417 /* 70722 */ GIM_Try, /*On fail goto*//*Label 1643*/ GIMT_Encode4(70810), // Rule ID 23256 //
25418 /* 70727 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25419 /* 70730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25420 /* 70734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25421 /* 70738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25422 /* 70742 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25423 /* 70746 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25424 /* 70750 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25425 /* 70755 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25426 /* 70759 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25427 /* 70763 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25428 /* 70766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25429 /* 70770 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25430 /* 70774 */ // MIs[0] src1
25431 /* 70774 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25432 /* 70779 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25433 /* 70781 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25434 /* 70788 */ // (st (add:{ *:[i16] } GR16:{ *:[i16] }:$src2, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25435 /* 70788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
25436 /* 70791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25437 /* 70795 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25438 /* 70799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25439 /* 70802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25440 /* 70808 */ GIR_RootConstrainSelectedInstOperands,
25441 /* 70809 */ // GIR_Coverage, 23256,
25442 /* 70809 */ GIR_EraseRootFromParent_Done,
25443 /* 70810 */ // Label 1643: @70810
25444 /* 70810 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(70898), // Rule ID 300 //
25445 /* 70815 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25446 /* 70818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25447 /* 70822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25448 /* 70826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25449 /* 70830 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25450 /* 70834 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25451 /* 70838 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25452 /* 70842 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25453 /* 70846 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25454 /* 70849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25455 /* 70853 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25456 /* 70857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25457 /* 70862 */ // MIs[0] src1
25458 /* 70862 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25459 /* 70867 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25460 /* 70869 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25461 /* 70876 */ // (st (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25462 /* 70876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
25463 /* 70879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25464 /* 70883 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25465 /* 70887 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25466 /* 70890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25467 /* 70896 */ GIR_RootConstrainSelectedInstOperands,
25468 /* 70897 */ // GIR_Coverage, 300,
25469 /* 70897 */ GIR_EraseRootFromParent_Done,
25470 /* 70898 */ // Label 1644: @70898
25471 /* 70898 */ GIM_Try, /*On fail goto*//*Label 1645*/ GIMT_Encode4(70986), // Rule ID 23220 //
25472 /* 70903 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25473 /* 70906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25474 /* 70910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25475 /* 70914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25476 /* 70918 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25477 /* 70922 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25478 /* 70926 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25479 /* 70931 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25480 /* 70935 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25481 /* 70939 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25482 /* 70942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25483 /* 70946 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25484 /* 70950 */ // MIs[0] src1
25485 /* 70950 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25486 /* 70955 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25487 /* 70957 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25488 /* 70964 */ // (st (and:{ *:[i16] } GR16:{ *:[i16] }:$src2, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25489 /* 70964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
25490 /* 70967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25491 /* 70971 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25492 /* 70975 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25493 /* 70978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25494 /* 70984 */ GIR_RootConstrainSelectedInstOperands,
25495 /* 70985 */ // GIR_Coverage, 23220,
25496 /* 70985 */ GIR_EraseRootFromParent_Done,
25497 /* 70986 */ // Label 1645: @70986
25498 /* 70986 */ GIM_Try, /*On fail goto*//*Label 1646*/ GIMT_Encode4(71084), // Rule ID 749 //
25499 /* 70991 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25500 /* 70994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25501 /* 70998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25502 /* 71002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25503 /* 71006 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25504 /* 71010 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25505 /* 71014 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25506 /* 71018 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25507 /* 71022 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25508 /* 71025 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25509 /* 71029 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25510 /* 71033 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25511 /* 71038 */ // MIs[0] src1
25512 /* 71038 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25513 /* 71043 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25514 /* 71045 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25515 /* 71052 */ // (st (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
25516 /* 71052 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25517 /* 71056 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25518 /* 71062 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25519 /* 71066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL),
25520 /* 71069 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25521 /* 71073 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25522 /* 71076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25523 /* 71082 */ GIR_RootConstrainSelectedInstOperands,
25524 /* 71083 */ // GIR_Coverage, 749,
25525 /* 71083 */ GIR_EraseRootFromParent_Done,
25526 /* 71084 */ // Label 1646: @71084
25527 /* 71084 */ GIM_Try, /*On fail goto*//*Label 1647*/ GIMT_Encode4(71182), // Rule ID 717 //
25528 /* 71089 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25529 /* 71092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25530 /* 71096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25531 /* 71100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25532 /* 71104 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25533 /* 71108 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25534 /* 71112 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25535 /* 71116 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25536 /* 71120 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25537 /* 71123 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25538 /* 71127 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25539 /* 71131 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25540 /* 71136 */ // MIs[0] src1
25541 /* 71136 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25542 /* 71141 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25543 /* 71143 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25544 /* 71150 */ // (st (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
25545 /* 71150 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25546 /* 71154 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25547 /* 71160 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25548 /* 71164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL),
25549 /* 71167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25550 /* 71171 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25551 /* 71174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25552 /* 71180 */ GIR_RootConstrainSelectedInstOperands,
25553 /* 71181 */ // GIR_Coverage, 717,
25554 /* 71181 */ GIR_EraseRootFromParent_Done,
25555 /* 71182 */ // Label 1647: @71182
25556 /* 71182 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(71270), // Rule ID 336 //
25557 /* 71187 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25558 /* 71190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25559 /* 71194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25560 /* 71198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25561 /* 71202 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25562 /* 71206 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25563 /* 71210 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25564 /* 71214 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25565 /* 71218 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25566 /* 71221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25567 /* 71225 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25568 /* 71229 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25569 /* 71234 */ // MIs[0] src1
25570 /* 71234 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25571 /* 71239 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25572 /* 71241 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25573 /* 71248 */ // (st (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25574 /* 71248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
25575 /* 71251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25576 /* 71255 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25577 /* 71259 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25578 /* 71262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25579 /* 71268 */ GIR_RootConstrainSelectedInstOperands,
25580 /* 71269 */ // GIR_Coverage, 336,
25581 /* 71269 */ GIR_EraseRootFromParent_Done,
25582 /* 71270 */ // Label 1648: @71270
25583 /* 71270 */ GIM_Try, /*On fail goto*//*Label 1649*/ GIMT_Encode4(71358), // Rule ID 23232 //
25584 /* 71275 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25585 /* 71278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25586 /* 71282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25587 /* 71286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25588 /* 71290 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25589 /* 71294 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25590 /* 71298 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25591 /* 71303 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25592 /* 71307 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25593 /* 71311 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25594 /* 71314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25595 /* 71318 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25596 /* 71322 */ // MIs[0] src1
25597 /* 71322 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25598 /* 71327 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25599 /* 71329 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25600 /* 71336 */ // (st (or:{ *:[i16] } GR16:{ *:[i16] }:$src2, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25601 /* 71336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
25602 /* 71339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25603 /* 71343 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25604 /* 71347 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25605 /* 71350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25606 /* 71356 */ GIR_RootConstrainSelectedInstOperands,
25607 /* 71357 */ // GIR_Coverage, 23232,
25608 /* 71357 */ GIR_EraseRootFromParent_Done,
25609 /* 71358 */ // Label 1649: @71358
25610 /* 71358 */ GIM_Try, /*On fail goto*//*Label 1650*/ GIMT_Encode4(71456), // Rule ID 781 //
25611 /* 71363 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25612 /* 71366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25613 /* 71370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25614 /* 71374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25615 /* 71378 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25616 /* 71382 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25617 /* 71386 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25618 /* 71390 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25619 /* 71394 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25620 /* 71397 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25621 /* 71401 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25622 /* 71405 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25623 /* 71410 */ // MIs[0] src1
25624 /* 71410 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25625 /* 71415 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25626 /* 71417 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25627 /* 71424 */ // (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
25628 /* 71424 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25629 /* 71428 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25630 /* 71434 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25631 /* 71438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL),
25632 /* 71441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25633 /* 71445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25634 /* 71448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25635 /* 71454 */ GIR_RootConstrainSelectedInstOperands,
25636 /* 71455 */ // GIR_Coverage, 781,
25637 /* 71455 */ GIR_EraseRootFromParent_Done,
25638 /* 71456 */ // Label 1650: @71456
25639 /* 71456 */ GIM_Try, /*On fail goto*//*Label 1651*/ GIMT_Encode4(71554), // Rule ID 813 //
25640 /* 71461 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25641 /* 71464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25642 /* 71468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25643 /* 71472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25644 /* 71476 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25645 /* 71480 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25646 /* 71484 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25647 /* 71488 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25648 /* 71492 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25649 /* 71495 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25650 /* 71499 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25651 /* 71503 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25652 /* 71508 */ // MIs[0] src1
25653 /* 71508 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25654 /* 71513 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25655 /* 71515 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25656 /* 71522 */ // (st (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
25657 /* 71522 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25658 /* 71526 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25659 /* 71532 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25660 /* 71536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL),
25661 /* 71539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25662 /* 71543 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25663 /* 71546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25664 /* 71552 */ GIR_RootConstrainSelectedInstOperands,
25665 /* 71553 */ // GIR_Coverage, 813,
25666 /* 71553 */ GIR_EraseRootFromParent_Done,
25667 /* 71554 */ // Label 1651: @71554
25668 /* 71554 */ GIM_Try, /*On fail goto*//*Label 1652*/ GIMT_Encode4(71652), // Rule ID 685 //
25669 /* 71559 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25670 /* 71562 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25671 /* 71566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25672 /* 71570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
25673 /* 71574 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25674 /* 71578 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25675 /* 71582 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25676 /* 71586 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25677 /* 71590 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25678 /* 71593 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25679 /* 71597 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
25680 /* 71601 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
25681 /* 71606 */ // MIs[0] src1
25682 /* 71606 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25683 /* 71611 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25684 /* 71613 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25685 /* 71620 */ // (st (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
25686 /* 71620 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25687 /* 71624 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25688 /* 71630 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
25689 /* 71634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL),
25690 /* 71637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25691 /* 71641 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25692 /* 71644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25693 /* 71650 */ GIR_RootConstrainSelectedInstOperands,
25694 /* 71651 */ // GIR_Coverage, 685,
25695 /* 71651 */ GIR_EraseRootFromParent_Done,
25696 /* 71652 */ // Label 1652: @71652
25697 /* 71652 */ GIM_Try, /*On fail goto*//*Label 1653*/ GIMT_Encode4(71740), // Rule ID 444 //
25698 /* 71657 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25699 /* 71660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25700 /* 71664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25701 /* 71668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25702 /* 71672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25703 /* 71676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25704 /* 71680 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25705 /* 71684 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25706 /* 71688 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25707 /* 71691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25708 /* 71695 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25709 /* 71699 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25710 /* 71704 */ // MIs[0] src1
25711 /* 71704 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25712 /* 71709 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25713 /* 71711 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25714 /* 71718 */ // (st (sub:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25715 /* 71718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
25716 /* 71721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25717 /* 71725 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25718 /* 71729 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25719 /* 71732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25720 /* 71738 */ GIR_RootConstrainSelectedInstOperands,
25721 /* 71739 */ // GIR_Coverage, 444,
25722 /* 71739 */ GIR_EraseRootFromParent_Done,
25723 /* 71740 */ // Label 1653: @71740
25724 /* 71740 */ GIM_Try, /*On fail goto*//*Label 1654*/ GIMT_Encode4(71828), // Rule ID 372 //
25725 /* 71745 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25726 /* 71748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25727 /* 71752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25728 /* 71756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25729 /* 71760 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25730 /* 71764 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25731 /* 71768 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25732 /* 71772 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25733 /* 71776 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25734 /* 71779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25735 /* 71783 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25736 /* 71787 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25737 /* 71792 */ // MIs[0] src1
25738 /* 71792 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25739 /* 71797 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25740 /* 71799 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25741 /* 71806 */ // (st (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25742 /* 71806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
25743 /* 71809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25744 /* 71813 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25745 /* 71817 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25746 /* 71820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25747 /* 71826 */ GIR_RootConstrainSelectedInstOperands,
25748 /* 71827 */ // GIR_Coverage, 372,
25749 /* 71827 */ GIR_EraseRootFromParent_Done,
25750 /* 71828 */ // Label 1654: @71828
25751 /* 71828 */ GIM_Try, /*On fail goto*//*Label 1655*/ GIMT_Encode4(71916), // Rule ID 23244 //
25752 /* 71833 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25753 /* 71836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25754 /* 71840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25755 /* 71844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25756 /* 71848 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25757 /* 71852 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
25758 /* 71856 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25759 /* 71861 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25760 /* 71865 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25761 /* 71869 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25762 /* 71872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25763 /* 71876 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25764 /* 71880 */ // MIs[0] src1
25765 /* 71880 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25766 /* 71885 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25767 /* 71887 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25768 /* 71894 */ // (st (xor:{ *:[i16] } GR16:{ *:[i16] }:$src2, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR16:{ *:[i16] }:$src2)
25769 /* 71894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
25770 /* 71897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25771 /* 71901 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25772 /* 71905 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25773 /* 71908 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25774 /* 71914 */ GIR_RootConstrainSelectedInstOperands,
25775 /* 71915 */ // GIR_Coverage, 23244,
25776 /* 71915 */ GIR_EraseRootFromParent_Done,
25777 /* 71916 */ // Label 1655: @71916
25778 /* 71916 */ GIM_Try, /*On fail goto*//*Label 1656*/ GIMT_Encode4(71970), // Rule ID 25 //
25779 /* 71921 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25780 /* 71924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25781 /* 71928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25782 /* 71932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25783 /* 71936 */ // MIs[1] Operand 1
25784 /* 71936 */ // No operand predicates
25785 /* 71936 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25786 /* 71940 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25787 /* 71944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25788 /* 71946 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25789 /* 71953 */ // (st (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
25790 /* 71953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
25791 /* 71956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25792 /* 71960 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25793 /* 71963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25794 /* 71968 */ GIR_RootConstrainSelectedInstOperands,
25795 /* 71969 */ // GIR_Coverage, 25,
25796 /* 71969 */ GIR_EraseRootFromParent_Done,
25797 /* 71970 */ // Label 1656: @71970
25798 /* 71970 */ GIM_Try, /*On fail goto*//*Label 1657*/ GIMT_Encode4(72023), // Rule ID 22522 //
25799 /* 71975 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25800 /* 71978 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25801 /* 71985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25802 /* 71989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25803 /* 71993 */ // MIs[1] Operand 1
25804 /* 71993 */ // No operand predicates
25805 /* 71993 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25806 /* 71997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25807 /* 71999 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25808 /* 72006 */ // (atomic_store (imm:{ *:[i16] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
25809 /* 72006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
25810 /* 72009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25811 /* 72013 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25812 /* 72016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25813 /* 72021 */ GIR_RootConstrainSelectedInstOperands,
25814 /* 72022 */ // GIR_Coverage, 22522,
25815 /* 72022 */ GIR_EraseRootFromParent_Done,
25816 /* 72023 */ // Label 1657: @72023
25817 /* 72023 */ GIM_Try, /*On fail goto*//*Label 1658*/ GIMT_Encode4(72086), // Rule ID 50 //
25818 /* 72028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
25819 /* 72031 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25820 /* 72034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25821 /* 72038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25822 /* 72042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25823 /* 72046 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25824 /* 72050 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25825 /* 72055 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25826 /* 72059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25827 /* 72061 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25828 /* 72068 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
25829 /* 72068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr),
25830 /* 72071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25831 /* 72075 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25832 /* 72079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25833 /* 72084 */ GIR_RootConstrainSelectedInstOperands,
25834 /* 72085 */ // GIR_Coverage, 50,
25835 /* 72085 */ GIR_EraseRootFromParent_Done,
25836 /* 72086 */ // Label 1658: @72086
25837 /* 72086 */ GIM_Try, /*On fail goto*//*Label 1659*/ GIMT_Encode4(72149), // Rule ID 56 //
25838 /* 72091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
25839 /* 72094 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25840 /* 72097 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25841 /* 72101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25842 /* 72105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25843 /* 72109 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25844 /* 72113 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25845 /* 72118 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25846 /* 72122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25847 /* 72124 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25848 /* 72131 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr_EVEX addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
25849 /* 72131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr_EVEX),
25850 /* 72134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25851 /* 72138 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25852 /* 72142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25853 /* 72147 */ GIR_RootConstrainSelectedInstOperands,
25854 /* 72148 */ // GIR_Coverage, 56,
25855 /* 72148 */ GIR_EraseRootFromParent_Done,
25856 /* 72149 */ // Label 1659: @72149
25857 /* 72149 */ GIM_Try, /*On fail goto*//*Label 1660*/ GIMT_Encode4(72194), // Rule ID 22526 //
25858 /* 72154 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25859 /* 72157 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25860 /* 72164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25861 /* 72168 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25862 /* 72172 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25863 /* 72179 */ // (atomic_store GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25864 /* 72179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25865 /* 72182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25866 /* 72186 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25867 /* 72188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25868 /* 72192 */ GIR_RootConstrainSelectedInstOperands,
25869 /* 72193 */ // GIR_Coverage, 22526,
25870 /* 72193 */ GIR_EraseRootFromParent_Done,
25871 /* 72194 */ // Label 1660: @72194
25872 /* 72194 */ GIM_Try, /*On fail goto*//*Label 1661*/ GIMT_Encode4(72236), // Rule ID 33 //
25873 /* 72199 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25874 /* 72202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25875 /* 72206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25876 /* 72210 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25877 /* 72214 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25878 /* 72221 */ // (st GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25879 /* 72221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25880 /* 72224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25881 /* 72228 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25882 /* 72230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25883 /* 72234 */ GIR_RootConstrainSelectedInstOperands,
25884 /* 72235 */ // GIR_Coverage, 33,
25885 /* 72235 */ GIR_EraseRootFromParent_Done,
25886 /* 72236 */ // Label 1661: @72236
25887 /* 72236 */ GIM_Try, /*On fail goto*//*Label 1662*/ GIMT_Encode4(72281), // Rule ID 4625 //
25888 /* 72241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
25889 /* 72244 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25890 /* 72247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25891 /* 72251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
25892 /* 72255 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25893 /* 72259 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25894 /* 72266 */ // (st FR16X:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSHZmr addr:{ *:[iPTR] }:$dst, FR16X:{ *:[f16] }:$src)
25895 /* 72266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZmr),
25896 /* 72269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25897 /* 72273 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25898 /* 72275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25899 /* 72279 */ GIR_RootConstrainSelectedInstOperands,
25900 /* 72280 */ // GIR_Coverage, 4625,
25901 /* 72280 */ GIR_EraseRootFromParent_Done,
25902 /* 72281 */ // Label 1662: @72281
25903 /* 72281 */ GIM_Try, /*On fail goto*//*Label 1663*/ GIMT_Encode4(72347), // Rule ID 18536 //
25904 /* 72286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
25905 /* 72289 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25906 /* 72292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25907 /* 72296 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25908 /* 72300 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25909 /* 72307 */ // (st f16:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (PEXTRWmri addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] })
25910 /* 72307 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25911 /* 72310 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25912 /* 72314 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25913 /* 72319 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25914 /* 72323 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25915 /* 72328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PEXTRWmri),
25916 /* 72331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25917 /* 72335 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25918 /* 72338 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25919 /* 72341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25920 /* 72345 */ GIR_RootConstrainSelectedInstOperands,
25921 /* 72346 */ // GIR_Coverage, 18536,
25922 /* 72346 */ GIR_EraseRootFromParent_Done,
25923 /* 72347 */ // Label 1663: @72347
25924 /* 72347 */ GIM_Try, /*On fail goto*//*Label 1664*/ GIMT_Encode4(72413), // Rule ID 18537 //
25925 /* 72352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
25926 /* 72355 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25927 /* 72358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25928 /* 72362 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25929 /* 72366 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25930 /* 72373 */ // (st f16:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VPEXTRWmri addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] })
25931 /* 72373 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25932 /* 72376 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25933 /* 72380 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25934 /* 72385 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25935 /* 72389 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25936 /* 72394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWmri),
25937 /* 72397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25938 /* 72401 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25939 /* 72404 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25940 /* 72407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25941 /* 72411 */ GIR_RootConstrainSelectedInstOperands,
25942 /* 72412 */ // GIR_Coverage, 18537,
25943 /* 72412 */ GIR_EraseRootFromParent_Done,
25944 /* 72413 */ // Label 1664: @72413
25945 /* 72413 */ GIM_Try, /*On fail goto*//*Label 1665*/ GIMT_Encode4(72525), // Rule ID 18325 //
25946 /* 72418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
25947 /* 72421 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25948 /* 72424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25949 /* 72428 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25950 /* 72432 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25951 /* 72439 */ // (st f16:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[i16] } (PEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] }))
25952 /* 72439 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s16,
25953 /* 72442 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25954 /* 72446 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25955 /* 72451 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/0, // src
25956 /* 72455 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25957 /* 72460 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
25958 /* 72463 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
25959 /* 72467 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25960 /* 72472 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
25961 /* 72475 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/0,
25962 /* 72478 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
25963 /* 72480 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
25964 /* 72483 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25965 /* 72487 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25966 /* 72492 */ GIR_AddTempSubRegister, /*InsnID*/1, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
25967 /* 72499 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
25968 /* 72504 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
25969 /* 72509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25970 /* 72512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25971 /* 72516 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25972 /* 72519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25973 /* 72523 */ GIR_RootConstrainSelectedInstOperands,
25974 /* 72524 */ // GIR_Coverage, 18325,
25975 /* 72524 */ GIR_EraseRootFromParent_Done,
25976 /* 72525 */ // Label 1665: @72525
25977 /* 72525 */ GIM_Try, /*On fail goto*//*Label 1666*/ GIMT_Encode4(72591), // Rule ID 21848 //
25978 /* 72530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
25979 /* 72533 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25980 /* 72536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25981 /* 72540 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25982 /* 72544 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25983 /* 72551 */ // (st f16:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VPEXTRWZmri addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] })
25984 /* 72551 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25985 /* 72554 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25986 /* 72558 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25987 /* 72563 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25988 /* 72567 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25989 /* 72572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZmri),
25990 /* 72575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25991 /* 72579 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25992 /* 72582 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25993 /* 72585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25994 /* 72589 */ GIR_RootConstrainSelectedInstOperands,
25995 /* 72590 */ // GIR_Coverage, 21848,
25996 /* 72590 */ GIR_EraseRootFromParent_Done,
25997 /* 72591 */ // Label 1666: @72591
25998 /* 72591 */ GIM_Reject,
25999 /* 72592 */ // Label 1534: @72592
26000 /* 72592 */ GIM_Try, /*On fail goto*//*Label 1667*/ GIMT_Encode4(72688), // Rule ID 22507 //
26001 /* 72597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
26002 /* 72600 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26003 /* 72603 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26004 /* 72610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26005 /* 72614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26006 /* 72618 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26007 /* 72622 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26008 /* 72626 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26009 /* 72630 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26010 /* 72634 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26011 /* 72637 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26012 /* 72641 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26013 /* 72648 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26014 /* 72652 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26015 /* 72656 */ // MIs[0] dst
26016 /* 72656 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26017 /* 72661 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26018 /* 72663 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26019 /* 72670 */ // (atomic_store (add:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, 1:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (INC32m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
26020 /* 72670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
26021 /* 72673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26022 /* 72677 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26023 /* 72680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26024 /* 72686 */ GIR_RootConstrainSelectedInstOperands,
26025 /* 72687 */ // GIR_Coverage, 22507,
26026 /* 72687 */ GIR_EraseRootFromParent_Done,
26027 /* 72688 */ // Label 1667: @72688
26028 /* 72688 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(72784), // Rule ID 22511 //
26029 /* 72693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
26030 /* 72696 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26031 /* 72699 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26032 /* 72706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26033 /* 72710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26034 /* 72714 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26035 /* 72718 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26036 /* 72722 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26037 /* 72726 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26038 /* 72730 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26039 /* 72733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26040 /* 72737 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26041 /* 72744 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26042 /* 72748 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26043 /* 72752 */ // MIs[0] dst
26044 /* 72752 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26045 /* 72757 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26046 /* 72759 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26047 /* 72766 */ // (atomic_store (add:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, -1:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (DEC32m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
26048 /* 72766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
26049 /* 72769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26050 /* 72773 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26051 /* 72776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26052 /* 72782 */ GIR_RootConstrainSelectedInstOperands,
26053 /* 72783 */ // GIR_Coverage, 22511,
26054 /* 72783 */ GIR_EraseRootFromParent_Done,
26055 /* 72784 */ // Label 1668: @72784
26056 /* 72784 */ GIM_Try, /*On fail goto*//*Label 1669*/ GIMT_Encode4(72877), // Rule ID 22515 //
26057 /* 72789 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26058 /* 72792 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26059 /* 72799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26060 /* 72803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26061 /* 72807 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26062 /* 72811 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26063 /* 72815 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26064 /* 72819 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26065 /* 72823 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26066 /* 72827 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26067 /* 72830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26068 /* 72834 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26069 /* 72841 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26070 /* 72845 */ // MIs[0] dst
26071 /* 72845 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26072 /* 72850 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26073 /* 72852 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26074 /* 72859 */ // (atomic_store (sub:{ *:[i32] } 0:{ *:[i32] }, (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (NEG32m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
26075 /* 72859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
26076 /* 72862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26077 /* 72866 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26078 /* 72869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26079 /* 72875 */ GIR_RootConstrainSelectedInstOperands,
26080 /* 72876 */ // GIR_Coverage, 22515,
26081 /* 72876 */ GIR_EraseRootFromParent_Done,
26082 /* 72877 */ // Label 1669: @72877
26083 /* 72877 */ GIM_Try, /*On fail goto*//*Label 1670*/ GIMT_Encode4(72967), // Rule ID 22519 //
26084 /* 72882 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26085 /* 72885 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26086 /* 72892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26087 /* 72896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26088 /* 72900 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26089 /* 72904 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26090 /* 72908 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26091 /* 72912 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26092 /* 72916 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26093 /* 72919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26094 /* 72923 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26095 /* 72930 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26096 /* 72934 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26097 /* 72938 */ // MIs[0] dst
26098 /* 72938 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26099 /* 72943 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26100 /* 72945 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26101 /* 72952 */ // (atomic_store (xor:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, -1:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (NOT32m addr:{ *:[iPTR] }:$dst)
26102 /* 72952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
26103 /* 72955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26104 /* 72959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26105 /* 72965 */ GIR_RootConstrainSelectedInstOperands,
26106 /* 72966 */ // GIR_Coverage, 22519,
26107 /* 72966 */ GIR_EraseRootFromParent_Done,
26108 /* 72967 */ // Label 1670: @72967
26109 /* 72967 */ GIM_Try, /*On fail goto*//*Label 1671*/ GIMT_Encode4(73053), // Rule ID 225 //
26110 /* 72972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
26111 /* 72975 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26112 /* 72978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26113 /* 72982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26114 /* 72986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26115 /* 72990 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26116 /* 72994 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26117 /* 72998 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26118 /* 73002 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26119 /* 73006 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26120 /* 73009 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26121 /* 73013 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26122 /* 73017 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26123 /* 73021 */ // MIs[0] src1
26124 /* 73021 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26125 /* 73026 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26126 /* 73028 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26127 /* 73035 */ // (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 1:{ *:[i32] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (INC32m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
26128 /* 73035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
26129 /* 73038 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26130 /* 73042 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26131 /* 73045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26132 /* 73051 */ GIR_RootConstrainSelectedInstOperands,
26133 /* 73052 */ // GIR_Coverage, 225,
26134 /* 73052 */ GIR_EraseRootFromParent_Done,
26135 /* 73053 */ // Label 1671: @73053
26136 /* 73053 */ GIM_Try, /*On fail goto*//*Label 1672*/ GIMT_Encode4(73139), // Rule ID 228 //
26137 /* 73058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
26138 /* 73061 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26139 /* 73064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26140 /* 73068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26141 /* 73072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26142 /* 73076 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26143 /* 73080 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26144 /* 73084 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26145 /* 73088 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26146 /* 73092 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26147 /* 73095 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26148 /* 73099 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26149 /* 73103 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26150 /* 73107 */ // MIs[0] src1
26151 /* 73107 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26152 /* 73112 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26153 /* 73114 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26154 /* 73121 */ // (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, -1:{ *:[i32] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (DEC32m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
26155 /* 73121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
26156 /* 73124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26157 /* 73128 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26158 /* 73131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26159 /* 73137 */ GIR_RootConstrainSelectedInstOperands,
26160 /* 73138 */ // GIR_Coverage, 228,
26161 /* 73138 */ GIR_EraseRootFromParent_Done,
26162 /* 73139 */ // Label 1672: @73139
26163 /* 73139 */ GIM_Try, /*On fail goto*//*Label 1673*/ GIMT_Encode4(73232), // Rule ID 22648 //
26164 /* 73144 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26165 /* 73147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26166 /* 73151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26167 /* 73155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26168 /* 73159 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26169 /* 73163 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26170 /* 73167 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26171 /* 73171 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26172 /* 73175 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26173 /* 73178 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26174 /* 73182 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26175 /* 73186 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
26176 /* 73197 */ // MIs[0] dst
26177 /* 73197 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26178 /* 73202 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26179 /* 73204 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26180 /* 73211 */ // (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 128:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -128:{ *:[i32] })
26181 /* 73211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
26182 /* 73214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26183 /* 73218 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
26184 /* 73221 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26185 /* 73224 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26186 /* 73230 */ GIR_RootConstrainSelectedInstOperands,
26187 /* 73231 */ // GIR_Coverage, 22648,
26188 /* 73231 */ GIR_EraseRootFromParent_Done,
26189 /* 73232 */ // Label 1673: @73232
26190 /* 73232 */ GIM_Try, /*On fail goto*//*Label 1674*/ GIMT_Encode4(73315), // Rule ID 17603 //
26191 /* 73237 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26192 /* 73240 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26193 /* 73244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26194 /* 73248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26195 /* 73252 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26196 /* 73256 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26197 /* 73260 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26198 /* 73264 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26199 /* 73268 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26200 /* 73271 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26201 /* 73275 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26202 /* 73279 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
26203 /* 73283 */ // MIs[0] dst
26204 /* 73283 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26205 /* 73288 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26206 /* 73290 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26207 /* 73297 */ // (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 31:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR32m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
26208 /* 73297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1),
26209 /* 73300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26210 /* 73304 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26211 /* 73307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26212 /* 73313 */ GIR_RootConstrainSelectedInstOperands,
26213 /* 73314 */ // GIR_Coverage, 17603,
26214 /* 73314 */ GIR_EraseRootFromParent_Done,
26215 /* 73315 */ // Label 1674: @73315
26216 /* 73315 */ GIM_Try, /*On fail goto*//*Label 1675*/ GIMT_Encode4(73398), // Rule ID 17607 //
26217 /* 73320 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26218 /* 73323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26219 /* 73327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26220 /* 73331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26221 /* 73335 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26222 /* 73339 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26223 /* 73343 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26224 /* 73347 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26225 /* 73351 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26226 /* 73354 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26227 /* 73358 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26228 /* 73362 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
26229 /* 73366 */ // MIs[0] dst
26230 /* 73366 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26231 /* 73371 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26232 /* 73373 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26233 /* 73380 */ // (st (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 31:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL32m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
26234 /* 73380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1),
26235 /* 73383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26236 /* 73387 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26237 /* 73390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26238 /* 73396 */ GIR_RootConstrainSelectedInstOperands,
26239 /* 73397 */ // GIR_Coverage, 17607,
26240 /* 73397 */ GIR_EraseRootFromParent_Done,
26241 /* 73398 */ // Label 1675: @73398
26242 /* 73398 */ GIM_Try, /*On fail goto*//*Label 1676*/ GIMT_Encode4(73481), // Rule ID 261 //
26243 /* 73403 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26244 /* 73406 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26245 /* 73410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26246 /* 73414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26247 /* 73418 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26248 /* 73422 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26249 /* 73426 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
26250 /* 73430 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26251 /* 73434 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26252 /* 73438 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26253 /* 73441 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26254 /* 73445 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26255 /* 73449 */ // MIs[0] src1
26256 /* 73449 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26257 /* 73454 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26258 /* 73456 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26259 /* 73463 */ // (st (sub:{ *:[i32] } 0:{ *:[i32] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NEG32m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
26260 /* 73463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
26261 /* 73466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26262 /* 73470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26263 /* 73473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26264 /* 73479 */ GIR_RootConstrainSelectedInstOperands,
26265 /* 73480 */ // GIR_Coverage, 261,
26266 /* 73480 */ GIR_EraseRootFromParent_Done,
26267 /* 73481 */ // Label 1676: @73481
26268 /* 73481 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(73561), // Rule ID 269 //
26269 /* 73486 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26270 /* 73489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26271 /* 73493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26272 /* 73497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26273 /* 73501 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26274 /* 73505 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26275 /* 73509 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26276 /* 73513 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26277 /* 73517 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26278 /* 73520 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26279 /* 73524 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26280 /* 73528 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
26281 /* 73532 */ // MIs[0] src1
26282 /* 73532 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26283 /* 73537 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26284 /* 73539 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26285 /* 73546 */ // (st (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, -1:{ *:[i32] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NOT32m addr:{ *:[iPTR] }:$src1)
26286 /* 73546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
26287 /* 73549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26288 /* 73553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26289 /* 73559 */ GIR_RootConstrainSelectedInstOperands,
26290 /* 73560 */ // GIR_Coverage, 269,
26291 /* 73560 */ GIR_EraseRootFromParent_Done,
26292 /* 73561 */ // Label 1677: @73561
26293 /* 73561 */ GIM_Try, /*On fail goto*//*Label 1678*/ GIMT_Encode4(73656), // Rule ID 413 //
26294 /* 73566 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26295 /* 73569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26296 /* 73573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26297 /* 73577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26298 /* 73581 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26299 /* 73585 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26300 /* 73589 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26301 /* 73593 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26302 /* 73597 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26303 /* 73600 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26304 /* 73604 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26305 /* 73608 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26306 /* 73612 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26307 /* 73616 */ // MIs[3] Operand 1
26308 /* 73616 */ // No operand predicates
26309 /* 73616 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26310 /* 73620 */ // MIs[0] src1
26311 /* 73620 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26312 /* 73625 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26313 /* 73627 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26314 /* 73634 */ // (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i32] }):$src2)
26315 /* 73634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
26316 /* 73637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26317 /* 73641 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26318 /* 73644 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26319 /* 73647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26320 /* 73654 */ GIR_RootConstrainSelectedInstOperands,
26321 /* 73655 */ // GIR_Coverage, 413,
26322 /* 73655 */ GIR_EraseRootFromParent_Done,
26323 /* 73656 */ // Label 1678: @73656
26324 /* 73656 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(73751), // Rule ID 305 //
26325 /* 73661 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26326 /* 73664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26327 /* 73668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26328 /* 73672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26329 /* 73676 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26330 /* 73680 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26331 /* 73684 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26332 /* 73688 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26333 /* 73692 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26334 /* 73695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26335 /* 73699 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26336 /* 73703 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26337 /* 73707 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26338 /* 73711 */ // MIs[3] Operand 1
26339 /* 73711 */ // No operand predicates
26340 /* 73711 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26341 /* 73715 */ // MIs[0] src1
26342 /* 73715 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26343 /* 73720 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26344 /* 73722 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26345 /* 73729 */ // (st (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i32] }):$src2)
26346 /* 73729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
26347 /* 73732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26348 /* 73736 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26349 /* 73739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26350 /* 73742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26351 /* 73749 */ GIR_RootConstrainSelectedInstOperands,
26352 /* 73750 */ // GIR_Coverage, 305,
26353 /* 73750 */ GIR_EraseRootFromParent_Done,
26354 /* 73751 */ // Label 1679: @73751
26355 /* 73751 */ GIM_Try, /*On fail goto*//*Label 1680*/ GIMT_Encode4(73846), // Rule ID 341 //
26356 /* 73756 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26357 /* 73759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26358 /* 73763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26359 /* 73767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26360 /* 73771 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26361 /* 73775 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26362 /* 73779 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26363 /* 73783 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26364 /* 73787 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26365 /* 73790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26366 /* 73794 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26367 /* 73798 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26368 /* 73802 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26369 /* 73806 */ // MIs[3] Operand 1
26370 /* 73806 */ // No operand predicates
26371 /* 73806 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26372 /* 73810 */ // MIs[0] src1
26373 /* 73810 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26374 /* 73815 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26375 /* 73817 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26376 /* 73824 */ // (st (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i32] }):$src2)
26377 /* 73824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
26378 /* 73827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26379 /* 73831 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26380 /* 73834 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26381 /* 73837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26382 /* 73844 */ GIR_RootConstrainSelectedInstOperands,
26383 /* 73845 */ // GIR_Coverage, 341,
26384 /* 73845 */ GIR_EraseRootFromParent_Done,
26385 /* 73846 */ // Label 1680: @73846
26386 /* 73846 */ GIM_Try, /*On fail goto*//*Label 1681*/ GIMT_Encode4(73941), // Rule ID 453 //
26387 /* 73851 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26388 /* 73854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26389 /* 73858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26390 /* 73862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26391 /* 73866 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26392 /* 73870 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26393 /* 73874 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26394 /* 73878 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26395 /* 73882 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26396 /* 73885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26397 /* 73889 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26398 /* 73893 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26399 /* 73897 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26400 /* 73901 */ // MIs[3] Operand 1
26401 /* 73901 */ // No operand predicates
26402 /* 73901 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26403 /* 73905 */ // MIs[0] src1
26404 /* 73905 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26405 /* 73910 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26406 /* 73912 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26407 /* 73919 */ // (st (sub:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i32] }):$src2)
26408 /* 73919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
26409 /* 73922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26410 /* 73926 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26411 /* 73929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26412 /* 73932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26413 /* 73939 */ GIR_RootConstrainSelectedInstOperands,
26414 /* 73940 */ // GIR_Coverage, 453,
26415 /* 73940 */ GIR_EraseRootFromParent_Done,
26416 /* 73941 */ // Label 1681: @73941
26417 /* 73941 */ GIM_Try, /*On fail goto*//*Label 1682*/ GIMT_Encode4(74036), // Rule ID 377 //
26418 /* 73946 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26419 /* 73949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26420 /* 73953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26421 /* 73957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26422 /* 73961 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26423 /* 73965 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26424 /* 73969 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26425 /* 73973 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26426 /* 73977 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26427 /* 73980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26428 /* 73984 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26429 /* 73988 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26430 /* 73992 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26431 /* 73996 */ // MIs[3] Operand 1
26432 /* 73996 */ // No operand predicates
26433 /* 73996 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26434 /* 74000 */ // MIs[0] src1
26435 /* 74000 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26436 /* 74005 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26437 /* 74007 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26438 /* 74014 */ // (st (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i32] }):$src2)
26439 /* 74014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
26440 /* 74017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26441 /* 74021 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26442 /* 74024 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26443 /* 74027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26444 /* 74034 */ GIR_RootConstrainSelectedInstOperands,
26445 /* 74035 */ // GIR_Coverage, 377,
26446 /* 74035 */ GIR_EraseRootFromParent_Done,
26447 /* 74036 */ // Label 1682: @74036
26448 /* 74036 */ GIM_Try, /*On fail goto*//*Label 1683*/ GIMT_Encode4(74137), // Rule ID 22443 //
26449 /* 74041 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26450 /* 74044 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26451 /* 74051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26452 /* 74055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26453 /* 74059 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26454 /* 74063 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26455 /* 74067 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26456 /* 74071 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26457 /* 74075 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26458 /* 74078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26459 /* 74082 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26460 /* 74089 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26461 /* 74093 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26462 /* 74097 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26463 /* 74101 */ // MIs[3] Operand 1
26464 /* 74101 */ // No operand predicates
26465 /* 74101 */ // MIs[0] dst
26466 /* 74101 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26467 /* 74106 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26468 /* 74108 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26469 /* 74115 */ // (atomic_store (add:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, (imm:{ *:[i32] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (ADD32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26470 /* 74115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
26471 /* 74118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26472 /* 74122 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26473 /* 74125 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26474 /* 74128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26475 /* 74135 */ GIR_RootConstrainSelectedInstOperands,
26476 /* 74136 */ // GIR_Coverage, 22443,
26477 /* 74136 */ GIR_EraseRootFromParent_Done,
26478 /* 74137 */ // Label 1683: @74137
26479 /* 74137 */ GIM_Try, /*On fail goto*//*Label 1684*/ GIMT_Encode4(74238), // Rule ID 22451 //
26480 /* 74142 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26481 /* 74145 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26482 /* 74152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26483 /* 74156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26484 /* 74160 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26485 /* 74164 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26486 /* 74168 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26487 /* 74172 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26488 /* 74176 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26489 /* 74179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26490 /* 74183 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26491 /* 74190 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26492 /* 74194 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26493 /* 74198 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26494 /* 74202 */ // MIs[3] Operand 1
26495 /* 74202 */ // No operand predicates
26496 /* 74202 */ // MIs[0] dst
26497 /* 74202 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26498 /* 74207 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26499 /* 74209 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26500 /* 74216 */ // (atomic_store (and:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, (imm:{ *:[i32] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (AND32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26501 /* 74216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
26502 /* 74219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26503 /* 74223 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26504 /* 74226 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26505 /* 74229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26506 /* 74236 */ GIR_RootConstrainSelectedInstOperands,
26507 /* 74237 */ // GIR_Coverage, 22451,
26508 /* 74237 */ GIR_EraseRootFromParent_Done,
26509 /* 74238 */ // Label 1684: @74238
26510 /* 74238 */ GIM_Try, /*On fail goto*//*Label 1685*/ GIMT_Encode4(74339), // Rule ID 22459 //
26511 /* 74243 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26512 /* 74246 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26513 /* 74253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26514 /* 74257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26515 /* 74261 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26516 /* 74265 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26517 /* 74269 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26518 /* 74273 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26519 /* 74277 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26520 /* 74280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26521 /* 74284 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26522 /* 74291 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26523 /* 74295 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26524 /* 74299 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26525 /* 74303 */ // MIs[3] Operand 1
26526 /* 74303 */ // No operand predicates
26527 /* 74303 */ // MIs[0] dst
26528 /* 74303 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26529 /* 74308 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26530 /* 74310 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26531 /* 74317 */ // (atomic_store (or:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, (imm:{ *:[i32] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (OR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26532 /* 74317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
26533 /* 74320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26534 /* 74324 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26535 /* 74327 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26536 /* 74330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26537 /* 74337 */ GIR_RootConstrainSelectedInstOperands,
26538 /* 74338 */ // GIR_Coverage, 22459,
26539 /* 74338 */ GIR_EraseRootFromParent_Done,
26540 /* 74339 */ // Label 1685: @74339
26541 /* 74339 */ GIM_Try, /*On fail goto*//*Label 1686*/ GIMT_Encode4(74440), // Rule ID 22475 //
26542 /* 74344 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26543 /* 74347 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26544 /* 74354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26545 /* 74358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26546 /* 74362 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26547 /* 74366 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26548 /* 74370 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26549 /* 74374 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26550 /* 74378 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26551 /* 74381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26552 /* 74385 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26553 /* 74392 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26554 /* 74396 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26555 /* 74400 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26556 /* 74404 */ // MIs[3] Operand 1
26557 /* 74404 */ // No operand predicates
26558 /* 74404 */ // MIs[0] dst
26559 /* 74404 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26560 /* 74409 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26561 /* 74411 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26562 /* 74418 */ // (atomic_store (sub:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, (imm:{ *:[i32] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (SUB32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26563 /* 74418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
26564 /* 74421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26565 /* 74425 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26566 /* 74428 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26567 /* 74431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26568 /* 74438 */ GIR_RootConstrainSelectedInstOperands,
26569 /* 74439 */ // GIR_Coverage, 22475,
26570 /* 74439 */ GIR_EraseRootFromParent_Done,
26571 /* 74440 */ // Label 1686: @74440
26572 /* 74440 */ GIM_Try, /*On fail goto*//*Label 1687*/ GIMT_Encode4(74541), // Rule ID 22467 //
26573 /* 74445 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26574 /* 74448 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26575 /* 74455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26576 /* 74459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26577 /* 74463 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26578 /* 74467 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26579 /* 74471 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26580 /* 74475 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26581 /* 74479 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26582 /* 74482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26583 /* 74486 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26584 /* 74493 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26585 /* 74497 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26586 /* 74501 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26587 /* 74505 */ // MIs[3] Operand 1
26588 /* 74505 */ // No operand predicates
26589 /* 74505 */ // MIs[0] dst
26590 /* 74505 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26591 /* 74510 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26592 /* 74512 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26593 /* 74519 */ // (atomic_store (xor:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, (imm:{ *:[i32] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (XOR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26594 /* 74519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
26595 /* 74522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26596 /* 74526 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
26597 /* 74529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26598 /* 74532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26599 /* 74539 */ GIR_RootConstrainSelectedInstOperands,
26600 /* 74540 */ // GIR_Coverage, 22467,
26601 /* 74540 */ GIR_EraseRootFromParent_Done,
26602 /* 74541 */ // Label 1687: @74541
26603 /* 74541 */ GIM_Try, /*On fail goto*//*Label 1688*/ GIMT_Encode4(74645), // Rule ID 833 //
26604 /* 74546 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26605 /* 74549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26606 /* 74553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26607 /* 74557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
26608 /* 74561 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26609 /* 74565 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26610 /* 74569 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26611 /* 74573 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26612 /* 74577 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26613 /* 74581 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26614 /* 74584 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26615 /* 74588 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26616 /* 74592 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26617 /* 74597 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
26618 /* 74601 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26619 /* 74605 */ // MIs[3] Operand 1
26620 /* 74605 */ // No operand predicates
26621 /* 74605 */ // MIs[0] src1
26622 /* 74605 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26623 /* 74610 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26624 /* 74612 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26625 /* 74619 */ // (st (fshl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHLD32mri8:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
26626 /* 74619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8),
26627 /* 74622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26628 /* 74626 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26629 /* 74630 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
26630 /* 74633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26631 /* 74636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26632 /* 74643 */ GIR_RootConstrainSelectedInstOperands,
26633 /* 74644 */ // GIR_Coverage, 833,
26634 /* 74644 */ GIR_EraseRootFromParent_Done,
26635 /* 74645 */ // Label 1688: @74645
26636 /* 74645 */ GIM_Try, /*On fail goto*//*Label 1689*/ GIMT_Encode4(74749), // Rule ID 857 //
26637 /* 74650 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26638 /* 74653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26639 /* 74657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26640 /* 74661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
26641 /* 74665 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26642 /* 74669 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26643 /* 74673 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26644 /* 74677 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26645 /* 74682 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26646 /* 74686 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26647 /* 74690 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26648 /* 74693 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26649 /* 74697 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26650 /* 74701 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
26651 /* 74705 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26652 /* 74709 */ // MIs[3] Operand 1
26653 /* 74709 */ // No operand predicates
26654 /* 74709 */ // MIs[0] src1
26655 /* 74709 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26656 /* 74714 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26657 /* 74716 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26658 /* 74723 */ // (st (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHRD32mri8:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
26659 /* 74723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8),
26660 /* 74726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26661 /* 74730 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26662 /* 74734 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
26663 /* 74737 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26664 /* 74740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26665 /* 74747 */ GIR_RootConstrainSelectedInstOperands,
26666 /* 74748 */ // GIR_Coverage, 857,
26667 /* 74748 */ GIR_EraseRootFromParent_Done,
26668 /* 74749 */ // Label 1689: @74749
26669 /* 74749 */ GIM_Try, /*On fail goto*//*Label 1690*/ GIMT_Encode4(74840), // Rule ID 734 //
26670 /* 74754 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26671 /* 74757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26672 /* 74761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26673 /* 74765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
26674 /* 74769 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26675 /* 74773 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26676 /* 74777 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26677 /* 74781 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26678 /* 74785 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26679 /* 74788 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26680 /* 74792 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26681 /* 74796 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26682 /* 74800 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26683 /* 74804 */ // MIs[3] Operand 1
26684 /* 74804 */ // No operand predicates
26685 /* 74804 */ // MIs[0] src1
26686 /* 74804 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26687 /* 74809 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26688 /* 74811 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26689 /* 74818 */ // (st (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
26690 /* 74818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi),
26691 /* 74821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26692 /* 74825 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26693 /* 74828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26694 /* 74831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26695 /* 74838 */ GIR_RootConstrainSelectedInstOperands,
26696 /* 74839 */ // GIR_Coverage, 734,
26697 /* 74839 */ GIR_EraseRootFromParent_Done,
26698 /* 74840 */ // Label 1690: @74840
26699 /* 74840 */ GIM_Try, /*On fail goto*//*Label 1691*/ GIMT_Encode4(74931), // Rule ID 702 //
26700 /* 74845 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26701 /* 74848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26702 /* 74852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26703 /* 74856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
26704 /* 74860 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26705 /* 74864 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26706 /* 74868 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26707 /* 74872 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26708 /* 74876 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26709 /* 74879 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26710 /* 74883 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26711 /* 74887 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26712 /* 74891 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26713 /* 74895 */ // MIs[3] Operand 1
26714 /* 74895 */ // No operand predicates
26715 /* 74895 */ // MIs[0] src1
26716 /* 74895 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26717 /* 74900 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26718 /* 74902 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26719 /* 74909 */ // (st (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
26720 /* 74909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi),
26721 /* 74912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26722 /* 74916 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26723 /* 74919 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26724 /* 74922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26725 /* 74929 */ GIR_RootConstrainSelectedInstOperands,
26726 /* 74930 */ // GIR_Coverage, 702,
26727 /* 74930 */ GIR_EraseRootFromParent_Done,
26728 /* 74931 */ // Label 1691: @74931
26729 /* 74931 */ GIM_Try, /*On fail goto*//*Label 1692*/ GIMT_Encode4(75022), // Rule ID 766 //
26730 /* 74936 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26731 /* 74939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26732 /* 74943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26733 /* 74947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26734 /* 74951 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26735 /* 74955 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26736 /* 74959 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26737 /* 74963 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26738 /* 74967 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26739 /* 74970 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26740 /* 74974 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26741 /* 74978 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26742 /* 74982 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26743 /* 74986 */ // MIs[3] Operand 1
26744 /* 74986 */ // No operand predicates
26745 /* 74986 */ // MIs[0] src1
26746 /* 74986 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26747 /* 74991 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26748 /* 74993 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26749 /* 75000 */ // (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
26750 /* 75000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi),
26751 /* 75003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26752 /* 75007 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26753 /* 75010 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26754 /* 75013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26755 /* 75020 */ GIR_RootConstrainSelectedInstOperands,
26756 /* 75021 */ // GIR_Coverage, 766,
26757 /* 75021 */ GIR_EraseRootFromParent_Done,
26758 /* 75022 */ // Label 1692: @75022
26759 /* 75022 */ GIM_Try, /*On fail goto*//*Label 1693*/ GIMT_Encode4(75113), // Rule ID 798 //
26760 /* 75027 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26761 /* 75030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26762 /* 75034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26763 /* 75038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26764 /* 75042 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26765 /* 75046 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26766 /* 75050 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26767 /* 75054 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26768 /* 75058 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26769 /* 75061 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26770 /* 75065 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26771 /* 75069 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26772 /* 75073 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26773 /* 75077 */ // MIs[3] Operand 1
26774 /* 75077 */ // No operand predicates
26775 /* 75077 */ // MIs[0] src1
26776 /* 75077 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26777 /* 75082 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26778 /* 75084 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26779 /* 75091 */ // (st (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
26780 /* 75091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi),
26781 /* 75094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26782 /* 75098 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26783 /* 75101 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26784 /* 75104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26785 /* 75111 */ GIR_RootConstrainSelectedInstOperands,
26786 /* 75112 */ // GIR_Coverage, 798,
26787 /* 75112 */ GIR_EraseRootFromParent_Done,
26788 /* 75113 */ // Label 1693: @75113
26789 /* 75113 */ GIM_Try, /*On fail goto*//*Label 1694*/ GIMT_Encode4(75204), // Rule ID 670 //
26790 /* 75118 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26791 /* 75121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26792 /* 75125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26793 /* 75129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26794 /* 75133 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26795 /* 75137 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26796 /* 75141 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26797 /* 75145 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26798 /* 75149 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26799 /* 75152 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26800 /* 75156 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26801 /* 75160 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26802 /* 75164 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26803 /* 75168 */ // MIs[3] Operand 1
26804 /* 75168 */ // No operand predicates
26805 /* 75168 */ // MIs[0] src1
26806 /* 75168 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26807 /* 75173 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26808 /* 75175 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26809 /* 75182 */ // (st (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
26810 /* 75182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi),
26811 /* 75185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26812 /* 75189 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26813 /* 75192 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26814 /* 75195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26815 /* 75202 */ GIR_RootConstrainSelectedInstOperands,
26816 /* 75203 */ // GIR_Coverage, 670,
26817 /* 75203 */ GIR_EraseRootFromParent_Done,
26818 /* 75204 */ // Label 1694: @75204
26819 /* 75204 */ GIM_Try, /*On fail goto*//*Label 1695*/ GIMT_Encode4(75302), // Rule ID 22447 //
26820 /* 75209 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26821 /* 75212 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26822 /* 75219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26823 /* 75223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26824 /* 75227 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26825 /* 75231 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26826 /* 75235 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26827 /* 75239 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26828 /* 75243 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26829 /* 75246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26830 /* 75250 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26831 /* 75257 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26832 /* 75261 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26833 /* 75266 */ // MIs[0] dst
26834 /* 75266 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26835 /* 75271 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26836 /* 75273 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26837 /* 75280 */ // (atomic_store (add:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (ADD32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26838 /* 75280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26839 /* 75283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26840 /* 75287 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26841 /* 75291 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26842 /* 75294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26843 /* 75300 */ GIR_RootConstrainSelectedInstOperands,
26844 /* 75301 */ // GIR_Coverage, 22447,
26845 /* 75301 */ GIR_EraseRootFromParent_Done,
26846 /* 75302 */ // Label 1695: @75302
26847 /* 75302 */ GIM_Try, /*On fail goto*//*Label 1696*/ GIMT_Encode4(75400), // Rule ID 26037 //
26848 /* 75307 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26849 /* 75310 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26850 /* 75317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26851 /* 75321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26852 /* 75325 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26853 /* 75329 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26854 /* 75333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26855 /* 75338 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26856 /* 75342 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26857 /* 75346 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26858 /* 75349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26859 /* 75353 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26860 /* 75360 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26861 /* 75364 */ // MIs[0] dst
26862 /* 75364 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26863 /* 75369 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26864 /* 75371 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26865 /* 75378 */ // (atomic_store (add:{ *:[i32] } GR32:{ *:[i32] }:$src, (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (ADD32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26866 /* 75378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26867 /* 75381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26868 /* 75385 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26869 /* 75389 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26870 /* 75392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26871 /* 75398 */ GIR_RootConstrainSelectedInstOperands,
26872 /* 75399 */ // GIR_Coverage, 26037,
26873 /* 75399 */ GIR_EraseRootFromParent_Done,
26874 /* 75400 */ // Label 1696: @75400
26875 /* 75400 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(75498), // Rule ID 22455 //
26876 /* 75405 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26877 /* 75408 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26878 /* 75415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26879 /* 75419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26880 /* 75423 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26881 /* 75427 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26882 /* 75431 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26883 /* 75435 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26884 /* 75439 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26885 /* 75442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26886 /* 75446 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26887 /* 75453 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26888 /* 75457 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26889 /* 75462 */ // MIs[0] dst
26890 /* 75462 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26891 /* 75467 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26892 /* 75469 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26893 /* 75476 */ // (atomic_store (and:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (AND32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26894 /* 75476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26895 /* 75479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26896 /* 75483 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26897 /* 75487 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26898 /* 75490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26899 /* 75496 */ GIR_RootConstrainSelectedInstOperands,
26900 /* 75497 */ // GIR_Coverage, 22455,
26901 /* 75497 */ GIR_EraseRootFromParent_Done,
26902 /* 75498 */ // Label 1697: @75498
26903 /* 75498 */ GIM_Try, /*On fail goto*//*Label 1698*/ GIMT_Encode4(75596), // Rule ID 26041 //
26904 /* 75503 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26905 /* 75506 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26906 /* 75513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26907 /* 75517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26908 /* 75521 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26909 /* 75525 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26910 /* 75529 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26911 /* 75534 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26912 /* 75538 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26913 /* 75542 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26914 /* 75545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26915 /* 75549 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26916 /* 75556 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26917 /* 75560 */ // MIs[0] dst
26918 /* 75560 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26919 /* 75565 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26920 /* 75567 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26921 /* 75574 */ // (atomic_store (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (AND32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26922 /* 75574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26923 /* 75577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26924 /* 75581 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26925 /* 75585 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26926 /* 75588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26927 /* 75594 */ GIR_RootConstrainSelectedInstOperands,
26928 /* 75595 */ // GIR_Coverage, 26041,
26929 /* 75595 */ GIR_EraseRootFromParent_Done,
26930 /* 75596 */ // Label 1698: @75596
26931 /* 75596 */ GIM_Try, /*On fail goto*//*Label 1699*/ GIMT_Encode4(75694), // Rule ID 22463 //
26932 /* 75601 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26933 /* 75604 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26934 /* 75611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26935 /* 75615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26936 /* 75619 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26937 /* 75623 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26938 /* 75627 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26939 /* 75631 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26940 /* 75635 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26941 /* 75638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26942 /* 75642 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26943 /* 75649 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26944 /* 75653 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26945 /* 75658 */ // MIs[0] dst
26946 /* 75658 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26947 /* 75663 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26948 /* 75665 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26949 /* 75672 */ // (atomic_store (or:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (OR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26950 /* 75672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26951 /* 75675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26952 /* 75679 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26953 /* 75683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26954 /* 75686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26955 /* 75692 */ GIR_RootConstrainSelectedInstOperands,
26956 /* 75693 */ // GIR_Coverage, 22463,
26957 /* 75693 */ GIR_EraseRootFromParent_Done,
26958 /* 75694 */ // Label 1699: @75694
26959 /* 75694 */ GIM_Try, /*On fail goto*//*Label 1700*/ GIMT_Encode4(75792), // Rule ID 26045 //
26960 /* 75699 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26961 /* 75702 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26962 /* 75709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26963 /* 75713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26964 /* 75717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26965 /* 75721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26966 /* 75725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26967 /* 75730 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26968 /* 75734 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26969 /* 75738 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26970 /* 75741 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26971 /* 75745 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26972 /* 75752 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26973 /* 75756 */ // MIs[0] dst
26974 /* 75756 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26975 /* 75761 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26976 /* 75763 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26977 /* 75770 */ // (atomic_store (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (OR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26978 /* 75770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26979 /* 75773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26980 /* 75777 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26981 /* 75781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26982 /* 75784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26983 /* 75790 */ GIR_RootConstrainSelectedInstOperands,
26984 /* 75791 */ // GIR_Coverage, 26045,
26985 /* 75791 */ GIR_EraseRootFromParent_Done,
26986 /* 75792 */ // Label 1700: @75792
26987 /* 75792 */ GIM_Try, /*On fail goto*//*Label 1701*/ GIMT_Encode4(75890), // Rule ID 22479 //
26988 /* 75797 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26989 /* 75800 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26990 /* 75807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26991 /* 75811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26992 /* 75815 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26993 /* 75819 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26994 /* 75823 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26995 /* 75827 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26996 /* 75831 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26997 /* 75834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26998 /* 75838 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26999 /* 75845 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27000 /* 75849 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27001 /* 75854 */ // MIs[0] dst
27002 /* 75854 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27003 /* 75859 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27004 /* 75861 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27005 /* 75868 */ // (atomic_store (sub:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (SUB32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
27006 /* 75868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
27007 /* 75871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27008 /* 75875 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27009 /* 75879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27010 /* 75882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27011 /* 75888 */ GIR_RootConstrainSelectedInstOperands,
27012 /* 75889 */ // GIR_Coverage, 22479,
27013 /* 75889 */ GIR_EraseRootFromParent_Done,
27014 /* 75890 */ // Label 1701: @75890
27015 /* 75890 */ GIM_Try, /*On fail goto*//*Label 1702*/ GIMT_Encode4(75988), // Rule ID 22471 //
27016 /* 75895 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27017 /* 75898 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27018 /* 75905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27019 /* 75909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27020 /* 75913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27021 /* 75917 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27022 /* 75921 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27023 /* 75925 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27024 /* 75929 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27025 /* 75932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27026 /* 75936 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27027 /* 75943 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27028 /* 75947 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27029 /* 75952 */ // MIs[0] dst
27030 /* 75952 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27031 /* 75957 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27032 /* 75959 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27033 /* 75966 */ // (atomic_store (xor:{ *:[i32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (XOR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
27034 /* 75966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
27035 /* 75969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27036 /* 75973 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27037 /* 75977 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27038 /* 75980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27039 /* 75986 */ GIR_RootConstrainSelectedInstOperands,
27040 /* 75987 */ // GIR_Coverage, 22471,
27041 /* 75987 */ GIR_EraseRootFromParent_Done,
27042 /* 75988 */ // Label 1702: @75988
27043 /* 75988 */ GIM_Try, /*On fail goto*//*Label 1703*/ GIMT_Encode4(76086), // Rule ID 26049 //
27044 /* 75993 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27045 /* 75996 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27046 /* 76003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27047 /* 76007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27048 /* 76011 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27049 /* 76015 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27050 /* 76019 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27051 /* 76024 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27052 /* 76028 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27053 /* 76032 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27054 /* 76035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27055 /* 76039 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27056 /* 76046 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27057 /* 76050 */ // MIs[0] dst
27058 /* 76050 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27059 /* 76055 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27060 /* 76057 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27061 /* 76064 */ // (atomic_store (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (XOR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
27062 /* 76064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
27063 /* 76067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27064 /* 76071 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27065 /* 76075 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27066 /* 76078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27067 /* 76084 */ GIR_RootConstrainSelectedInstOperands,
27068 /* 76085 */ // GIR_Coverage, 26049,
27069 /* 76085 */ GIR_EraseRootFromParent_Done,
27070 /* 76086 */ // Label 1703: @76086
27071 /* 76086 */ GIM_Try, /*On fail goto*//*Label 1704*/ GIMT_Encode4(76197), // Rule ID 836 //
27072 /* 76091 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27073 /* 76094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27074 /* 76098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27075 /* 76102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27076 /* 76106 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27077 /* 76110 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27078 /* 76114 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27079 /* 76118 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27080 /* 76122 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27081 /* 76126 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27082 /* 76129 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27083 /* 76133 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
27084 /* 76137 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27085 /* 76142 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27086 /* 76147 */ // MIs[0] src1
27087 /* 76147 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27088 /* 76152 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27089 /* 76154 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27090 /* 76161 */ // (st (fshl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHLD32mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27091 /* 76161 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27092 /* 76165 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27093 /* 76171 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27094 /* 76175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL),
27095 /* 76178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27096 /* 76182 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27097 /* 76186 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27098 /* 76189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27099 /* 76195 */ GIR_RootConstrainSelectedInstOperands,
27100 /* 76196 */ // GIR_Coverage, 836,
27101 /* 76196 */ GIR_EraseRootFromParent_Done,
27102 /* 76197 */ // Label 1704: @76197
27103 /* 76197 */ GIM_Try, /*On fail goto*//*Label 1705*/ GIMT_Encode4(76308), // Rule ID 860 //
27104 /* 76202 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27105 /* 76205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27106 /* 76209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27107 /* 76213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27108 /* 76217 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27109 /* 76221 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27110 /* 76225 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27111 /* 76229 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27112 /* 76234 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27113 /* 76238 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27114 /* 76242 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27115 /* 76245 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27116 /* 76249 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
27117 /* 76253 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27118 /* 76258 */ // MIs[0] src1
27119 /* 76258 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27120 /* 76263 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27121 /* 76265 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27122 /* 76272 */ // (st (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHRD32mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27123 /* 76272 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27124 /* 76276 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27125 /* 76282 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27126 /* 76286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL),
27127 /* 76289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27128 /* 76293 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27129 /* 76297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27130 /* 76300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27131 /* 76306 */ GIR_RootConstrainSelectedInstOperands,
27132 /* 76307 */ // GIR_Coverage, 860,
27133 /* 76307 */ GIR_EraseRootFromParent_Done,
27134 /* 76308 */ // Label 1705: @76308
27135 /* 76308 */ GIM_Try, /*On fail goto*//*Label 1706*/ GIMT_Encode4(76396), // Rule ID 409 //
27136 /* 76313 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27137 /* 76316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27138 /* 76320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27139 /* 76324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27140 /* 76328 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27141 /* 76332 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27142 /* 76336 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27143 /* 76340 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27144 /* 76344 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27145 /* 76347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27146 /* 76351 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27147 /* 76355 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27148 /* 76360 */ // MIs[0] src1
27149 /* 76360 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27150 /* 76365 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27151 /* 76367 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27152 /* 76374 */ // (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27153 /* 76374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
27154 /* 76377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27155 /* 76381 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27156 /* 76385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27157 /* 76388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27158 /* 76394 */ GIR_RootConstrainSelectedInstOperands,
27159 /* 76395 */ // GIR_Coverage, 409,
27160 /* 76395 */ GIR_EraseRootFromParent_Done,
27161 /* 76396 */ // Label 1706: @76396
27162 /* 76396 */ GIM_Try, /*On fail goto*//*Label 1707*/ GIMT_Encode4(76484), // Rule ID 23257 //
27163 /* 76401 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27164 /* 76404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27165 /* 76408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27166 /* 76412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27167 /* 76416 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27168 /* 76420 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27169 /* 76424 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27170 /* 76429 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27171 /* 76433 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27172 /* 76437 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27173 /* 76440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27174 /* 76444 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27175 /* 76448 */ // MIs[0] src1
27176 /* 76448 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27177 /* 76453 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27178 /* 76455 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27179 /* 76462 */ // (st (add:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27180 /* 76462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
27181 /* 76465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27182 /* 76469 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27183 /* 76473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27184 /* 76476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27185 /* 76482 */ GIR_RootConstrainSelectedInstOperands,
27186 /* 76483 */ // GIR_Coverage, 23257,
27187 /* 76483 */ GIR_EraseRootFromParent_Done,
27188 /* 76484 */ // Label 1707: @76484
27189 /* 76484 */ GIM_Try, /*On fail goto*//*Label 1708*/ GIMT_Encode4(76572), // Rule ID 301 //
27190 /* 76489 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27191 /* 76492 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27192 /* 76496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27193 /* 76500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27194 /* 76504 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27195 /* 76508 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27196 /* 76512 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27197 /* 76516 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27198 /* 76520 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27199 /* 76523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27200 /* 76527 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27201 /* 76531 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27202 /* 76536 */ // MIs[0] src1
27203 /* 76536 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27204 /* 76541 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27205 /* 76543 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27206 /* 76550 */ // (st (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27207 /* 76550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
27208 /* 76553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27209 /* 76557 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27210 /* 76561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27211 /* 76564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27212 /* 76570 */ GIR_RootConstrainSelectedInstOperands,
27213 /* 76571 */ // GIR_Coverage, 301,
27214 /* 76571 */ GIR_EraseRootFromParent_Done,
27215 /* 76572 */ // Label 1708: @76572
27216 /* 76572 */ GIM_Try, /*On fail goto*//*Label 1709*/ GIMT_Encode4(76660), // Rule ID 23221 //
27217 /* 76577 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27218 /* 76580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27219 /* 76584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27220 /* 76588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27221 /* 76592 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27222 /* 76596 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27223 /* 76600 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27224 /* 76605 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27225 /* 76609 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27226 /* 76613 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27227 /* 76616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27228 /* 76620 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27229 /* 76624 */ // MIs[0] src1
27230 /* 76624 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27231 /* 76629 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27232 /* 76631 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27233 /* 76638 */ // (st (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27234 /* 76638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
27235 /* 76641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27236 /* 76645 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27237 /* 76649 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27238 /* 76652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27239 /* 76658 */ GIR_RootConstrainSelectedInstOperands,
27240 /* 76659 */ // GIR_Coverage, 23221,
27241 /* 76659 */ GIR_EraseRootFromParent_Done,
27242 /* 76660 */ // Label 1709: @76660
27243 /* 76660 */ GIM_Try, /*On fail goto*//*Label 1710*/ GIMT_Encode4(76758), // Rule ID 750 //
27244 /* 76665 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27245 /* 76668 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27246 /* 76672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27247 /* 76676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
27248 /* 76680 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27249 /* 76684 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27250 /* 76688 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27251 /* 76692 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27252 /* 76696 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27253 /* 76699 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27254 /* 76703 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
27255 /* 76707 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27256 /* 76712 */ // MIs[0] src1
27257 /* 76712 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27258 /* 76717 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27259 /* 76719 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27260 /* 76726 */ // (st (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
27261 /* 76726 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27262 /* 76730 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27263 /* 76736 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27264 /* 76740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL),
27265 /* 76743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27266 /* 76747 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27267 /* 76750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27268 /* 76756 */ GIR_RootConstrainSelectedInstOperands,
27269 /* 76757 */ // GIR_Coverage, 750,
27270 /* 76757 */ GIR_EraseRootFromParent_Done,
27271 /* 76758 */ // Label 1710: @76758
27272 /* 76758 */ GIM_Try, /*On fail goto*//*Label 1711*/ GIMT_Encode4(76856), // Rule ID 718 //
27273 /* 76763 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27274 /* 76766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27275 /* 76770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27276 /* 76774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
27277 /* 76778 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27278 /* 76782 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27279 /* 76786 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27280 /* 76790 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27281 /* 76794 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27282 /* 76797 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27283 /* 76801 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
27284 /* 76805 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27285 /* 76810 */ // MIs[0] src1
27286 /* 76810 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27287 /* 76815 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27288 /* 76817 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27289 /* 76824 */ // (st (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
27290 /* 76824 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27291 /* 76828 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27292 /* 76834 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27293 /* 76838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL),
27294 /* 76841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27295 /* 76845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27296 /* 76848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27297 /* 76854 */ GIR_RootConstrainSelectedInstOperands,
27298 /* 76855 */ // GIR_Coverage, 718,
27299 /* 76855 */ GIR_EraseRootFromParent_Done,
27300 /* 76856 */ // Label 1711: @76856
27301 /* 76856 */ GIM_Try, /*On fail goto*//*Label 1712*/ GIMT_Encode4(76944), // Rule ID 337 //
27302 /* 76861 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27303 /* 76864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27304 /* 76868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27305 /* 76872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27306 /* 76876 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27307 /* 76880 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27308 /* 76884 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27309 /* 76888 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27310 /* 76892 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27311 /* 76895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27312 /* 76899 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27313 /* 76903 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27314 /* 76908 */ // MIs[0] src1
27315 /* 76908 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27316 /* 76913 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27317 /* 76915 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27318 /* 76922 */ // (st (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27319 /* 76922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
27320 /* 76925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27321 /* 76929 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27322 /* 76933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27323 /* 76936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27324 /* 76942 */ GIR_RootConstrainSelectedInstOperands,
27325 /* 76943 */ // GIR_Coverage, 337,
27326 /* 76943 */ GIR_EraseRootFromParent_Done,
27327 /* 76944 */ // Label 1712: @76944
27328 /* 76944 */ GIM_Try, /*On fail goto*//*Label 1713*/ GIMT_Encode4(77032), // Rule ID 23233 //
27329 /* 76949 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27330 /* 76952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27331 /* 76956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27332 /* 76960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27333 /* 76964 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27334 /* 76968 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27335 /* 76972 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27336 /* 76977 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27337 /* 76981 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27338 /* 76985 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27339 /* 76988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27340 /* 76992 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27341 /* 76996 */ // MIs[0] src1
27342 /* 76996 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27343 /* 77001 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27344 /* 77003 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27345 /* 77010 */ // (st (or:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27346 /* 77010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
27347 /* 77013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27348 /* 77017 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27349 /* 77021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27350 /* 77024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27351 /* 77030 */ GIR_RootConstrainSelectedInstOperands,
27352 /* 77031 */ // GIR_Coverage, 23233,
27353 /* 77031 */ GIR_EraseRootFromParent_Done,
27354 /* 77032 */ // Label 1713: @77032
27355 /* 77032 */ GIM_Try, /*On fail goto*//*Label 1714*/ GIMT_Encode4(77130), // Rule ID 782 //
27356 /* 77037 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27357 /* 77040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27358 /* 77044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27359 /* 77048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27360 /* 77052 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27361 /* 77056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27362 /* 77060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27363 /* 77064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27364 /* 77068 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27365 /* 77071 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27366 /* 77075 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
27367 /* 77079 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27368 /* 77084 */ // MIs[0] src1
27369 /* 77084 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27370 /* 77089 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27371 /* 77091 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27372 /* 77098 */ // (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
27373 /* 77098 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27374 /* 77102 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27375 /* 77108 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27376 /* 77112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL),
27377 /* 77115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27378 /* 77119 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27379 /* 77122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27380 /* 77128 */ GIR_RootConstrainSelectedInstOperands,
27381 /* 77129 */ // GIR_Coverage, 782,
27382 /* 77129 */ GIR_EraseRootFromParent_Done,
27383 /* 77130 */ // Label 1714: @77130
27384 /* 77130 */ GIM_Try, /*On fail goto*//*Label 1715*/ GIMT_Encode4(77228), // Rule ID 814 //
27385 /* 77135 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27386 /* 77138 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27387 /* 77142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27388 /* 77146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27389 /* 77150 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27390 /* 77154 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27391 /* 77158 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27392 /* 77162 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27393 /* 77166 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27394 /* 77169 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27395 /* 77173 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
27396 /* 77177 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27397 /* 77182 */ // MIs[0] src1
27398 /* 77182 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27399 /* 77187 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27400 /* 77189 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27401 /* 77196 */ // (st (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
27402 /* 77196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27403 /* 77200 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27404 /* 77206 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27405 /* 77210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL),
27406 /* 77213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27407 /* 77217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27408 /* 77220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27409 /* 77226 */ GIR_RootConstrainSelectedInstOperands,
27410 /* 77227 */ // GIR_Coverage, 814,
27411 /* 77227 */ GIR_EraseRootFromParent_Done,
27412 /* 77228 */ // Label 1715: @77228
27413 /* 77228 */ GIM_Try, /*On fail goto*//*Label 1716*/ GIMT_Encode4(77326), // Rule ID 686 //
27414 /* 77233 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27415 /* 77236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27416 /* 77240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27417 /* 77244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
27418 /* 77248 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27419 /* 77252 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27420 /* 77256 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27421 /* 77260 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27422 /* 77264 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27423 /* 77267 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27424 /* 77271 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
27425 /* 77275 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27426 /* 77280 */ // MIs[0] src1
27427 /* 77280 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27428 /* 77285 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27429 /* 77287 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27430 /* 77294 */ // (st (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
27431 /* 77294 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27432 /* 77298 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27433 /* 77304 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
27434 /* 77308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL),
27435 /* 77311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27436 /* 77315 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27437 /* 77318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27438 /* 77324 */ GIR_RootConstrainSelectedInstOperands,
27439 /* 77325 */ // GIR_Coverage, 686,
27440 /* 77325 */ GIR_EraseRootFromParent_Done,
27441 /* 77326 */ // Label 1716: @77326
27442 /* 77326 */ GIM_Try, /*On fail goto*//*Label 1717*/ GIMT_Encode4(77414), // Rule ID 445 //
27443 /* 77331 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27444 /* 77334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27445 /* 77338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27446 /* 77342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27447 /* 77346 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27448 /* 77350 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27449 /* 77354 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27450 /* 77358 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27451 /* 77362 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27452 /* 77365 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27453 /* 77369 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27454 /* 77373 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27455 /* 77378 */ // MIs[0] src1
27456 /* 77378 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27457 /* 77383 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27458 /* 77385 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27459 /* 77392 */ // (st (sub:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27460 /* 77392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
27461 /* 77395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27462 /* 77399 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27463 /* 77403 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27464 /* 77406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27465 /* 77412 */ GIR_RootConstrainSelectedInstOperands,
27466 /* 77413 */ // GIR_Coverage, 445,
27467 /* 77413 */ GIR_EraseRootFromParent_Done,
27468 /* 77414 */ // Label 1717: @77414
27469 /* 77414 */ GIM_Try, /*On fail goto*//*Label 1718*/ GIMT_Encode4(77502), // Rule ID 373 //
27470 /* 77419 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27471 /* 77422 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27472 /* 77426 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27473 /* 77430 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27474 /* 77434 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27475 /* 77438 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27476 /* 77442 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27477 /* 77446 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27478 /* 77450 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27479 /* 77453 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27480 /* 77457 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27481 /* 77461 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27482 /* 77466 */ // MIs[0] src1
27483 /* 77466 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27484 /* 77471 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27485 /* 77473 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27486 /* 77480 */ // (st (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27487 /* 77480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
27488 /* 77483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27489 /* 77487 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27490 /* 77491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27491 /* 77494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27492 /* 77500 */ GIR_RootConstrainSelectedInstOperands,
27493 /* 77501 */ // GIR_Coverage, 373,
27494 /* 77501 */ GIR_EraseRootFromParent_Done,
27495 /* 77502 */ // Label 1718: @77502
27496 /* 77502 */ GIM_Try, /*On fail goto*//*Label 1719*/ GIMT_Encode4(77590), // Rule ID 23245 //
27497 /* 77507 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27498 /* 77510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27499 /* 77514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27500 /* 77518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27501 /* 77522 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27502 /* 77526 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
27503 /* 77530 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27504 /* 77535 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27505 /* 77539 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27506 /* 77543 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27507 /* 77546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27508 /* 77550 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27509 /* 77554 */ // MIs[0] src1
27510 /* 77554 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27511 /* 77559 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27512 /* 77561 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27513 /* 77568 */ // (st (xor:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
27514 /* 77568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
27515 /* 77571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27516 /* 77575 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27517 /* 77579 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27518 /* 77582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27519 /* 77588 */ GIR_RootConstrainSelectedInstOperands,
27520 /* 77589 */ // GIR_Coverage, 23245,
27521 /* 77589 */ GIR_EraseRootFromParent_Done,
27522 /* 77590 */ // Label 1719: @77590
27523 /* 77590 */ GIM_Try, /*On fail goto*//*Label 1720*/ GIMT_Encode4(77644), // Rule ID 26 //
27524 /* 77595 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27525 /* 77598 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27526 /* 77602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27527 /* 77606 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27528 /* 77610 */ // MIs[1] Operand 1
27529 /* 77610 */ // No operand predicates
27530 /* 77610 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
27531 /* 77614 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27532 /* 77618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27533 /* 77620 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27534 /* 77627 */ // (st (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
27535 /* 77627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
27536 /* 77630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27537 /* 77634 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
27538 /* 77637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27539 /* 77642 */ GIR_RootConstrainSelectedInstOperands,
27540 /* 77643 */ // GIR_Coverage, 26,
27541 /* 77643 */ GIR_EraseRootFromParent_Done,
27542 /* 77644 */ // Label 1720: @77644
27543 /* 77644 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(77710), // Rule ID 22539 //
27544 /* 77649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
27545 /* 77652 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27546 /* 77655 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27547 /* 77662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27548 /* 77666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27549 /* 77670 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27550 /* 77674 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
27551 /* 77679 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27552 /* 77683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27553 /* 77685 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27554 /* 77692 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
27555 /* 77692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
27556 /* 77695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27557 /* 77699 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27558 /* 77703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27559 /* 77708 */ GIR_RootConstrainSelectedInstOperands,
27560 /* 77709 */ // GIR_Coverage, 22539,
27561 /* 77709 */ GIR_EraseRootFromParent_Done,
27562 /* 77710 */ // Label 1721: @77710
27563 /* 77710 */ GIM_Try, /*On fail goto*//*Label 1722*/ GIMT_Encode4(77776), // Rule ID 22540 //
27564 /* 77715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
27565 /* 77718 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27566 /* 77721 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27567 /* 77728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27568 /* 77732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27569 /* 77736 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27570 /* 77740 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
27571 /* 77745 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27572 /* 77749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27573 /* 77751 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27574 /* 77758 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
27575 /* 77758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
27576 /* 77761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27577 /* 77765 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27578 /* 77769 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27579 /* 77774 */ GIR_RootConstrainSelectedInstOperands,
27580 /* 77775 */ // GIR_Coverage, 22540,
27581 /* 77775 */ GIR_EraseRootFromParent_Done,
27582 /* 77776 */ // Label 1722: @77776
27583 /* 77776 */ GIM_Try, /*On fail goto*//*Label 1723*/ GIMT_Encode4(77842), // Rule ID 22541 //
27584 /* 77781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
27585 /* 77784 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27586 /* 77787 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27587 /* 77794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27588 /* 77798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
27589 /* 77802 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27590 /* 77806 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
27591 /* 77811 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27592 /* 77815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27593 /* 77817 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27594 /* 77824 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
27595 /* 77824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
27596 /* 77827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27597 /* 77831 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27598 /* 77835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27599 /* 77840 */ GIR_RootConstrainSelectedInstOperands,
27600 /* 77841 */ // GIR_Coverage, 22541,
27601 /* 77841 */ GIR_EraseRootFromParent_Done,
27602 /* 77842 */ // Label 1723: @77842
27603 /* 77842 */ GIM_Try, /*On fail goto*//*Label 1724*/ GIMT_Encode4(77895), // Rule ID 22523 //
27604 /* 77847 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27605 /* 77850 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27606 /* 77857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27607 /* 77861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27608 /* 77865 */ // MIs[1] Operand 1
27609 /* 77865 */ // No operand predicates
27610 /* 77865 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27611 /* 77869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27612 /* 77871 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27613 /* 77878 */ // (atomic_store (imm:{ *:[i32] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
27614 /* 77878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
27615 /* 77881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27616 /* 77885 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
27617 /* 77888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27618 /* 77893 */ GIR_RootConstrainSelectedInstOperands,
27619 /* 77894 */ // GIR_Coverage, 22523,
27620 /* 77894 */ GIR_EraseRootFromParent_Done,
27621 /* 77895 */ // Label 1724: @77895
27622 /* 77895 */ GIM_Try, /*On fail goto*//*Label 1725*/ GIMT_Encode4(77958), // Rule ID 52 //
27623 /* 77900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
27624 /* 77903 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27625 /* 77906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27626 /* 77910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27627 /* 77914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
27628 /* 77918 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27629 /* 77922 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27630 /* 77927 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27631 /* 77931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27632 /* 77933 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27633 /* 77940 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
27634 /* 77940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr),
27635 /* 77943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27636 /* 77947 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
27637 /* 77951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27638 /* 77956 */ GIR_RootConstrainSelectedInstOperands,
27639 /* 77957 */ // GIR_Coverage, 52,
27640 /* 77957 */ GIR_EraseRootFromParent_Done,
27641 /* 77958 */ // Label 1725: @77958
27642 /* 77958 */ GIM_Try, /*On fail goto*//*Label 1726*/ GIMT_Encode4(78021), // Rule ID 58 //
27643 /* 77963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
27644 /* 77966 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27645 /* 77969 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27646 /* 77973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27647 /* 77977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
27648 /* 77981 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
27649 /* 77985 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27650 /* 77990 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27651 /* 77994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
27652 /* 77996 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27653 /* 78003 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
27654 /* 78003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr_EVEX),
27655 /* 78006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27656 /* 78010 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
27657 /* 78014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
27658 /* 78019 */ GIR_RootConstrainSelectedInstOperands,
27659 /* 78020 */ // GIR_Coverage, 58,
27660 /* 78020 */ GIR_EraseRootFromParent_Done,
27661 /* 78021 */ // Label 1726: @78021
27662 /* 78021 */ GIM_Try, /*On fail goto*//*Label 1727*/ GIMT_Encode4(78066), // Rule ID 22527 //
27663 /* 78026 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27664 /* 78029 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
27665 /* 78036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27666 /* 78040 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27667 /* 78044 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27668 /* 78051 */ // (atomic_store GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
27669 /* 78051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
27670 /* 78054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27671 /* 78058 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27672 /* 78060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27673 /* 78064 */ GIR_RootConstrainSelectedInstOperands,
27674 /* 78065 */ // GIR_Coverage, 22527,
27675 /* 78065 */ GIR_EraseRootFromParent_Done,
27676 /* 78066 */ // Label 1727: @78066
27677 /* 78066 */ GIM_Try, /*On fail goto*//*Label 1728*/ GIMT_Encode4(78108), // Rule ID 34 //
27678 /* 78071 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27679 /* 78074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27680 /* 78078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
27681 /* 78082 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27682 /* 78086 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27683 /* 78093 */ // (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
27684 /* 78093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
27685 /* 78096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27686 /* 78100 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27687 /* 78102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27688 /* 78106 */ GIR_RootConstrainSelectedInstOperands,
27689 /* 78107 */ // GIR_Coverage, 34,
27690 /* 78107 */ GIR_EraseRootFromParent_Done,
27691 /* 78108 */ // Label 1728: @78108
27692 /* 78108 */ GIM_Try, /*On fail goto*//*Label 1729*/ GIMT_Encode4(78156), // Rule ID 1094 //
27693 /* 78113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
27694 /* 78116 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27695 /* 78119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27696 /* 78123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
27697 /* 78127 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27698 /* 78131 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27699 /* 78138 */ // (st RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp32m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
27700 /* 78138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp32m),
27701 /* 78141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
27702 /* 78145 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27703 /* 78147 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
27704 /* 78150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27705 /* 78154 */ GIR_RootConstrainSelectedInstOperands,
27706 /* 78155 */ // GIR_Coverage, 1094,
27707 /* 78155 */ GIR_EraseRootFromParent_Done,
27708 /* 78156 */ // Label 1729: @78156
27709 /* 78156 */ GIM_Try, /*On fail goto*//*Label 1730*/ GIMT_Encode4(78201), // Rule ID 1687 //
27710 /* 78161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
27711 /* 78164 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27712 /* 78167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27713 /* 78171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
27714 /* 78175 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27715 /* 78179 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27716 /* 78186 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
27717 /* 78186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
27718 /* 78189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27719 /* 78193 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27720 /* 78195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27721 /* 78199 */ GIR_RootConstrainSelectedInstOperands,
27722 /* 78200 */ // GIR_Coverage, 1687,
27723 /* 78200 */ GIR_EraseRootFromParent_Done,
27724 /* 78201 */ // Label 1730: @78201
27725 /* 78201 */ GIM_Try, /*On fail goto*//*Label 1731*/ GIMT_Encode4(78246), // Rule ID 1689 //
27726 /* 78206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
27727 /* 78209 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27728 /* 78212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27729 /* 78216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
27730 /* 78220 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27731 /* 78224 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27732 /* 78231 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
27733 /* 78231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
27734 /* 78234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27735 /* 78238 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27736 /* 78240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27737 /* 78244 */ GIR_RootConstrainSelectedInstOperands,
27738 /* 78245 */ // GIR_Coverage, 1689,
27739 /* 78245 */ GIR_EraseRootFromParent_Done,
27740 /* 78246 */ // Label 1731: @78246
27741 /* 78246 */ GIM_Try, /*On fail goto*//*Label 1732*/ GIMT_Encode4(78291), // Rule ID 4613 //
27742 /* 78251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
27743 /* 78254 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27744 /* 78257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27745 /* 78261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
27746 /* 78265 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
27747 /* 78269 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27748 /* 78276 */ // (st FR32X:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
27749 /* 78276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
27750 /* 78279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27751 /* 78283 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
27752 /* 78285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
27753 /* 78289 */ GIR_RootConstrainSelectedInstOperands,
27754 /* 78290 */ // GIR_Coverage, 4613,
27755 /* 78290 */ GIR_EraseRootFromParent_Done,
27756 /* 78291 */ // Label 1732: @78291
27757 /* 78291 */ GIM_Reject,
27758 /* 78292 */ // Label 1535: @78292
27759 /* 78292 */ GIM_Try, /*On fail goto*//*Label 1733*/ GIMT_Encode4(78388), // Rule ID 22508 //
27760 /* 78297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
27761 /* 78300 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27762 /* 78303 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27763 /* 78310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27764 /* 78314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27765 /* 78318 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27766 /* 78322 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27767 /* 78326 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27768 /* 78330 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27769 /* 78334 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27770 /* 78337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27771 /* 78341 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27772 /* 78348 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27773 /* 78352 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
27774 /* 78356 */ // MIs[0] dst
27775 /* 78356 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27776 /* 78361 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27777 /* 78363 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27778 /* 78370 */ // (atomic_store (add:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, 1:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (INC64m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
27779 /* 78370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
27780 /* 78373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27781 /* 78377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27782 /* 78380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27783 /* 78386 */ GIR_RootConstrainSelectedInstOperands,
27784 /* 78387 */ // GIR_Coverage, 22508,
27785 /* 78387 */ GIR_EraseRootFromParent_Done,
27786 /* 78388 */ // Label 1733: @78388
27787 /* 78388 */ GIM_Try, /*On fail goto*//*Label 1734*/ GIMT_Encode4(78484), // Rule ID 22512 //
27788 /* 78393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
27789 /* 78396 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27790 /* 78399 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27791 /* 78406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27792 /* 78410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27793 /* 78414 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27794 /* 78418 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27795 /* 78422 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27796 /* 78426 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27797 /* 78430 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27798 /* 78433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27799 /* 78437 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27800 /* 78444 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27801 /* 78448 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27802 /* 78452 */ // MIs[0] dst
27803 /* 78452 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27804 /* 78457 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27805 /* 78459 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27806 /* 78466 */ // (atomic_store (add:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, -1:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (DEC64m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
27807 /* 78466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
27808 /* 78469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27809 /* 78473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27810 /* 78476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27811 /* 78482 */ GIR_RootConstrainSelectedInstOperands,
27812 /* 78483 */ // GIR_Coverage, 22512,
27813 /* 78483 */ GIR_EraseRootFromParent_Done,
27814 /* 78484 */ // Label 1734: @78484
27815 /* 78484 */ GIM_Try, /*On fail goto*//*Label 1735*/ GIMT_Encode4(78577), // Rule ID 22516 //
27816 /* 78489 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27817 /* 78492 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27818 /* 78499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27819 /* 78503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27820 /* 78507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27821 /* 78511 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27822 /* 78515 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
27823 /* 78519 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27824 /* 78523 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27825 /* 78527 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27826 /* 78530 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27827 /* 78534 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27828 /* 78541 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27829 /* 78545 */ // MIs[0] dst
27830 /* 78545 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27831 /* 78550 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27832 /* 78552 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27833 /* 78559 */ // (atomic_store (sub:{ *:[i64] } 0:{ *:[i64] }, (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (NEG64m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
27834 /* 78559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
27835 /* 78562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27836 /* 78566 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27837 /* 78569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27838 /* 78575 */ GIR_RootConstrainSelectedInstOperands,
27839 /* 78576 */ // GIR_Coverage, 22516,
27840 /* 78576 */ GIR_EraseRootFromParent_Done,
27841 /* 78577 */ // Label 1735: @78577
27842 /* 78577 */ GIM_Try, /*On fail goto*//*Label 1736*/ GIMT_Encode4(78667), // Rule ID 22520 //
27843 /* 78582 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27844 /* 78585 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27845 /* 78592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27846 /* 78596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27847 /* 78600 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27848 /* 78604 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27849 /* 78608 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27850 /* 78612 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27851 /* 78616 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27852 /* 78619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27853 /* 78623 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27854 /* 78630 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27855 /* 78634 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27856 /* 78638 */ // MIs[0] dst
27857 /* 78638 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27858 /* 78643 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27859 /* 78645 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27860 /* 78652 */ // (atomic_store (xor:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, -1:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (NOT64m addr:{ *:[iPTR] }:$dst)
27861 /* 78652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
27862 /* 78655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27863 /* 78659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27864 /* 78665 */ GIR_RootConstrainSelectedInstOperands,
27865 /* 78666 */ // GIR_Coverage, 22520,
27866 /* 78666 */ GIR_EraseRootFromParent_Done,
27867 /* 78667 */ // Label 1736: @78667
27868 /* 78667 */ GIM_Try, /*On fail goto*//*Label 1737*/ GIMT_Encode4(78753), // Rule ID 229 //
27869 /* 78672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
27870 /* 78675 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27871 /* 78678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27872 /* 78682 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27873 /* 78686 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27874 /* 78690 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27875 /* 78694 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27876 /* 78698 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27877 /* 78702 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27878 /* 78706 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27879 /* 78709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27880 /* 78713 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27881 /* 78717 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
27882 /* 78721 */ // MIs[0] src1
27883 /* 78721 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27884 /* 78726 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27885 /* 78728 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27886 /* 78735 */ // (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 1:{ *:[i64] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (INC64m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
27887 /* 78735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
27888 /* 78738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27889 /* 78742 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27890 /* 78745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27891 /* 78751 */ GIR_RootConstrainSelectedInstOperands,
27892 /* 78752 */ // GIR_Coverage, 229,
27893 /* 78752 */ GIR_EraseRootFromParent_Done,
27894 /* 78753 */ // Label 1737: @78753
27895 /* 78753 */ GIM_Try, /*On fail goto*//*Label 1738*/ GIMT_Encode4(78839), // Rule ID 230 //
27896 /* 78758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
27897 /* 78761 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27898 /* 78764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27899 /* 78768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27900 /* 78772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27901 /* 78776 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27902 /* 78780 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27903 /* 78784 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27904 /* 78788 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27905 /* 78792 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27906 /* 78795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27907 /* 78799 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27908 /* 78803 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27909 /* 78807 */ // MIs[0] src1
27910 /* 78807 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27911 /* 78812 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27912 /* 78814 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27913 /* 78821 */ // (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, -1:{ *:[i64] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (DEC64m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
27914 /* 78821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
27915 /* 78824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27916 /* 78828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27917 /* 78831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27918 /* 78837 */ GIR_RootConstrainSelectedInstOperands,
27919 /* 78838 */ // GIR_Coverage, 230,
27920 /* 78838 */ GIR_EraseRootFromParent_Done,
27921 /* 78839 */ // Label 1738: @78839
27922 /* 78839 */ GIM_Try, /*On fail goto*//*Label 1739*/ GIMT_Encode4(78932), // Rule ID 22649 //
27923 /* 78844 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27924 /* 78847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27925 /* 78851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27926 /* 78855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27927 /* 78859 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27928 /* 78863 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27929 /* 78867 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27930 /* 78871 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27931 /* 78875 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27932 /* 78878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27933 /* 78882 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27934 /* 78886 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
27935 /* 78897 */ // MIs[0] dst
27936 /* 78897 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27937 /* 78902 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27938 /* 78904 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27939 /* 78911 */ // (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 128:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -128:{ *:[i64] })
27940 /* 78911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27941 /* 78914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27942 /* 78918 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
27943 /* 78921 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27944 /* 78924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27945 /* 78930 */ GIR_RootConstrainSelectedInstOperands,
27946 /* 78931 */ // GIR_Coverage, 22649,
27947 /* 78931 */ GIR_EraseRootFromParent_Done,
27948 /* 78932 */ // Label 1739: @78932
27949 /* 78932 */ GIM_Try, /*On fail goto*//*Label 1740*/ GIMT_Encode4(79032), // Rule ID 22657 //
27950 /* 78937 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27951 /* 78940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27952 /* 78944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27953 /* 78948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27954 /* 78952 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27955 /* 78956 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27956 /* 78960 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27957 /* 78964 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27958 /* 78968 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27959 /* 78971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27960 /* 78975 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27961 /* 78979 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(2147483648),
27962 /* 78990 */ // MIs[0] dst
27963 /* 78990 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27964 /* 78995 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27965 /* 78997 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27966 /* 79004 */ // (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 2147483648:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -2147483648:{ *:[i64] })
27967 /* 79004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27968 /* 79007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27969 /* 79011 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
27970 /* 79021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27971 /* 79024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27972 /* 79030 */ GIR_RootConstrainSelectedInstOperands,
27973 /* 79031 */ // GIR_Coverage, 22657,
27974 /* 79031 */ GIR_EraseRootFromParent_Done,
27975 /* 79032 */ // Label 1740: @79032
27976 /* 79032 */ GIM_Try, /*On fail goto*//*Label 1741*/ GIMT_Encode4(79118), // Rule ID 17604 //
27977 /* 79037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27978 /* 79040 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27979 /* 79043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27980 /* 79047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27981 /* 79051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27982 /* 79055 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27983 /* 79059 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27984 /* 79063 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27985 /* 79067 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27986 /* 79071 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27987 /* 79074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27988 /* 79078 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27989 /* 79082 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
27990 /* 79086 */ // MIs[0] dst
27991 /* 79086 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27992 /* 79091 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27993 /* 79093 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27994 /* 79100 */ // (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 63:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR64m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
27995 /* 79100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1),
27996 /* 79103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27997 /* 79107 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27998 /* 79110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27999 /* 79116 */ GIR_RootConstrainSelectedInstOperands,
28000 /* 79117 */ // GIR_Coverage, 17604,
28001 /* 79117 */ GIR_EraseRootFromParent_Done,
28002 /* 79118 */ // Label 1741: @79118
28003 /* 79118 */ GIM_Try, /*On fail goto*//*Label 1742*/ GIMT_Encode4(79204), // Rule ID 17608 //
28004 /* 79123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28005 /* 79126 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28006 /* 79129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28007 /* 79133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28008 /* 79137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
28009 /* 79141 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28010 /* 79145 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28011 /* 79149 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28012 /* 79153 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28013 /* 79157 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28014 /* 79160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28015 /* 79164 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28016 /* 79168 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
28017 /* 79172 */ // MIs[0] dst
28018 /* 79172 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28019 /* 79177 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28020 /* 79179 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28021 /* 79186 */ // (st (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 63:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL64m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
28022 /* 79186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1),
28023 /* 79189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28024 /* 79193 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28025 /* 79196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28026 /* 79202 */ GIR_RootConstrainSelectedInstOperands,
28027 /* 79203 */ // GIR_Coverage, 17608,
28028 /* 79203 */ GIR_EraseRootFromParent_Done,
28029 /* 79204 */ // Label 1742: @79204
28030 /* 79204 */ GIM_Try, /*On fail goto*//*Label 1743*/ GIMT_Encode4(79290), // Rule ID 262 //
28031 /* 79209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28032 /* 79212 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28033 /* 79215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28034 /* 79219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28035 /* 79223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
28036 /* 79227 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28037 /* 79231 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28038 /* 79235 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
28039 /* 79239 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28040 /* 79243 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28041 /* 79247 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28042 /* 79250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28043 /* 79254 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28044 /* 79258 */ // MIs[0] src1
28045 /* 79258 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28046 /* 79263 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28047 /* 79265 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28048 /* 79272 */ // (st (sub:{ *:[i64] } 0:{ *:[i64] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NEG64m:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
28049 /* 79272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
28050 /* 79275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28051 /* 79279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28052 /* 79282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28053 /* 79288 */ GIR_RootConstrainSelectedInstOperands,
28054 /* 79289 */ // GIR_Coverage, 262,
28055 /* 79289 */ GIR_EraseRootFromParent_Done,
28056 /* 79290 */ // Label 1743: @79290
28057 /* 79290 */ GIM_Try, /*On fail goto*//*Label 1744*/ GIMT_Encode4(79373), // Rule ID 270 //
28058 /* 79295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28059 /* 79298 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28060 /* 79301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28061 /* 79305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28062 /* 79309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28063 /* 79313 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28064 /* 79317 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28065 /* 79321 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28066 /* 79325 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28067 /* 79329 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28068 /* 79332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28069 /* 79336 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28070 /* 79340 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
28071 /* 79344 */ // MIs[0] src1
28072 /* 79344 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28073 /* 79349 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28074 /* 79351 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28075 /* 79358 */ // (st (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, -1:{ *:[i64] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (NOT64m addr:{ *:[iPTR] }:$src1)
28076 /* 79358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
28077 /* 79361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28078 /* 79365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28079 /* 79371 */ GIR_RootConstrainSelectedInstOperands,
28080 /* 79372 */ // GIR_Coverage, 270,
28081 /* 79372 */ GIR_EraseRootFromParent_Done,
28082 /* 79373 */ // Label 1744: @79373
28083 /* 79373 */ GIM_Try, /*On fail goto*//*Label 1745*/ GIMT_Encode4(79478), // Rule ID 22444 //
28084 /* 79378 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28085 /* 79381 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28086 /* 79388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28087 /* 79392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28088 /* 79396 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28089 /* 79400 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28090 /* 79404 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28091 /* 79408 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28092 /* 79412 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28093 /* 79415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28094 /* 79419 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28095 /* 79426 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28096 /* 79430 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28097 /* 79434 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28098 /* 79438 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28099 /* 79442 */ // MIs[3] Operand 1
28100 /* 79442 */ // No operand predicates
28101 /* 79442 */ // MIs[0] dst
28102 /* 79442 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28103 /* 79447 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28104 /* 79449 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28105 /* 79456 */ // (atomic_store (add:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (ADD64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src)
28106 /* 79456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mi32),
28107 /* 79459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28108 /* 79463 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
28109 /* 79466 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28110 /* 79469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28111 /* 79476 */ GIR_RootConstrainSelectedInstOperands,
28112 /* 79477 */ // GIR_Coverage, 22444,
28113 /* 79477 */ GIR_EraseRootFromParent_Done,
28114 /* 79478 */ // Label 1745: @79478
28115 /* 79478 */ GIM_Try, /*On fail goto*//*Label 1746*/ GIMT_Encode4(79583), // Rule ID 22452 //
28116 /* 79483 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28117 /* 79486 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28118 /* 79493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28119 /* 79497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28120 /* 79501 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28121 /* 79505 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28122 /* 79509 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28123 /* 79513 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28124 /* 79517 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28125 /* 79520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28126 /* 79524 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28127 /* 79531 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28128 /* 79535 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28129 /* 79539 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28130 /* 79543 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28131 /* 79547 */ // MIs[3] Operand 1
28132 /* 79547 */ // No operand predicates
28133 /* 79547 */ // MIs[0] dst
28134 /* 79547 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28135 /* 79552 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28136 /* 79554 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28137 /* 79561 */ // (atomic_store (and:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (AND64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src)
28138 /* 79561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mi32),
28139 /* 79564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28140 /* 79568 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
28141 /* 79571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28142 /* 79574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28143 /* 79581 */ GIR_RootConstrainSelectedInstOperands,
28144 /* 79582 */ // GIR_Coverage, 22452,
28145 /* 79582 */ GIR_EraseRootFromParent_Done,
28146 /* 79583 */ // Label 1746: @79583
28147 /* 79583 */ GIM_Try, /*On fail goto*//*Label 1747*/ GIMT_Encode4(79688), // Rule ID 22460 //
28148 /* 79588 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28149 /* 79591 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28150 /* 79598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28151 /* 79602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28152 /* 79606 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28153 /* 79610 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28154 /* 79614 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28155 /* 79618 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28156 /* 79622 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28157 /* 79625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28158 /* 79629 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28159 /* 79636 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28160 /* 79640 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28161 /* 79644 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28162 /* 79648 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28163 /* 79652 */ // MIs[3] Operand 1
28164 /* 79652 */ // No operand predicates
28165 /* 79652 */ // MIs[0] dst
28166 /* 79652 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28167 /* 79657 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28168 /* 79659 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28169 /* 79666 */ // (atomic_store (or:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (OR64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src)
28170 /* 79666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mi32),
28171 /* 79669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28172 /* 79673 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
28173 /* 79676 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28174 /* 79679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28175 /* 79686 */ GIR_RootConstrainSelectedInstOperands,
28176 /* 79687 */ // GIR_Coverage, 22460,
28177 /* 79687 */ GIR_EraseRootFromParent_Done,
28178 /* 79688 */ // Label 1747: @79688
28179 /* 79688 */ GIM_Try, /*On fail goto*//*Label 1748*/ GIMT_Encode4(79793), // Rule ID 22476 //
28180 /* 79693 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28181 /* 79696 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28182 /* 79703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28183 /* 79707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
28184 /* 79711 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28185 /* 79715 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28186 /* 79719 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28187 /* 79723 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28188 /* 79727 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28189 /* 79730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28190 /* 79734 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28191 /* 79741 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28192 /* 79745 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28193 /* 79749 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28194 /* 79753 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28195 /* 79757 */ // MIs[3] Operand 1
28196 /* 79757 */ // No operand predicates
28197 /* 79757 */ // MIs[0] dst
28198 /* 79757 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28199 /* 79762 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28200 /* 79764 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28201 /* 79771 */ // (atomic_store (sub:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (SUB64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src)
28202 /* 79771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
28203 /* 79774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28204 /* 79778 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
28205 /* 79781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28206 /* 79784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28207 /* 79791 */ GIR_RootConstrainSelectedInstOperands,
28208 /* 79792 */ // GIR_Coverage, 22476,
28209 /* 79792 */ GIR_EraseRootFromParent_Done,
28210 /* 79793 */ // Label 1748: @79793
28211 /* 79793 */ GIM_Try, /*On fail goto*//*Label 1749*/ GIMT_Encode4(79898), // Rule ID 22468 //
28212 /* 79798 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28213 /* 79801 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28214 /* 79808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28215 /* 79812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28216 /* 79816 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28217 /* 79820 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28218 /* 79824 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28219 /* 79828 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28220 /* 79832 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28221 /* 79835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28222 /* 79839 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28223 /* 79846 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28224 /* 79850 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28225 /* 79854 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28226 /* 79858 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28227 /* 79862 */ // MIs[3] Operand 1
28228 /* 79862 */ // No operand predicates
28229 /* 79862 */ // MIs[0] dst
28230 /* 79862 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28231 /* 79867 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28232 /* 79869 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28233 /* 79876 */ // (atomic_store (xor:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (XOR64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src)
28234 /* 79876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mi32),
28235 /* 79879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28236 /* 79883 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
28237 /* 79886 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28238 /* 79889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28239 /* 79896 */ GIR_RootConstrainSelectedInstOperands,
28240 /* 79897 */ // GIR_Coverage, 22468,
28241 /* 79897 */ GIR_EraseRootFromParent_Done,
28242 /* 79898 */ // Label 1749: @79898
28243 /* 79898 */ GIM_Try, /*On fail goto*//*Label 1750*/ GIMT_Encode4(80002), // Rule ID 834 //
28244 /* 79903 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28245 /* 79906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28246 /* 79910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28247 /* 79914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
28248 /* 79918 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28249 /* 79922 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28250 /* 79926 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
28251 /* 79930 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28252 /* 79934 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28253 /* 79938 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28254 /* 79941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28255 /* 79945 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28256 /* 79949 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28257 /* 79954 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
28258 /* 79958 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28259 /* 79962 */ // MIs[3] Operand 1
28260 /* 79962 */ // No operand predicates
28261 /* 79962 */ // MIs[0] src1
28262 /* 79962 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28263 /* 79967 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28264 /* 79969 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28265 /* 79976 */ // (st (fshl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHLD64mri8:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
28266 /* 79976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8),
28267 /* 79979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28268 /* 79983 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28269 /* 79987 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
28270 /* 79990 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28271 /* 79993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28272 /* 80000 */ GIR_RootConstrainSelectedInstOperands,
28273 /* 80001 */ // GIR_Coverage, 834,
28274 /* 80001 */ GIR_EraseRootFromParent_Done,
28275 /* 80002 */ // Label 1750: @80002
28276 /* 80002 */ GIM_Try, /*On fail goto*//*Label 1751*/ GIMT_Encode4(80106), // Rule ID 858 //
28277 /* 80007 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28278 /* 80010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28279 /* 80014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28280 /* 80018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
28281 /* 80022 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28282 /* 80026 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28283 /* 80030 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
28284 /* 80034 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28285 /* 80039 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28286 /* 80043 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28287 /* 80047 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28288 /* 80050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28289 /* 80054 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28290 /* 80058 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
28291 /* 80062 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28292 /* 80066 */ // MIs[3] Operand 1
28293 /* 80066 */ // No operand predicates
28294 /* 80066 */ // MIs[0] src1
28295 /* 80066 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28296 /* 80071 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28297 /* 80073 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28298 /* 80080 */ // (st (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHRD64mri8:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
28299 /* 80080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8),
28300 /* 80083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28301 /* 80087 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28302 /* 80091 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
28303 /* 80094 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28304 /* 80097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28305 /* 80104 */ GIR_RootConstrainSelectedInstOperands,
28306 /* 80105 */ // GIR_Coverage, 858,
28307 /* 80105 */ GIR_EraseRootFromParent_Done,
28308 /* 80106 */ // Label 1751: @80106
28309 /* 80106 */ GIM_Try, /*On fail goto*//*Label 1752*/ GIMT_Encode4(80200), // Rule ID 735 //
28310 /* 80111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28311 /* 80114 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28312 /* 80117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28313 /* 80121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28314 /* 80125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
28315 /* 80129 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28316 /* 80133 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28317 /* 80137 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28318 /* 80141 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28319 /* 80145 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28320 /* 80148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28321 /* 80152 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28322 /* 80156 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28323 /* 80160 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28324 /* 80164 */ // MIs[3] Operand 1
28325 /* 80164 */ // No operand predicates
28326 /* 80164 */ // MIs[0] src1
28327 /* 80164 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28328 /* 80169 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28329 /* 80171 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28330 /* 80178 */ // (st (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR64mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
28331 /* 80178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi),
28332 /* 80181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28333 /* 80185 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
28334 /* 80188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28335 /* 80191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28336 /* 80198 */ GIR_RootConstrainSelectedInstOperands,
28337 /* 80199 */ // GIR_Coverage, 735,
28338 /* 80199 */ GIR_EraseRootFromParent_Done,
28339 /* 80200 */ // Label 1752: @80200
28340 /* 80200 */ GIM_Try, /*On fail goto*//*Label 1753*/ GIMT_Encode4(80294), // Rule ID 703 //
28341 /* 80205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28342 /* 80208 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28343 /* 80211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28344 /* 80215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28345 /* 80219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
28346 /* 80223 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28347 /* 80227 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28348 /* 80231 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28349 /* 80235 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28350 /* 80239 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28351 /* 80242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28352 /* 80246 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28353 /* 80250 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28354 /* 80254 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28355 /* 80258 */ // MIs[3] Operand 1
28356 /* 80258 */ // No operand predicates
28357 /* 80258 */ // MIs[0] src1
28358 /* 80258 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28359 /* 80263 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28360 /* 80265 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28361 /* 80272 */ // (st (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR64mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
28362 /* 80272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi),
28363 /* 80275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28364 /* 80279 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
28365 /* 80282 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28366 /* 80285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28367 /* 80292 */ GIR_RootConstrainSelectedInstOperands,
28368 /* 80293 */ // GIR_Coverage, 703,
28369 /* 80293 */ GIR_EraseRootFromParent_Done,
28370 /* 80294 */ // Label 1753: @80294
28371 /* 80294 */ GIM_Try, /*On fail goto*//*Label 1754*/ GIMT_Encode4(80388), // Rule ID 767 //
28372 /* 80299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28373 /* 80302 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28374 /* 80305 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28375 /* 80309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28376 /* 80313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
28377 /* 80317 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28378 /* 80321 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28379 /* 80325 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28380 /* 80329 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28381 /* 80333 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28382 /* 80336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28383 /* 80340 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28384 /* 80344 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28385 /* 80348 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28386 /* 80352 */ // MIs[3] Operand 1
28387 /* 80352 */ // No operand predicates
28388 /* 80352 */ // MIs[0] src1
28389 /* 80352 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28390 /* 80357 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28391 /* 80359 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28392 /* 80366 */ // (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL64mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
28393 /* 80366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi),
28394 /* 80369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28395 /* 80373 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
28396 /* 80376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28397 /* 80379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28398 /* 80386 */ GIR_RootConstrainSelectedInstOperands,
28399 /* 80387 */ // GIR_Coverage, 767,
28400 /* 80387 */ GIR_EraseRootFromParent_Done,
28401 /* 80388 */ // Label 1754: @80388
28402 /* 80388 */ GIM_Try, /*On fail goto*//*Label 1755*/ GIMT_Encode4(80482), // Rule ID 799 //
28403 /* 80393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28404 /* 80396 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28405 /* 80399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28406 /* 80403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28407 /* 80407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
28408 /* 80411 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28409 /* 80415 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28410 /* 80419 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28411 /* 80423 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28412 /* 80427 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28413 /* 80430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28414 /* 80434 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28415 /* 80438 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28416 /* 80442 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28417 /* 80446 */ // MIs[3] Operand 1
28418 /* 80446 */ // No operand predicates
28419 /* 80446 */ // MIs[0] src1
28420 /* 80446 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28421 /* 80451 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28422 /* 80453 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28423 /* 80460 */ // (st (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR64mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
28424 /* 80460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi),
28425 /* 80463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28426 /* 80467 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
28427 /* 80470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28428 /* 80473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28429 /* 80480 */ GIR_RootConstrainSelectedInstOperands,
28430 /* 80481 */ // GIR_Coverage, 799,
28431 /* 80481 */ GIR_EraseRootFromParent_Done,
28432 /* 80482 */ // Label 1755: @80482
28433 /* 80482 */ GIM_Try, /*On fail goto*//*Label 1756*/ GIMT_Encode4(80576), // Rule ID 671 //
28434 /* 80487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28435 /* 80490 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28436 /* 80493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28437 /* 80497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28438 /* 80501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
28439 /* 80505 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28440 /* 80509 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28441 /* 80513 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28442 /* 80517 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28443 /* 80521 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28444 /* 80524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28445 /* 80528 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28446 /* 80532 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
28447 /* 80536 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28448 /* 80540 */ // MIs[3] Operand 1
28449 /* 80540 */ // No operand predicates
28450 /* 80540 */ // MIs[0] src1
28451 /* 80540 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28452 /* 80545 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
28453 /* 80547 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28454 /* 80554 */ // (st (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL64mi:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
28455 /* 80554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi),
28456 /* 80557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28457 /* 80561 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
28458 /* 80564 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28459 /* 80567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
28460 /* 80574 */ GIR_RootConstrainSelectedInstOperands,
28461 /* 80575 */ // GIR_Coverage, 671,
28462 /* 80575 */ GIR_EraseRootFromParent_Done,
28463 /* 80576 */ // Label 1756: @80576
28464 /* 80576 */ GIM_Try, /*On fail goto*//*Label 1757*/ GIMT_Encode4(80674), // Rule ID 22448 //
28465 /* 80581 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28466 /* 80584 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28467 /* 80591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28468 /* 80595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28469 /* 80599 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28470 /* 80603 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28471 /* 80607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28472 /* 80611 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28473 /* 80615 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28474 /* 80618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28475 /* 80622 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28476 /* 80629 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28477 /* 80633 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28478 /* 80638 */ // MIs[0] dst
28479 /* 80638 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28480 /* 80643 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28481 /* 80645 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28482 /* 80652 */ // (atomic_store (add:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (ADD64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28483 /* 80652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28484 /* 80655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28485 /* 80659 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
28486 /* 80663 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28487 /* 80666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28488 /* 80672 */ GIR_RootConstrainSelectedInstOperands,
28489 /* 80673 */ // GIR_Coverage, 22448,
28490 /* 80673 */ GIR_EraseRootFromParent_Done,
28491 /* 80674 */ // Label 1757: @80674
28492 /* 80674 */ GIM_Try, /*On fail goto*//*Label 1758*/ GIMT_Encode4(80772), // Rule ID 26038 //
28493 /* 80679 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28494 /* 80682 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28495 /* 80689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28496 /* 80693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28497 /* 80697 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28498 /* 80701 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28499 /* 80705 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28500 /* 80710 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28501 /* 80714 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28502 /* 80718 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28503 /* 80721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28504 /* 80725 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28505 /* 80732 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28506 /* 80736 */ // MIs[0] dst
28507 /* 80736 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28508 /* 80741 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28509 /* 80743 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28510 /* 80750 */ // (atomic_store (add:{ *:[i64] } GR64:{ *:[i64] }:$src, (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (ADD64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28511 /* 80750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28512 /* 80753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28513 /* 80757 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28514 /* 80761 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28515 /* 80764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28516 /* 80770 */ GIR_RootConstrainSelectedInstOperands,
28517 /* 80771 */ // GIR_Coverage, 26038,
28518 /* 80771 */ GIR_EraseRootFromParent_Done,
28519 /* 80772 */ // Label 1758: @80772
28520 /* 80772 */ GIM_Try, /*On fail goto*//*Label 1759*/ GIMT_Encode4(80870), // Rule ID 22456 //
28521 /* 80777 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28522 /* 80780 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28523 /* 80787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28524 /* 80791 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28525 /* 80795 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28526 /* 80799 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28527 /* 80803 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28528 /* 80807 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28529 /* 80811 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28530 /* 80814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28531 /* 80818 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28532 /* 80825 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28533 /* 80829 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28534 /* 80834 */ // MIs[0] dst
28535 /* 80834 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28536 /* 80839 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28537 /* 80841 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28538 /* 80848 */ // (atomic_store (and:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (AND64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28539 /* 80848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28540 /* 80851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28541 /* 80855 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
28542 /* 80859 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28543 /* 80862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28544 /* 80868 */ GIR_RootConstrainSelectedInstOperands,
28545 /* 80869 */ // GIR_Coverage, 22456,
28546 /* 80869 */ GIR_EraseRootFromParent_Done,
28547 /* 80870 */ // Label 1759: @80870
28548 /* 80870 */ GIM_Try, /*On fail goto*//*Label 1760*/ GIMT_Encode4(80968), // Rule ID 26042 //
28549 /* 80875 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28550 /* 80878 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28551 /* 80885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28552 /* 80889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28553 /* 80893 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28554 /* 80897 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28555 /* 80901 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28556 /* 80906 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28557 /* 80910 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28558 /* 80914 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28559 /* 80917 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28560 /* 80921 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28561 /* 80928 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28562 /* 80932 */ // MIs[0] dst
28563 /* 80932 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28564 /* 80937 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28565 /* 80939 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28566 /* 80946 */ // (atomic_store (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (AND64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28567 /* 80946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28568 /* 80949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28569 /* 80953 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28570 /* 80957 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28571 /* 80960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28572 /* 80966 */ GIR_RootConstrainSelectedInstOperands,
28573 /* 80967 */ // GIR_Coverage, 26042,
28574 /* 80967 */ GIR_EraseRootFromParent_Done,
28575 /* 80968 */ // Label 1760: @80968
28576 /* 80968 */ GIM_Try, /*On fail goto*//*Label 1761*/ GIMT_Encode4(81066), // Rule ID 22464 //
28577 /* 80973 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28578 /* 80976 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28579 /* 80983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28580 /* 80987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28581 /* 80991 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28582 /* 80995 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28583 /* 80999 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28584 /* 81003 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28585 /* 81007 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28586 /* 81010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28587 /* 81014 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28588 /* 81021 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28589 /* 81025 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28590 /* 81030 */ // MIs[0] dst
28591 /* 81030 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28592 /* 81035 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28593 /* 81037 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28594 /* 81044 */ // (atomic_store (or:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (OR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28595 /* 81044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28596 /* 81047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28597 /* 81051 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
28598 /* 81055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28599 /* 81058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28600 /* 81064 */ GIR_RootConstrainSelectedInstOperands,
28601 /* 81065 */ // GIR_Coverage, 22464,
28602 /* 81065 */ GIR_EraseRootFromParent_Done,
28603 /* 81066 */ // Label 1761: @81066
28604 /* 81066 */ GIM_Try, /*On fail goto*//*Label 1762*/ GIMT_Encode4(81164), // Rule ID 26046 //
28605 /* 81071 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28606 /* 81074 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28607 /* 81081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28608 /* 81085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28609 /* 81089 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28610 /* 81093 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28611 /* 81097 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28612 /* 81102 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28613 /* 81106 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28614 /* 81110 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28615 /* 81113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28616 /* 81117 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28617 /* 81124 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28618 /* 81128 */ // MIs[0] dst
28619 /* 81128 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28620 /* 81133 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28621 /* 81135 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28622 /* 81142 */ // (atomic_store (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (OR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28623 /* 81142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28624 /* 81145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28625 /* 81149 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28626 /* 81153 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28627 /* 81156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28628 /* 81162 */ GIR_RootConstrainSelectedInstOperands,
28629 /* 81163 */ // GIR_Coverage, 26046,
28630 /* 81163 */ GIR_EraseRootFromParent_Done,
28631 /* 81164 */ // Label 1762: @81164
28632 /* 81164 */ GIM_Try, /*On fail goto*//*Label 1763*/ GIMT_Encode4(81262), // Rule ID 22480 //
28633 /* 81169 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28634 /* 81172 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28635 /* 81179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28636 /* 81183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
28637 /* 81187 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28638 /* 81191 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28639 /* 81195 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28640 /* 81199 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28641 /* 81203 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28642 /* 81206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28643 /* 81210 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28644 /* 81217 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28645 /* 81221 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28646 /* 81226 */ // MIs[0] dst
28647 /* 81226 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28648 /* 81231 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28649 /* 81233 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28650 /* 81240 */ // (atomic_store (sub:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (SUB64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28651 /* 81240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
28652 /* 81243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28653 /* 81247 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
28654 /* 81251 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28655 /* 81254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28656 /* 81260 */ GIR_RootConstrainSelectedInstOperands,
28657 /* 81261 */ // GIR_Coverage, 22480,
28658 /* 81261 */ GIR_EraseRootFromParent_Done,
28659 /* 81262 */ // Label 1763: @81262
28660 /* 81262 */ GIM_Try, /*On fail goto*//*Label 1764*/ GIMT_Encode4(81360), // Rule ID 22472 //
28661 /* 81267 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28662 /* 81270 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28663 /* 81277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28664 /* 81281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28665 /* 81285 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28666 /* 81289 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28667 /* 81293 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28668 /* 81297 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28669 /* 81301 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28670 /* 81304 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28671 /* 81308 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28672 /* 81315 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28673 /* 81319 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28674 /* 81324 */ // MIs[0] dst
28675 /* 81324 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28676 /* 81329 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28677 /* 81331 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28678 /* 81338 */ // (atomic_store (xor:{ *:[i64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (XOR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28679 /* 81338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28680 /* 81341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28681 /* 81345 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
28682 /* 81349 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28683 /* 81352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28684 /* 81358 */ GIR_RootConstrainSelectedInstOperands,
28685 /* 81359 */ // GIR_Coverage, 22472,
28686 /* 81359 */ GIR_EraseRootFromParent_Done,
28687 /* 81360 */ // Label 1764: @81360
28688 /* 81360 */ GIM_Try, /*On fail goto*//*Label 1765*/ GIMT_Encode4(81458), // Rule ID 26050 //
28689 /* 81365 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28690 /* 81368 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28691 /* 81375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28692 /* 81379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28693 /* 81383 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28694 /* 81387 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28695 /* 81391 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28696 /* 81396 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28697 /* 81400 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28698 /* 81404 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28699 /* 81407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28700 /* 81411 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28701 /* 81418 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28702 /* 81422 */ // MIs[0] dst
28703 /* 81422 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28704 /* 81427 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28705 /* 81429 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28706 /* 81436 */ // (atomic_store (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (XOR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28707 /* 81436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28708 /* 81439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28709 /* 81443 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28710 /* 81447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28711 /* 81450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28712 /* 81456 */ GIR_RootConstrainSelectedInstOperands,
28713 /* 81457 */ // GIR_Coverage, 26050,
28714 /* 81457 */ GIR_EraseRootFromParent_Done,
28715 /* 81458 */ // Label 1765: @81458
28716 /* 81458 */ GIM_Try, /*On fail goto*//*Label 1766*/ GIMT_Encode4(81569), // Rule ID 837 //
28717 /* 81463 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28718 /* 81466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28719 /* 81470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28720 /* 81474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
28721 /* 81478 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28722 /* 81482 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28723 /* 81486 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
28724 /* 81490 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28725 /* 81494 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28726 /* 81498 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28727 /* 81501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28728 /* 81505 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28729 /* 81509 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28730 /* 81514 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28731 /* 81519 */ // MIs[0] src1
28732 /* 81519 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28733 /* 81524 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28734 /* 81526 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28735 /* 81533 */ // (st (fshl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHLD64mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28736 /* 81533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28737 /* 81537 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28738 /* 81543 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
28739 /* 81547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL),
28740 /* 81550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28741 /* 81554 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28742 /* 81558 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28743 /* 81561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28744 /* 81567 */ GIR_RootConstrainSelectedInstOperands,
28745 /* 81568 */ // GIR_Coverage, 837,
28746 /* 81568 */ GIR_EraseRootFromParent_Done,
28747 /* 81569 */ // Label 1766: @81569
28748 /* 81569 */ GIM_Try, /*On fail goto*//*Label 1767*/ GIMT_Encode4(81680), // Rule ID 861 //
28749 /* 81574 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28750 /* 81577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28751 /* 81581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28752 /* 81585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
28753 /* 81589 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28754 /* 81593 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28755 /* 81597 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
28756 /* 81601 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28757 /* 81606 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28758 /* 81610 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28759 /* 81614 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28760 /* 81617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28761 /* 81621 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28762 /* 81625 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28763 /* 81630 */ // MIs[0] src1
28764 /* 81630 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28765 /* 81635 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28766 /* 81637 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28767 /* 81644 */ // (st (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHRD64mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28768 /* 81644 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28769 /* 81648 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28770 /* 81654 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
28771 /* 81658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL),
28772 /* 81661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28773 /* 81665 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28774 /* 81669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28775 /* 81672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28776 /* 81678 */ GIR_RootConstrainSelectedInstOperands,
28777 /* 81679 */ // GIR_Coverage, 861,
28778 /* 81679 */ GIR_EraseRootFromParent_Done,
28779 /* 81680 */ // Label 1767: @81680
28780 /* 81680 */ GIM_Try, /*On fail goto*//*Label 1768*/ GIMT_Encode4(81768), // Rule ID 410 //
28781 /* 81685 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28782 /* 81688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28783 /* 81692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28784 /* 81696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28785 /* 81700 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28786 /* 81704 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28787 /* 81708 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28788 /* 81712 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28789 /* 81716 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28790 /* 81719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28791 /* 81723 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28792 /* 81727 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28793 /* 81732 */ // MIs[0] src1
28794 /* 81732 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28795 /* 81737 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28796 /* 81739 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28797 /* 81746 */ // (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28798 /* 81746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28799 /* 81749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28800 /* 81753 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28801 /* 81757 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28802 /* 81760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28803 /* 81766 */ GIR_RootConstrainSelectedInstOperands,
28804 /* 81767 */ // GIR_Coverage, 410,
28805 /* 81767 */ GIR_EraseRootFromParent_Done,
28806 /* 81768 */ // Label 1768: @81768
28807 /* 81768 */ GIM_Try, /*On fail goto*//*Label 1769*/ GIMT_Encode4(81856), // Rule ID 23258 //
28808 /* 81773 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28809 /* 81776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28810 /* 81780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28811 /* 81784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28812 /* 81788 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28813 /* 81792 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28814 /* 81796 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28815 /* 81801 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28816 /* 81805 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28817 /* 81809 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28818 /* 81812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28819 /* 81816 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28820 /* 81820 */ // MIs[0] src1
28821 /* 81820 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28822 /* 81825 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28823 /* 81827 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28824 /* 81834 */ // (st (add:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ADD64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28825 /* 81834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28826 /* 81837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28827 /* 81841 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28828 /* 81845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28829 /* 81848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28830 /* 81854 */ GIR_RootConstrainSelectedInstOperands,
28831 /* 81855 */ // GIR_Coverage, 23258,
28832 /* 81855 */ GIR_EraseRootFromParent_Done,
28833 /* 81856 */ // Label 1769: @81856
28834 /* 81856 */ GIM_Try, /*On fail goto*//*Label 1770*/ GIMT_Encode4(81944), // Rule ID 302 //
28835 /* 81861 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28836 /* 81864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28837 /* 81868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28838 /* 81872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28839 /* 81876 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28840 /* 81880 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28841 /* 81884 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28842 /* 81888 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28843 /* 81892 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28844 /* 81895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28845 /* 81899 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28846 /* 81903 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28847 /* 81908 */ // MIs[0] src1
28848 /* 81908 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28849 /* 81913 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28850 /* 81915 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28851 /* 81922 */ // (st (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28852 /* 81922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28853 /* 81925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28854 /* 81929 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28855 /* 81933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28856 /* 81936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28857 /* 81942 */ GIR_RootConstrainSelectedInstOperands,
28858 /* 81943 */ // GIR_Coverage, 302,
28859 /* 81943 */ GIR_EraseRootFromParent_Done,
28860 /* 81944 */ // Label 1770: @81944
28861 /* 81944 */ GIM_Try, /*On fail goto*//*Label 1771*/ GIMT_Encode4(82032), // Rule ID 23222 //
28862 /* 81949 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28863 /* 81952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28864 /* 81956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28865 /* 81960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28866 /* 81964 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28867 /* 81968 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28868 /* 81972 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28869 /* 81977 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28870 /* 81981 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28871 /* 81985 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28872 /* 81988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28873 /* 81992 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28874 /* 81996 */ // MIs[0] src1
28875 /* 81996 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28876 /* 82001 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28877 /* 82003 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28878 /* 82010 */ // (st (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (AND64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28879 /* 82010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28880 /* 82013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28881 /* 82017 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28882 /* 82021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28883 /* 82024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28884 /* 82030 */ GIR_RootConstrainSelectedInstOperands,
28885 /* 82031 */ // GIR_Coverage, 23222,
28886 /* 82031 */ GIR_EraseRootFromParent_Done,
28887 /* 82032 */ // Label 1771: @82032
28888 /* 82032 */ GIM_Try, /*On fail goto*//*Label 1772*/ GIMT_Encode4(82133), // Rule ID 751 //
28889 /* 82037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28890 /* 82040 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28891 /* 82043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28892 /* 82047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28893 /* 82051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
28894 /* 82055 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28895 /* 82059 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28896 /* 82063 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28897 /* 82067 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28898 /* 82071 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28899 /* 82074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28900 /* 82078 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28901 /* 82082 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28902 /* 82087 */ // MIs[0] src1
28903 /* 82087 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28904 /* 82092 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28905 /* 82094 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28906 /* 82101 */ // (st (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SAR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
28907 /* 82101 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28908 /* 82105 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28909 /* 82111 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28910 /* 82115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL),
28911 /* 82118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28912 /* 82122 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28913 /* 82125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28914 /* 82131 */ GIR_RootConstrainSelectedInstOperands,
28915 /* 82132 */ // GIR_Coverage, 751,
28916 /* 82132 */ GIR_EraseRootFromParent_Done,
28917 /* 82133 */ // Label 1772: @82133
28918 /* 82133 */ GIM_Try, /*On fail goto*//*Label 1773*/ GIMT_Encode4(82234), // Rule ID 719 //
28919 /* 82138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28920 /* 82141 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28921 /* 82144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28922 /* 82148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28923 /* 82152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
28924 /* 82156 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28925 /* 82160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28926 /* 82164 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28927 /* 82168 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28928 /* 82172 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28929 /* 82175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28930 /* 82179 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28931 /* 82183 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28932 /* 82188 */ // MIs[0] src1
28933 /* 82188 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28934 /* 82193 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28935 /* 82195 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28936 /* 82202 */ // (st (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
28937 /* 82202 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28938 /* 82206 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28939 /* 82212 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28940 /* 82216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL),
28941 /* 82219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28942 /* 82223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28943 /* 82226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28944 /* 82232 */ GIR_RootConstrainSelectedInstOperands,
28945 /* 82233 */ // GIR_Coverage, 719,
28946 /* 82233 */ GIR_EraseRootFromParent_Done,
28947 /* 82234 */ // Label 1773: @82234
28948 /* 82234 */ GIM_Try, /*On fail goto*//*Label 1774*/ GIMT_Encode4(82322), // Rule ID 338 //
28949 /* 82239 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28950 /* 82242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28951 /* 82246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28952 /* 82250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28953 /* 82254 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28954 /* 82258 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28955 /* 82262 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28956 /* 82266 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28957 /* 82270 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28958 /* 82273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28959 /* 82277 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28960 /* 82281 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28961 /* 82286 */ // MIs[0] src1
28962 /* 82286 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28963 /* 82291 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28964 /* 82293 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28965 /* 82300 */ // (st (or:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28966 /* 82300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28967 /* 82303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28968 /* 82307 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28969 /* 82311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28970 /* 82314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28971 /* 82320 */ GIR_RootConstrainSelectedInstOperands,
28972 /* 82321 */ // GIR_Coverage, 338,
28973 /* 82321 */ GIR_EraseRootFromParent_Done,
28974 /* 82322 */ // Label 1774: @82322
28975 /* 82322 */ GIM_Try, /*On fail goto*//*Label 1775*/ GIMT_Encode4(82410), // Rule ID 23234 //
28976 /* 82327 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28977 /* 82330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28978 /* 82334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28979 /* 82338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28980 /* 82342 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28981 /* 82346 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28982 /* 82350 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28983 /* 82355 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28984 /* 82359 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28985 /* 82363 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28986 /* 82366 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28987 /* 82370 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28988 /* 82374 */ // MIs[0] src1
28989 /* 82374 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28990 /* 82379 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28991 /* 82381 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28992 /* 82388 */ // (st (or:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (OR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
28993 /* 82388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28994 /* 82391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28995 /* 82395 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28996 /* 82399 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28997 /* 82402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28998 /* 82408 */ GIR_RootConstrainSelectedInstOperands,
28999 /* 82409 */ // GIR_Coverage, 23234,
29000 /* 82409 */ GIR_EraseRootFromParent_Done,
29001 /* 82410 */ // Label 1775: @82410
29002 /* 82410 */ GIM_Try, /*On fail goto*//*Label 1776*/ GIMT_Encode4(82511), // Rule ID 783 //
29003 /* 82415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
29004 /* 82418 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29005 /* 82421 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29006 /* 82425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29007 /* 82429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
29008 /* 82433 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29009 /* 82437 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
29010 /* 82441 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
29011 /* 82445 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
29012 /* 82449 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29013 /* 82452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
29014 /* 82456 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
29015 /* 82460 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
29016 /* 82465 */ // MIs[0] src1
29017 /* 82465 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
29018 /* 82470 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
29019 /* 82472 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29020 /* 82479 */ // (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROL64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
29021 /* 82479 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
29022 /* 82483 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
29023 /* 82489 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
29024 /* 82493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL),
29025 /* 82496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
29026 /* 82500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29027 /* 82503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
29028 /* 82509 */ GIR_RootConstrainSelectedInstOperands,
29029 /* 82510 */ // GIR_Coverage, 783,
29030 /* 82510 */ GIR_EraseRootFromParent_Done,
29031 /* 82511 */ // Label 1776: @82511
29032 /* 82511 */ GIM_Try, /*On fail goto*//*Label 1777*/ GIMT_Encode4(82612), // Rule ID 815 //
29033 /* 82516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
29034 /* 82519 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29035 /* 82522 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29036 /* 82526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29037 /* 82530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
29038 /* 82534 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29039 /* 82538 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
29040 /* 82542 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
29041 /* 82546 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
29042 /* 82550 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29043 /* 82553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
29044 /* 82557 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
29045 /* 82561 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
29046 /* 82566 */ // MIs[0] src1
29047 /* 82566 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
29048 /* 82571 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
29049 /* 82573 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29050 /* 82580 */ // (st (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ROR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
29051 /* 82580 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
29052 /* 82584 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
29053 /* 82590 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
29054 /* 82594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL),
29055 /* 82597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
29056 /* 82601 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29057 /* 82604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
29058 /* 82610 */ GIR_RootConstrainSelectedInstOperands,
29059 /* 82611 */ // GIR_Coverage, 815,
29060 /* 82611 */ GIR_EraseRootFromParent_Done,
29061 /* 82612 */ // Label 1777: @82612
29062 /* 82612 */ GIM_Try, /*On fail goto*//*Label 1778*/ GIMT_Encode4(82713), // Rule ID 687 //
29063 /* 82617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
29064 /* 82620 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29065 /* 82623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29066 /* 82627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29067 /* 82631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
29068 /* 82635 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29069 /* 82639 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
29070 /* 82643 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
29071 /* 82647 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
29072 /* 82651 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29073 /* 82654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
29074 /* 82658 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
29075 /* 82662 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
29076 /* 82667 */ // MIs[0] src1
29077 /* 82667 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
29078 /* 82672 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
29079 /* 82674 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29080 /* 82681 */ // (st (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SHL64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
29081 /* 82681 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
29082 /* 82685 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
29083 /* 82691 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
29084 /* 82695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL),
29085 /* 82698 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
29086 /* 82702 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29087 /* 82705 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
29088 /* 82711 */ GIR_RootConstrainSelectedInstOperands,
29089 /* 82712 */ // GIR_Coverage, 687,
29090 /* 82712 */ GIR_EraseRootFromParent_Done,
29091 /* 82713 */ // Label 1778: @82713
29092 /* 82713 */ GIM_Try, /*On fail goto*//*Label 1779*/ GIMT_Encode4(82801), // Rule ID 446 //
29093 /* 82718 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29094 /* 82721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29095 /* 82725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29096 /* 82729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
29097 /* 82733 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29098 /* 82737 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29099 /* 82741 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
29100 /* 82745 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
29101 /* 82749 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29102 /* 82752 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
29103 /* 82756 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
29104 /* 82760 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29105 /* 82765 */ // MIs[0] src1
29106 /* 82765 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
29107 /* 82770 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
29108 /* 82772 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29109 /* 82779 */ // (st (sub:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (SUB64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
29110 /* 82779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
29111 /* 82782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
29112 /* 82786 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
29113 /* 82790 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29114 /* 82793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
29115 /* 82799 */ GIR_RootConstrainSelectedInstOperands,
29116 /* 82800 */ // GIR_Coverage, 446,
29117 /* 82800 */ GIR_EraseRootFromParent_Done,
29118 /* 82801 */ // Label 1779: @82801
29119 /* 82801 */ GIM_Try, /*On fail goto*//*Label 1780*/ GIMT_Encode4(82889), // Rule ID 374 //
29120 /* 82806 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29121 /* 82809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29122 /* 82813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29123 /* 82817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
29124 /* 82821 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29125 /* 82825 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29126 /* 82829 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
29127 /* 82833 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
29128 /* 82837 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29129 /* 82840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
29130 /* 82844 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
29131 /* 82848 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29132 /* 82853 */ // MIs[0] src1
29133 /* 82853 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
29134 /* 82858 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
29135 /* 82860 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29136 /* 82867 */ // (st (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
29137 /* 82867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
29138 /* 82870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
29139 /* 82874 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
29140 /* 82878 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29141 /* 82881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
29142 /* 82887 */ GIR_RootConstrainSelectedInstOperands,
29143 /* 82888 */ // GIR_Coverage, 374,
29144 /* 82888 */ GIR_EraseRootFromParent_Done,
29145 /* 82889 */ // Label 1780: @82889
29146 /* 82889 */ GIM_Try, /*On fail goto*//*Label 1781*/ GIMT_Encode4(82977), // Rule ID 23246 //
29147 /* 82894 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29148 /* 82897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29149 /* 82901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29150 /* 82905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
29151 /* 82909 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29152 /* 82913 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
29153 /* 82917 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29154 /* 82922 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
29155 /* 82926 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
29156 /* 82930 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29157 /* 82933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
29158 /* 82937 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
29159 /* 82941 */ // MIs[0] src1
29160 /* 82941 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
29161 /* 82946 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
29162 /* 82948 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29163 /* 82955 */ // (st (xor:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (XOR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
29164 /* 82955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
29165 /* 82958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
29166 /* 82962 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
29167 /* 82966 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
29168 /* 82969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
29169 /* 82975 */ GIR_RootConstrainSelectedInstOperands,
29170 /* 82976 */ // GIR_Coverage, 23246,
29171 /* 82976 */ GIR_EraseRootFromParent_Done,
29172 /* 82977 */ // Label 1781: @82977
29173 /* 82977 */ GIM_Try, /*On fail goto*//*Label 1782*/ GIMT_Encode4(83034), // Rule ID 22524 //
29174 /* 82982 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29175 /* 82985 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29176 /* 82992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29177 /* 82996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
29178 /* 83000 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
29179 /* 83004 */ // MIs[1] Operand 1
29180 /* 83004 */ // No operand predicates
29181 /* 83004 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29182 /* 83008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29183 /* 83010 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29184 /* 83017 */ // (atomic_store (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOV64mi32 addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src)
29185 /* 83017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mi32),
29186 /* 83020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29187 /* 83024 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
29188 /* 83027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
29189 /* 83032 */ GIR_RootConstrainSelectedInstOperands,
29190 /* 83033 */ // GIR_Coverage, 22524,
29191 /* 83033 */ GIR_EraseRootFromParent_Done,
29192 /* 83034 */ // Label 1782: @83034
29193 /* 83034 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(83100), // Rule ID 22542 //
29194 /* 83039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29195 /* 83042 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29196 /* 83045 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29197 /* 83052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29198 /* 83056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
29199 /* 83060 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29200 /* 83064 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
29201 /* 83069 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29202 /* 83073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29203 /* 83075 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29204 /* 83082 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
29205 /* 83082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
29206 /* 83085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29207 /* 83089 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
29208 /* 83093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
29209 /* 83098 */ GIR_RootConstrainSelectedInstOperands,
29210 /* 83099 */ // GIR_Coverage, 22542,
29211 /* 83099 */ GIR_EraseRootFromParent_Done,
29212 /* 83100 */ // Label 1783: @83100
29213 /* 83100 */ GIM_Try, /*On fail goto*//*Label 1784*/ GIMT_Encode4(83166), // Rule ID 22543 //
29214 /* 83105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
29215 /* 83108 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29216 /* 83111 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29217 /* 83118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29218 /* 83122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
29219 /* 83126 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29220 /* 83130 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
29221 /* 83135 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29222 /* 83139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29223 /* 83141 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29224 /* 83148 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
29225 /* 83148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
29226 /* 83151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29227 /* 83155 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
29228 /* 83159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
29229 /* 83164 */ GIR_RootConstrainSelectedInstOperands,
29230 /* 83165 */ // GIR_Coverage, 22543,
29231 /* 83165 */ GIR_EraseRootFromParent_Done,
29232 /* 83166 */ // Label 1784: @83166
29233 /* 83166 */ GIM_Try, /*On fail goto*//*Label 1785*/ GIMT_Encode4(83232), // Rule ID 22544 //
29234 /* 83171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29235 /* 83174 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29236 /* 83177 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29237 /* 83184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29238 /* 83188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
29239 /* 83192 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29240 /* 83196 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
29241 /* 83201 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29242 /* 83205 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29243 /* 83207 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29244 /* 83214 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
29245 /* 83214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
29246 /* 83217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29247 /* 83221 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
29248 /* 83225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
29249 /* 83230 */ GIR_RootConstrainSelectedInstOperands,
29250 /* 83231 */ // GIR_Coverage, 22544,
29251 /* 83231 */ GIR_EraseRootFromParent_Done,
29252 /* 83232 */ // Label 1785: @83232
29253 /* 83232 */ GIM_Try, /*On fail goto*//*Label 1786*/ GIMT_Encode4(83295), // Rule ID 54 //
29254 /* 83237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
29255 /* 83240 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29256 /* 83243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29257 /* 83247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29258 /* 83251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
29259 /* 83255 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29260 /* 83259 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29261 /* 83264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29262 /* 83268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29263 /* 83270 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29264 /* 83277 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
29265 /* 83277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr),
29266 /* 83280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29267 /* 83284 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
29268 /* 83288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
29269 /* 83293 */ GIR_RootConstrainSelectedInstOperands,
29270 /* 83294 */ // GIR_Coverage, 54,
29271 /* 83294 */ GIR_EraseRootFromParent_Done,
29272 /* 83295 */ // Label 1786: @83295
29273 /* 83295 */ GIM_Try, /*On fail goto*//*Label 1787*/ GIMT_Encode4(83358), // Rule ID 60 //
29274 /* 83300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
29275 /* 83303 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29276 /* 83306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29277 /* 83310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
29278 /* 83314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
29279 /* 83318 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
29280 /* 83322 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29281 /* 83327 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29282 /* 83331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
29283 /* 83333 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29284 /* 83340 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
29285 /* 83340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr_EVEX),
29286 /* 83343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29287 /* 83347 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
29288 /* 83351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
29289 /* 83356 */ GIR_RootConstrainSelectedInstOperands,
29290 /* 83357 */ // GIR_Coverage, 60,
29291 /* 83357 */ GIR_EraseRootFromParent_Done,
29292 /* 83358 */ // Label 1787: @83358
29293 /* 83358 */ GIM_Try, /*On fail goto*//*Label 1788*/ GIMT_Encode4(83403), // Rule ID 22528 //
29294 /* 83363 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
29295 /* 83366 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29296 /* 83373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29297 /* 83377 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29298 /* 83381 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29299 /* 83388 */ // (atomic_store GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
29300 /* 83388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
29301 /* 83391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29302 /* 83395 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29303 /* 83397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29304 /* 83401 */ GIR_RootConstrainSelectedInstOperands,
29305 /* 83402 */ // GIR_Coverage, 22528,
29306 /* 83402 */ GIR_EraseRootFromParent_Done,
29307 /* 83403 */ // Label 1788: @83403
29308 /* 83403 */ GIM_Try, /*On fail goto*//*Label 1789*/ GIMT_Encode4(83445), // Rule ID 35 //
29309 /* 83408 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29310 /* 83411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29311 /* 83415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
29312 /* 83419 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29313 /* 83423 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29314 /* 83430 */ // (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
29315 /* 83430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
29316 /* 83433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29317 /* 83437 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29318 /* 83439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29319 /* 83443 */ GIR_RootConstrainSelectedInstOperands,
29320 /* 83444 */ // GIR_Coverage, 35,
29321 /* 83444 */ GIR_EraseRootFromParent_Done,
29322 /* 83445 */ // Label 1789: @83445
29323 /* 83445 */ GIM_Try, /*On fail goto*//*Label 1790*/ GIMT_Encode4(83500), // Rule ID 1095 //
29324 /* 83450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
29325 /* 83453 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29326 /* 83456 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29327 /* 83460 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29328 /* 83467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
29329 /* 83471 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29330 /* 83475 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29331 /* 83482 */ // (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstoref32>> => (ST_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
29332 /* 83482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m32),
29333 /* 83485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29334 /* 83489 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29335 /* 83491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29336 /* 83494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29337 /* 83498 */ GIR_RootConstrainSelectedInstOperands,
29338 /* 83499 */ // GIR_Coverage, 1095,
29339 /* 83499 */ GIR_EraseRootFromParent_Done,
29340 /* 83500 */ // Label 1790: @83500
29341 /* 83500 */ GIM_Try, /*On fail goto*//*Label 1791*/ GIMT_Encode4(83548), // Rule ID 1096 //
29342 /* 83505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
29343 /* 83508 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29344 /* 83511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29345 /* 83515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
29346 /* 83519 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29347 /* 83523 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29348 /* 83530 */ // (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp64m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
29349 /* 83530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m),
29350 /* 83533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29351 /* 83537 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29352 /* 83539 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29353 /* 83542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29354 /* 83546 */ GIR_RootConstrainSelectedInstOperands,
29355 /* 83547 */ // GIR_Coverage, 1096,
29356 /* 83547 */ GIR_EraseRootFromParent_Done,
29357 /* 83548 */ // Label 1791: @83548
29358 /* 83548 */ GIM_Try, /*On fail goto*//*Label 1792*/ GIMT_Encode4(83593), // Rule ID 1691 //
29359 /* 83553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
29360 /* 83556 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29361 /* 83559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29362 /* 83563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
29363 /* 83567 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29364 /* 83571 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29365 /* 83578 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
29366 /* 83578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
29367 /* 83581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29368 /* 83585 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29369 /* 83587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29370 /* 83591 */ GIR_RootConstrainSelectedInstOperands,
29371 /* 83592 */ // GIR_Coverage, 1691,
29372 /* 83592 */ GIR_EraseRootFromParent_Done,
29373 /* 83593 */ // Label 1792: @83593
29374 /* 83593 */ GIM_Try, /*On fail goto*//*Label 1793*/ GIMT_Encode4(83638), // Rule ID 1693 //
29375 /* 83598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29376 /* 83601 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29377 /* 83604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29378 /* 83608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
29379 /* 83612 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29380 /* 83616 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29381 /* 83623 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
29382 /* 83623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
29383 /* 83626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29384 /* 83630 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29385 /* 83632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29386 /* 83636 */ GIR_RootConstrainSelectedInstOperands,
29387 /* 83637 */ // GIR_Coverage, 1693,
29388 /* 83637 */ GIR_EraseRootFromParent_Done,
29389 /* 83638 */ // Label 1793: @83638
29390 /* 83638 */ GIM_Try, /*On fail goto*//*Label 1794*/ GIMT_Encode4(83683), // Rule ID 4619 //
29391 /* 83643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29392 /* 83646 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29393 /* 83649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29394 /* 83653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
29395 /* 83657 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29396 /* 83661 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29397 /* 83668 */ // (st FR64X:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDZmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
29398 /* 83668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZmr),
29399 /* 83671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29400 /* 83675 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29401 /* 83677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29402 /* 83681 */ GIR_RootConstrainSelectedInstOperands,
29403 /* 83682 */ // GIR_Coverage, 4619,
29404 /* 83682 */ GIR_EraseRootFromParent_Done,
29405 /* 83683 */ // Label 1794: @83683
29406 /* 83683 */ GIM_Reject,
29407 /* 83684 */ // Label 1536: @83684
29408 /* 83684 */ GIM_Try, /*On fail goto*//*Label 1795*/ GIMT_Encode4(83842),
29409 /* 83689 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29410 /* 83692 */ GIM_Try, /*On fail goto*//*Label 1796*/ GIMT_Encode4(83744), // Rule ID 1097 //
29411 /* 83697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
29412 /* 83700 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29413 /* 83704 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
29414 /* 83711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
29415 /* 83715 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29416 /* 83719 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29417 /* 83726 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstoref32>> => (ST_Fp80m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
29418 /* 83726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m32),
29419 /* 83729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29420 /* 83733 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29421 /* 83735 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29422 /* 83738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29423 /* 83742 */ GIR_RootConstrainSelectedInstOperands,
29424 /* 83743 */ // GIR_Coverage, 1097,
29425 /* 83743 */ GIR_EraseRootFromParent_Done,
29426 /* 83744 */ // Label 1796: @83744
29427 /* 83744 */ GIM_Try, /*On fail goto*//*Label 1797*/ GIMT_Encode4(83796), // Rule ID 1098 //
29428 /* 83749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
29429 /* 83752 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29430 /* 83756 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
29431 /* 83763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
29432 /* 83767 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29433 /* 83771 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29434 /* 83778 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstoref64>> => (ST_Fp80m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
29435 /* 83778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m64),
29436 /* 83781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29437 /* 83785 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29438 /* 83787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29439 /* 83790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29440 /* 83794 */ GIR_RootConstrainSelectedInstOperands,
29441 /* 83795 */ // GIR_Coverage, 1098,
29442 /* 83795 */ GIR_EraseRootFromParent_Done,
29443 /* 83796 */ // Label 1797: @83796
29444 /* 83796 */ GIM_Try, /*On fail goto*//*Label 1798*/ GIMT_Encode4(83841), // Rule ID 1099 //
29445 /* 83801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
29446 /* 83804 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29447 /* 83808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
29448 /* 83812 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29449 /* 83816 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29450 /* 83823 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_FpP80m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
29451 /* 83823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_FpP80m),
29452 /* 83826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
29453 /* 83830 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29454 /* 83832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
29455 /* 83835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29456 /* 83839 */ GIR_RootConstrainSelectedInstOperands,
29457 /* 83840 */ // GIR_Coverage, 1099,
29458 /* 83840 */ GIR_EraseRootFromParent_Done,
29459 /* 83841 */ // Label 1798: @83841
29460 /* 83841 */ GIM_Reject,
29461 /* 83842 */ // Label 1795: @83842
29462 /* 83842 */ GIM_Reject,
29463 /* 83843 */ // Label 1537: @83843
29464 /* 83843 */ GIM_Try, /*On fail goto*//*Label 1799*/ GIMT_Encode4(84096),
29465 /* 83848 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29466 /* 83851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29467 /* 83855 */ GIM_Try, /*On fail goto*//*Label 1800*/ GIMT_Encode4(83897), // Rule ID 23175 //
29468 /* 83860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
29469 /* 83863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29470 /* 83867 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29471 /* 83871 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29472 /* 83875 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29473 /* 83882 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
29474 /* 83882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29475 /* 83885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29476 /* 83889 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29477 /* 83891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29478 /* 83895 */ GIR_RootConstrainSelectedInstOperands,
29479 /* 83896 */ // GIR_Coverage, 23175,
29480 /* 83896 */ GIR_EraseRootFromParent_Done,
29481 /* 83897 */ // Label 1800: @83897
29482 /* 83897 */ GIM_Try, /*On fail goto*//*Label 1801*/ GIMT_Encode4(83935), // Rule ID 23176 //
29483 /* 83902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
29484 /* 83905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29485 /* 83909 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29486 /* 83913 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29487 /* 83920 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
29488 /* 83920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29489 /* 83923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29490 /* 83927 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29491 /* 83929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29492 /* 83933 */ GIR_RootConstrainSelectedInstOperands,
29493 /* 83934 */ // GIR_Coverage, 23176,
29494 /* 83934 */ GIR_EraseRootFromParent_Done,
29495 /* 83935 */ // Label 1801: @83935
29496 /* 83935 */ GIM_Try, /*On fail goto*//*Label 1802*/ GIMT_Encode4(83977), // Rule ID 23179 //
29497 /* 83940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29498 /* 83943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29499 /* 83947 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29500 /* 83951 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29501 /* 83955 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29502 /* 83962 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
29503 /* 83962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
29504 /* 83965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29505 /* 83969 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29506 /* 83971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29507 /* 83975 */ GIR_RootConstrainSelectedInstOperands,
29508 /* 83976 */ // GIR_Coverage, 23179,
29509 /* 83976 */ GIR_EraseRootFromParent_Done,
29510 /* 83977 */ // Label 1802: @83977
29511 /* 83977 */ GIM_Try, /*On fail goto*//*Label 1803*/ GIMT_Encode4(84015), // Rule ID 23180 //
29512 /* 83982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29513 /* 83985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29514 /* 83989 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29515 /* 83993 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29516 /* 84000 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
29517 /* 84000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
29518 /* 84003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29519 /* 84007 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29520 /* 84009 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29521 /* 84013 */ GIR_RootConstrainSelectedInstOperands,
29522 /* 84014 */ // GIR_Coverage, 23180,
29523 /* 84014 */ GIR_EraseRootFromParent_Done,
29524 /* 84015 */ // Label 1803: @84015
29525 /* 84015 */ GIM_Try, /*On fail goto*//*Label 1804*/ GIMT_Encode4(84057), // Rule ID 23183 //
29526 /* 84020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29527 /* 84023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29528 /* 84027 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29529 /* 84031 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29530 /* 84035 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29531 /* 84042 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
29532 /* 84042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
29533 /* 84045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29534 /* 84049 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29535 /* 84051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29536 /* 84055 */ GIR_RootConstrainSelectedInstOperands,
29537 /* 84056 */ // GIR_Coverage, 23183,
29538 /* 84056 */ GIR_EraseRootFromParent_Done,
29539 /* 84057 */ // Label 1804: @84057
29540 /* 84057 */ GIM_Try, /*On fail goto*//*Label 1805*/ GIMT_Encode4(84095), // Rule ID 23184 //
29541 /* 84062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29542 /* 84065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29543 /* 84069 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29544 /* 84073 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29545 /* 84080 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
29546 /* 84080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
29547 /* 84083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29548 /* 84087 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29549 /* 84089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29550 /* 84093 */ GIR_RootConstrainSelectedInstOperands,
29551 /* 84094 */ // GIR_Coverage, 23184,
29552 /* 84094 */ GIR_EraseRootFromParent_Done,
29553 /* 84095 */ // Label 1805: @84095
29554 /* 84095 */ GIM_Reject,
29555 /* 84096 */ // Label 1799: @84096
29556 /* 84096 */ GIM_Reject,
29557 /* 84097 */ // Label 1538: @84097
29558 /* 84097 */ GIM_Try, /*On fail goto*//*Label 1806*/ GIMT_Encode4(84590),
29559 /* 84102 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29560 /* 84105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29561 /* 84109 */ GIM_Try, /*On fail goto*//*Label 1807*/ GIMT_Encode4(84151), // Rule ID 1715 //
29562 /* 84114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29563 /* 84117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29564 /* 84121 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29565 /* 84125 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29566 /* 84129 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29567 /* 84136 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29568 /* 84136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
29569 /* 84139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29570 /* 84143 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29571 /* 84145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29572 /* 84149 */ GIR_RootConstrainSelectedInstOperands,
29573 /* 84150 */ // GIR_Coverage, 1715,
29574 /* 84150 */ GIR_EraseRootFromParent_Done,
29575 /* 84151 */ // Label 1807: @84151
29576 /* 84151 */ GIM_Try, /*On fail goto*//*Label 1808*/ GIMT_Encode4(84189), // Rule ID 1717 //
29577 /* 84156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29578 /* 84159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29579 /* 84163 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29580 /* 84167 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29581 /* 84174 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29582 /* 84174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDmr),
29583 /* 84177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29584 /* 84181 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29585 /* 84183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29586 /* 84187 */ GIR_RootConstrainSelectedInstOperands,
29587 /* 84188 */ // GIR_Coverage, 1717,
29588 /* 84188 */ GIR_EraseRootFromParent_Done,
29589 /* 84189 */ // Label 1808: @84189
29590 /* 84189 */ GIM_Try, /*On fail goto*//*Label 1809*/ GIMT_Encode4(84231), // Rule ID 1723 //
29591 /* 84194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29592 /* 84197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29593 /* 84201 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29594 /* 84205 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29595 /* 84209 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29596 /* 84216 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29597 /* 84216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
29598 /* 84219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29599 /* 84223 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29600 /* 84225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29601 /* 84229 */ GIR_RootConstrainSelectedInstOperands,
29602 /* 84230 */ // GIR_Coverage, 1723,
29603 /* 84230 */ GIR_EraseRootFromParent_Done,
29604 /* 84231 */ // Label 1809: @84231
29605 /* 84231 */ GIM_Try, /*On fail goto*//*Label 1810*/ GIMT_Encode4(84269), // Rule ID 1725 //
29606 /* 84236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29607 /* 84239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29608 /* 84243 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29609 /* 84247 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29610 /* 84254 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29611 /* 84254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDmr),
29612 /* 84257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29613 /* 84261 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29614 /* 84263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29615 /* 84267 */ GIR_RootConstrainSelectedInstOperands,
29616 /* 84268 */ // GIR_Coverage, 1725,
29617 /* 84268 */ GIR_EraseRootFromParent_Done,
29618 /* 84269 */ // Label 1810: @84269
29619 /* 84269 */ GIM_Try, /*On fail goto*//*Label 1811*/ GIMT_Encode4(84311), // Rule ID 2519 //
29620 /* 84274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29621 /* 84277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29622 /* 84281 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29623 /* 84285 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29624 /* 84289 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29625 /* 84296 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29626 /* 84296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29627 /* 84299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29628 /* 84303 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29629 /* 84305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29630 /* 84309 */ GIR_RootConstrainSelectedInstOperands,
29631 /* 84310 */ // GIR_Coverage, 2519,
29632 /* 84310 */ GIR_EraseRootFromParent_Done,
29633 /* 84311 */ // Label 1811: @84311
29634 /* 84311 */ GIM_Try, /*On fail goto*//*Label 1812*/ GIMT_Encode4(84349), // Rule ID 2520 //
29635 /* 84316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29636 /* 84319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29637 /* 84323 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29638 /* 84327 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29639 /* 84334 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29640 /* 84334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29641 /* 84337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29642 /* 84341 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29643 /* 84343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29644 /* 84347 */ GIR_RootConstrainSelectedInstOperands,
29645 /* 84348 */ // GIR_Coverage, 2520,
29646 /* 84348 */ GIR_EraseRootFromParent_Done,
29647 /* 84349 */ // Label 1812: @84349
29648 /* 84349 */ GIM_Try, /*On fail goto*//*Label 1813*/ GIMT_Encode4(84391), // Rule ID 4499 //
29649 /* 84354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29650 /* 84357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29651 /* 84361 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29652 /* 84365 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29653 /* 84369 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29654 /* 84376 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29655 /* 84376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
29656 /* 84379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29657 /* 84383 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29658 /* 84385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29659 /* 84389 */ GIR_RootConstrainSelectedInstOperands,
29660 /* 84390 */ // GIR_Coverage, 4499,
29661 /* 84390 */ GIR_EraseRootFromParent_Done,
29662 /* 84391 */ // Label 1813: @84391
29663 /* 84391 */ GIM_Try, /*On fail goto*//*Label 1814*/ GIMT_Encode4(84429), // Rule ID 4523 //
29664 /* 84396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29665 /* 84399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29666 /* 84403 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29667 /* 84407 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29668 /* 84414 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29669 /* 84414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128mr),
29670 /* 84417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29671 /* 84421 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29672 /* 84423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29673 /* 84427 */ GIR_RootConstrainSelectedInstOperands,
29674 /* 84428 */ // GIR_Coverage, 4523,
29675 /* 84428 */ GIR_EraseRootFromParent_Done,
29676 /* 84429 */ // Label 1814: @84429
29677 /* 84429 */ GIM_Try, /*On fail goto*//*Label 1815*/ GIMT_Encode4(84471), // Rule ID 4553 //
29678 /* 84434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29679 /* 84437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29680 /* 84441 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29681 /* 84445 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29682 /* 84449 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29683 /* 84456 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29684 /* 84456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29685 /* 84459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29686 /* 84463 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29687 /* 84465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29688 /* 84469 */ GIR_RootConstrainSelectedInstOperands,
29689 /* 84470 */ // GIR_Coverage, 4553,
29690 /* 84470 */ GIR_EraseRootFromParent_Done,
29691 /* 84471 */ // Label 1815: @84471
29692 /* 84471 */ GIM_Try, /*On fail goto*//*Label 1816*/ GIMT_Encode4(84509), // Rule ID 4595 //
29693 /* 84476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29694 /* 84479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29695 /* 84483 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29696 /* 84487 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29697 /* 84494 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29698 /* 84494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29699 /* 84497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29700 /* 84501 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29701 /* 84503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29702 /* 84507 */ GIR_RootConstrainSelectedInstOperands,
29703 /* 84508 */ // GIR_Coverage, 4595,
29704 /* 84508 */ GIR_EraseRootFromParent_Done,
29705 /* 84509 */ // Label 1816: @84509
29706 /* 84509 */ GIM_Try, /*On fail goto*//*Label 1817*/ GIMT_Encode4(84551), // Rule ID 17936 //
29707 /* 84514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29708 /* 84517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29709 /* 84521 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29710 /* 84525 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29711 /* 84529 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29712 /* 84536 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29713 /* 84536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29714 /* 84539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29715 /* 84543 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29716 /* 84545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29717 /* 84549 */ GIR_RootConstrainSelectedInstOperands,
29718 /* 84550 */ // GIR_Coverage, 17936,
29719 /* 84550 */ GIR_EraseRootFromParent_Done,
29720 /* 84551 */ // Label 1817: @84551
29721 /* 84551 */ GIM_Try, /*On fail goto*//*Label 1818*/ GIMT_Encode4(84589), // Rule ID 17940 //
29722 /* 84556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29723 /* 84559 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29724 /* 84563 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29725 /* 84567 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29726 /* 84574 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29727 /* 84574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29728 /* 84577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29729 /* 84581 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29730 /* 84583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29731 /* 84587 */ GIR_RootConstrainSelectedInstOperands,
29732 /* 84588 */ // GIR_Coverage, 17940,
29733 /* 84588 */ GIR_EraseRootFromParent_Done,
29734 /* 84589 */ // Label 1818: @84589
29735 /* 84589 */ GIM_Reject,
29736 /* 84590 */ // Label 1806: @84590
29737 /* 84590 */ GIM_Reject,
29738 /* 84591 */ // Label 1539: @84591
29739 /* 84591 */ GIM_Try, /*On fail goto*//*Label 1819*/ GIMT_Encode4(85084),
29740 /* 84596 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29741 /* 84599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29742 /* 84603 */ GIM_Try, /*On fail goto*//*Label 1820*/ GIMT_Encode4(84645), // Rule ID 1714 //
29743 /* 84608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29744 /* 84611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29745 /* 84615 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29746 /* 84619 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29747 /* 84623 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29748 /* 84630 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29749 /* 84630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
29750 /* 84633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29751 /* 84637 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29752 /* 84639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29753 /* 84643 */ GIR_RootConstrainSelectedInstOperands,
29754 /* 84644 */ // GIR_Coverage, 1714,
29755 /* 84644 */ GIR_EraseRootFromParent_Done,
29756 /* 84645 */ // Label 1820: @84645
29757 /* 84645 */ GIM_Try, /*On fail goto*//*Label 1821*/ GIMT_Encode4(84683), // Rule ID 1716 //
29758 /* 84650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29759 /* 84653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29760 /* 84657 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29761 /* 84661 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29762 /* 84668 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29763 /* 84668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
29764 /* 84671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29765 /* 84675 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29766 /* 84677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29767 /* 84681 */ GIR_RootConstrainSelectedInstOperands,
29768 /* 84682 */ // GIR_Coverage, 1716,
29769 /* 84682 */ GIR_EraseRootFromParent_Done,
29770 /* 84683 */ // Label 1821: @84683
29771 /* 84683 */ GIM_Try, /*On fail goto*//*Label 1822*/ GIMT_Encode4(84725), // Rule ID 1722 //
29772 /* 84688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29773 /* 84691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29774 /* 84695 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29775 /* 84699 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29776 /* 84703 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29777 /* 84710 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29778 /* 84710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29779 /* 84713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29780 /* 84717 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29781 /* 84719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29782 /* 84723 */ GIR_RootConstrainSelectedInstOperands,
29783 /* 84724 */ // GIR_Coverage, 1722,
29784 /* 84724 */ GIR_EraseRootFromParent_Done,
29785 /* 84725 */ // Label 1822: @84725
29786 /* 84725 */ GIM_Try, /*On fail goto*//*Label 1823*/ GIMT_Encode4(84763), // Rule ID 1724 //
29787 /* 84730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29788 /* 84733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29789 /* 84737 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29790 /* 84741 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29791 /* 84748 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29792 /* 84748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29793 /* 84751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29794 /* 84755 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29795 /* 84757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29796 /* 84761 */ GIR_RootConstrainSelectedInstOperands,
29797 /* 84762 */ // GIR_Coverage, 1724,
29798 /* 84762 */ GIR_EraseRootFromParent_Done,
29799 /* 84763 */ // Label 1823: @84763
29800 /* 84763 */ GIM_Try, /*On fail goto*//*Label 1824*/ GIMT_Encode4(84805), // Rule ID 4481 //
29801 /* 84768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29802 /* 84771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29803 /* 84775 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29804 /* 84779 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29805 /* 84783 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29806 /* 84790 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
29807 /* 84790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
29808 /* 84793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29809 /* 84797 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29810 /* 84799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29811 /* 84803 */ GIR_RootConstrainSelectedInstOperands,
29812 /* 84804 */ // GIR_Coverage, 4481,
29813 /* 84804 */ GIR_EraseRootFromParent_Done,
29814 /* 84805 */ // Label 1824: @84805
29815 /* 84805 */ GIM_Try, /*On fail goto*//*Label 1825*/ GIMT_Encode4(84843), // Rule ID 4511 //
29816 /* 84810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29817 /* 84813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29818 /* 84817 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29819 /* 84821 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29820 /* 84828 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
29821 /* 84828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
29822 /* 84831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29823 /* 84835 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29824 /* 84837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29825 /* 84841 */ GIR_RootConstrainSelectedInstOperands,
29826 /* 84842 */ // GIR_Coverage, 4511,
29827 /* 84842 */ GIR_EraseRootFromParent_Done,
29828 /* 84843 */ // Label 1825: @84843
29829 /* 84843 */ GIM_Try, /*On fail goto*//*Label 1826*/ GIMT_Encode4(84885), // Rule ID 17937 //
29830 /* 84848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29831 /* 84851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29832 /* 84855 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29833 /* 84859 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29834 /* 84863 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29835 /* 84870 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29836 /* 84870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29837 /* 84873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29838 /* 84877 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29839 /* 84879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29840 /* 84883 */ GIR_RootConstrainSelectedInstOperands,
29841 /* 84884 */ // GIR_Coverage, 17937,
29842 /* 84884 */ GIR_EraseRootFromParent_Done,
29843 /* 84885 */ // Label 1826: @84885
29844 /* 84885 */ GIM_Try, /*On fail goto*//*Label 1827*/ GIMT_Encode4(84923), // Rule ID 17941 //
29845 /* 84890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29846 /* 84893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29847 /* 84897 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29848 /* 84901 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29849 /* 84908 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29850 /* 84908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29851 /* 84911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29852 /* 84915 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29853 /* 84917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29854 /* 84921 */ GIR_RootConstrainSelectedInstOperands,
29855 /* 84922 */ // GIR_Coverage, 17941,
29856 /* 84922 */ GIR_EraseRootFromParent_Done,
29857 /* 84923 */ // Label 1827: @84923
29858 /* 84923 */ GIM_Try, /*On fail goto*//*Label 1828*/ GIMT_Encode4(84965), // Rule ID 18316 //
29859 /* 84928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29860 /* 84931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29861 /* 84935 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29862 /* 84939 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29863 /* 84943 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29864 /* 84950 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29865 /* 84950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29866 /* 84953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29867 /* 84957 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29868 /* 84959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29869 /* 84963 */ GIR_RootConstrainSelectedInstOperands,
29870 /* 84964 */ // GIR_Coverage, 18316,
29871 /* 84964 */ GIR_EraseRootFromParent_Done,
29872 /* 84965 */ // Label 1828: @84965
29873 /* 84965 */ GIM_Try, /*On fail goto*//*Label 1829*/ GIMT_Encode4(85003), // Rule ID 18320 //
29874 /* 84970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29875 /* 84973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29876 /* 84977 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29877 /* 84981 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29878 /* 84988 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29879 /* 84988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29880 /* 84991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29881 /* 84995 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29882 /* 84997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29883 /* 85001 */ GIR_RootConstrainSelectedInstOperands,
29884 /* 85002 */ // GIR_Coverage, 18320,
29885 /* 85002 */ GIR_EraseRootFromParent_Done,
29886 /* 85003 */ // Label 1829: @85003
29887 /* 85003 */ GIM_Try, /*On fail goto*//*Label 1830*/ GIMT_Encode4(85045), // Rule ID 19828 //
29888 /* 85008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29889 /* 85011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29890 /* 85015 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29891 /* 85019 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29892 /* 85023 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29893 /* 85030 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
29894 /* 85030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29895 /* 85033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29896 /* 85037 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29897 /* 85039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29898 /* 85043 */ GIR_RootConstrainSelectedInstOperands,
29899 /* 85044 */ // GIR_Coverage, 19828,
29900 /* 85044 */ GIR_EraseRootFromParent_Done,
29901 /* 85045 */ // Label 1830: @85045
29902 /* 85045 */ GIM_Try, /*On fail goto*//*Label 1831*/ GIMT_Encode4(85083), // Rule ID 19832 //
29903 /* 85050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29904 /* 85053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29905 /* 85057 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29906 /* 85061 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29907 /* 85068 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
29908 /* 85068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29909 /* 85071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29910 /* 85075 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29911 /* 85077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29912 /* 85081 */ GIR_RootConstrainSelectedInstOperands,
29913 /* 85082 */ // GIR_Coverage, 19832,
29914 /* 85082 */ GIR_EraseRootFromParent_Done,
29915 /* 85083 */ // Label 1831: @85083
29916 /* 85083 */ GIM_Reject,
29917 /* 85084 */ // Label 1819: @85084
29918 /* 85084 */ GIM_Reject,
29919 /* 85085 */ // Label 1540: @85085
29920 /* 85085 */ GIM_Try, /*On fail goto*//*Label 1832*/ GIMT_Encode4(85418),
29921 /* 85090 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29922 /* 85093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29923 /* 85097 */ GIM_Try, /*On fail goto*//*Label 1833*/ GIMT_Encode4(85139), // Rule ID 1719 //
29924 /* 85102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29925 /* 85105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29926 /* 85109 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29927 /* 85113 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29928 /* 85117 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29929 /* 85124 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29930 /* 85124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
29931 /* 85127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29932 /* 85131 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29933 /* 85133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29934 /* 85137 */ GIR_RootConstrainSelectedInstOperands,
29935 /* 85138 */ // GIR_Coverage, 1719,
29936 /* 85138 */ GIR_EraseRootFromParent_Done,
29937 /* 85139 */ // Label 1833: @85139
29938 /* 85139 */ GIM_Try, /*On fail goto*//*Label 1834*/ GIMT_Encode4(85177), // Rule ID 1721 //
29939 /* 85144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29940 /* 85147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29941 /* 85151 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29942 /* 85155 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29943 /* 85162 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
29944 /* 85162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYmr),
29945 /* 85165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29946 /* 85169 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29947 /* 85171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29948 /* 85175 */ GIR_RootConstrainSelectedInstOperands,
29949 /* 85176 */ // GIR_Coverage, 1721,
29950 /* 85176 */ GIR_EraseRootFromParent_Done,
29951 /* 85177 */ // Label 1834: @85177
29952 /* 85177 */ GIM_Try, /*On fail goto*//*Label 1835*/ GIMT_Encode4(85219), // Rule ID 4498 //
29953 /* 85182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29954 /* 85185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29955 /* 85189 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29956 /* 85193 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29957 /* 85197 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29958 /* 85204 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29959 /* 85204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
29960 /* 85207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29961 /* 85211 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29962 /* 85213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29963 /* 85217 */ GIR_RootConstrainSelectedInstOperands,
29964 /* 85218 */ // GIR_Coverage, 4498,
29965 /* 85218 */ GIR_EraseRootFromParent_Done,
29966 /* 85219 */ // Label 1835: @85219
29967 /* 85219 */ GIM_Try, /*On fail goto*//*Label 1836*/ GIMT_Encode4(85257), // Rule ID 4522 //
29968 /* 85224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29969 /* 85227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29970 /* 85231 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29971 /* 85235 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29972 /* 85242 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
29973 /* 85242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256mr),
29974 /* 85245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29975 /* 85249 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29976 /* 85251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29977 /* 85255 */ GIR_RootConstrainSelectedInstOperands,
29978 /* 85256 */ // GIR_Coverage, 4522,
29979 /* 85256 */ GIR_EraseRootFromParent_Done,
29980 /* 85257 */ // Label 1836: @85257
29981 /* 85257 */ GIM_Try, /*On fail goto*//*Label 1837*/ GIMT_Encode4(85299), // Rule ID 4552 //
29982 /* 85262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29983 /* 85265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29984 /* 85269 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29985 /* 85273 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29986 /* 85277 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29987 /* 85284 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
29988 /* 85284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29989 /* 85287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29990 /* 85291 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29991 /* 85293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29992 /* 85297 */ GIR_RootConstrainSelectedInstOperands,
29993 /* 85298 */ // GIR_Coverage, 4552,
29994 /* 85298 */ GIR_EraseRootFromParent_Done,
29995 /* 85299 */ // Label 1837: @85299
29996 /* 85299 */ GIM_Try, /*On fail goto*//*Label 1838*/ GIMT_Encode4(85337), // Rule ID 4594 //
29997 /* 85304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29998 /* 85307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29999 /* 85311 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30000 /* 85315 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30001 /* 85322 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
30002 /* 85322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
30003 /* 85325 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30004 /* 85329 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30005 /* 85331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30006 /* 85335 */ GIR_RootConstrainSelectedInstOperands,
30007 /* 85336 */ // GIR_Coverage, 4594,
30008 /* 85336 */ GIR_EraseRootFromParent_Done,
30009 /* 85337 */ // Label 1838: @85337
30010 /* 85337 */ GIM_Try, /*On fail goto*//*Label 1839*/ GIMT_Encode4(85379), // Rule ID 17912 //
30011 /* 85342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30012 /* 85345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30013 /* 85349 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30014 /* 85353 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30015 /* 85357 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30016 /* 85364 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
30017 /* 85364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30018 /* 85367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30019 /* 85371 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30020 /* 85373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30021 /* 85377 */ GIR_RootConstrainSelectedInstOperands,
30022 /* 85378 */ // GIR_Coverage, 17912,
30023 /* 85378 */ GIR_EraseRootFromParent_Done,
30024 /* 85379 */ // Label 1839: @85379
30025 /* 85379 */ GIM_Try, /*On fail goto*//*Label 1840*/ GIMT_Encode4(85417), // Rule ID 17916 //
30026 /* 85384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30027 /* 85387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30028 /* 85391 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30029 /* 85395 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30030 /* 85402 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
30031 /* 85402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30032 /* 85405 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30033 /* 85409 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30034 /* 85411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30035 /* 85415 */ GIR_RootConstrainSelectedInstOperands,
30036 /* 85416 */ // GIR_Coverage, 17916,
30037 /* 85416 */ GIR_EraseRootFromParent_Done,
30038 /* 85417 */ // Label 1840: @85417
30039 /* 85417 */ GIM_Reject,
30040 /* 85418 */ // Label 1832: @85418
30041 /* 85418 */ GIM_Reject,
30042 /* 85419 */ // Label 1541: @85419
30043 /* 85419 */ GIM_Try, /*On fail goto*//*Label 1841*/ GIMT_Encode4(85500),
30044 /* 85424 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30045 /* 85427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30046 /* 85431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
30047 /* 85435 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30048 /* 85439 */ GIM_Try, /*On fail goto*//*Label 1842*/ GIMT_Encode4(85469), // Rule ID 4397 //
30049 /* 85444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
30050 /* 85447 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30051 /* 85454 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
30052 /* 85454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk),
30053 /* 85457 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30054 /* 85461 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30055 /* 85463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30056 /* 85467 */ GIR_RootConstrainSelectedInstOperands,
30057 /* 85468 */ // GIR_Coverage, 4397,
30058 /* 85468 */ GIR_EraseRootFromParent_Done,
30059 /* 85469 */ // Label 1842: @85469
30060 /* 85469 */ GIM_Try, /*On fail goto*//*Label 1843*/ GIMT_Encode4(85499), // Rule ID 4399 //
30061 /* 85474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
30062 /* 85477 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30063 /* 85484 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk_EVEX addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
30064 /* 85484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk_EVEX),
30065 /* 85487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30066 /* 85491 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30067 /* 85493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30068 /* 85497 */ GIR_RootConstrainSelectedInstOperands,
30069 /* 85498 */ // GIR_Coverage, 4399,
30070 /* 85498 */ GIR_EraseRootFromParent_Done,
30071 /* 85499 */ // Label 1843: @85499
30072 /* 85499 */ GIM_Reject,
30073 /* 85500 */ // Label 1841: @85500
30074 /* 85500 */ GIM_Reject,
30075 /* 85501 */ // Label 1542: @85501
30076 /* 85501 */ GIM_Try, /*On fail goto*//*Label 1844*/ GIMT_Encode4(86074),
30077 /* 85506 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30078 /* 85509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30079 /* 85513 */ GIM_Try, /*On fail goto*//*Label 1845*/ GIMT_Encode4(85555), // Rule ID 17922 //
30080 /* 85518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30081 /* 85521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30082 /* 85525 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30083 /* 85529 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30084 /* 85533 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30085 /* 85540 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
30086 /* 85540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
30087 /* 85543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30088 /* 85547 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30089 /* 85549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30090 /* 85553 */ GIR_RootConstrainSelectedInstOperands,
30091 /* 85554 */ // GIR_Coverage, 17922,
30092 /* 85554 */ GIR_EraseRootFromParent_Done,
30093 /* 85555 */ // Label 1845: @85555
30094 /* 85555 */ GIM_Try, /*On fail goto*//*Label 1846*/ GIMT_Encode4(85593), // Rule ID 17923 //
30095 /* 85560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30096 /* 85563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30097 /* 85567 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30098 /* 85571 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30099 /* 85578 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
30100 /* 85578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
30101 /* 85581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30102 /* 85585 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30103 /* 85587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30104 /* 85591 */ GIR_RootConstrainSelectedInstOperands,
30105 /* 85592 */ // GIR_Coverage, 17923,
30106 /* 85592 */ GIR_EraseRootFromParent_Done,
30107 /* 85593 */ // Label 1846: @85593
30108 /* 85593 */ GIM_Try, /*On fail goto*//*Label 1847*/ GIMT_Encode4(85635), // Rule ID 17938 //
30109 /* 85598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
30110 /* 85601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30111 /* 85605 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30112 /* 85609 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30113 /* 85613 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30114 /* 85620 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
30115 /* 85620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
30116 /* 85623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30117 /* 85627 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30118 /* 85629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30119 /* 85633 */ GIR_RootConstrainSelectedInstOperands,
30120 /* 85634 */ // GIR_Coverage, 17938,
30121 /* 85634 */ GIR_EraseRootFromParent_Done,
30122 /* 85635 */ // Label 1847: @85635
30123 /* 85635 */ GIM_Try, /*On fail goto*//*Label 1848*/ GIMT_Encode4(85673), // Rule ID 17942 //
30124 /* 85640 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
30125 /* 85643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30126 /* 85647 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30127 /* 85651 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30128 /* 85658 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
30129 /* 85658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
30130 /* 85661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30131 /* 85665 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30132 /* 85667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30133 /* 85671 */ GIR_RootConstrainSelectedInstOperands,
30134 /* 85672 */ // GIR_Coverage, 17942,
30135 /* 85672 */ GIR_EraseRootFromParent_Done,
30136 /* 85673 */ // Label 1848: @85673
30137 /* 85673 */ GIM_Try, /*On fail goto*//*Label 1849*/ GIMT_Encode4(85715), // Rule ID 17946 //
30138 /* 85678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
30139 /* 85681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30140 /* 85685 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30141 /* 85689 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30142 /* 85693 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30143 /* 85700 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
30144 /* 85700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
30145 /* 85703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30146 /* 85707 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30147 /* 85709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30148 /* 85713 */ GIR_RootConstrainSelectedInstOperands,
30149 /* 85714 */ // GIR_Coverage, 17946,
30150 /* 85714 */ GIR_EraseRootFromParent_Done,
30151 /* 85715 */ // Label 1849: @85715
30152 /* 85715 */ GIM_Try, /*On fail goto*//*Label 1850*/ GIMT_Encode4(85753), // Rule ID 17947 //
30153 /* 85720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
30154 /* 85723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30155 /* 85727 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30156 /* 85731 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30157 /* 85738 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
30158 /* 85738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
30159 /* 85741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30160 /* 85745 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30161 /* 85747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30162 /* 85751 */ GIR_RootConstrainSelectedInstOperands,
30163 /* 85752 */ // GIR_Coverage, 17947,
30164 /* 85752 */ GIR_EraseRootFromParent_Done,
30165 /* 85753 */ // Label 1850: @85753
30166 /* 85753 */ GIM_Try, /*On fail goto*//*Label 1851*/ GIMT_Encode4(85795), // Rule ID 18317 //
30167 /* 85758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30168 /* 85761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30169 /* 85765 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30170 /* 85769 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30171 /* 85773 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30172 /* 85780 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
30173 /* 85780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
30174 /* 85783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30175 /* 85787 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30176 /* 85789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30177 /* 85793 */ GIR_RootConstrainSelectedInstOperands,
30178 /* 85794 */ // GIR_Coverage, 18317,
30179 /* 85794 */ GIR_EraseRootFromParent_Done,
30180 /* 85795 */ // Label 1851: @85795
30181 /* 85795 */ GIM_Try, /*On fail goto*//*Label 1852*/ GIMT_Encode4(85837), // Rule ID 18318 //
30182 /* 85800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30183 /* 85803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30184 /* 85807 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30185 /* 85811 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30186 /* 85815 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30187 /* 85822 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
30188 /* 85822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
30189 /* 85825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30190 /* 85829 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30191 /* 85831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30192 /* 85835 */ GIR_RootConstrainSelectedInstOperands,
30193 /* 85836 */ // GIR_Coverage, 18318,
30194 /* 85836 */ GIR_EraseRootFromParent_Done,
30195 /* 85837 */ // Label 1852: @85837
30196 /* 85837 */ GIM_Try, /*On fail goto*//*Label 1853*/ GIMT_Encode4(85875), // Rule ID 18321 //
30197 /* 85842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30198 /* 85845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30199 /* 85849 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30200 /* 85853 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30201 /* 85860 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
30202 /* 85860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
30203 /* 85863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30204 /* 85867 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30205 /* 85869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30206 /* 85873 */ GIR_RootConstrainSelectedInstOperands,
30207 /* 85874 */ // GIR_Coverage, 18321,
30208 /* 85874 */ GIR_EraseRootFromParent_Done,
30209 /* 85875 */ // Label 1853: @85875
30210 /* 85875 */ GIM_Try, /*On fail goto*//*Label 1854*/ GIMT_Encode4(85913), // Rule ID 18322 //
30211 /* 85880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30212 /* 85883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30213 /* 85887 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30214 /* 85891 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30215 /* 85898 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
30216 /* 85898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
30217 /* 85901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30218 /* 85905 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30219 /* 85907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30220 /* 85911 */ GIR_RootConstrainSelectedInstOperands,
30221 /* 85912 */ // GIR_Coverage, 18322,
30222 /* 85912 */ GIR_EraseRootFromParent_Done,
30223 /* 85913 */ // Label 1854: @85913
30224 /* 85913 */ GIM_Try, /*On fail goto*//*Label 1855*/ GIMT_Encode4(85955), // Rule ID 19829 //
30225 /* 85918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30226 /* 85921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30227 /* 85925 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30228 /* 85929 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30229 /* 85933 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30230 /* 85940 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
30231 /* 85940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
30232 /* 85943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30233 /* 85947 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30234 /* 85949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30235 /* 85953 */ GIR_RootConstrainSelectedInstOperands,
30236 /* 85954 */ // GIR_Coverage, 19829,
30237 /* 85954 */ GIR_EraseRootFromParent_Done,
30238 /* 85955 */ // Label 1855: @85955
30239 /* 85955 */ GIM_Try, /*On fail goto*//*Label 1856*/ GIMT_Encode4(85997), // Rule ID 19830 //
30240 /* 85960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30241 /* 85963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30242 /* 85967 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30243 /* 85971 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30244 /* 85975 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30245 /* 85982 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
30246 /* 85982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
30247 /* 85985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30248 /* 85989 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30249 /* 85991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30250 /* 85995 */ GIR_RootConstrainSelectedInstOperands,
30251 /* 85996 */ // GIR_Coverage, 19830,
30252 /* 85996 */ GIR_EraseRootFromParent_Done,
30253 /* 85997 */ // Label 1856: @85997
30254 /* 85997 */ GIM_Try, /*On fail goto*//*Label 1857*/ GIMT_Encode4(86035), // Rule ID 19833 //
30255 /* 86002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30256 /* 86005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30257 /* 86009 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30258 /* 86013 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30259 /* 86020 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
30260 /* 86020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
30261 /* 86023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30262 /* 86027 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30263 /* 86029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30264 /* 86033 */ GIR_RootConstrainSelectedInstOperands,
30265 /* 86034 */ // GIR_Coverage, 19833,
30266 /* 86034 */ GIR_EraseRootFromParent_Done,
30267 /* 86035 */ // Label 1857: @86035
30268 /* 86035 */ GIM_Try, /*On fail goto*//*Label 1858*/ GIMT_Encode4(86073), // Rule ID 19834 //
30269 /* 86040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30270 /* 86043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30271 /* 86047 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30272 /* 86051 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30273 /* 86058 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
30274 /* 86058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
30275 /* 86061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30276 /* 86065 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30277 /* 86067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30278 /* 86071 */ GIR_RootConstrainSelectedInstOperands,
30279 /* 86072 */ // GIR_Coverage, 19834,
30280 /* 86072 */ GIR_EraseRootFromParent_Done,
30281 /* 86073 */ // Label 1858: @86073
30282 /* 86073 */ GIM_Reject,
30283 /* 86074 */ // Label 1844: @86074
30284 /* 86074 */ GIM_Reject,
30285 /* 86075 */ // Label 1543: @86075
30286 /* 86075 */ GIM_Try, /*On fail goto*//*Label 1859*/ GIMT_Encode4(86408),
30287 /* 86080 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30288 /* 86083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30289 /* 86087 */ GIM_Try, /*On fail goto*//*Label 1860*/ GIMT_Encode4(86129), // Rule ID 1718 //
30290 /* 86092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30291 /* 86095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30292 /* 86099 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30293 /* 86103 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30294 /* 86107 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30295 /* 86114 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
30296 /* 86114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30297 /* 86117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30298 /* 86121 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30299 /* 86123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30300 /* 86127 */ GIR_RootConstrainSelectedInstOperands,
30301 /* 86128 */ // GIR_Coverage, 1718,
30302 /* 86128 */ GIR_EraseRootFromParent_Done,
30303 /* 86129 */ // Label 1860: @86129
30304 /* 86129 */ GIM_Try, /*On fail goto*//*Label 1861*/ GIMT_Encode4(86167), // Rule ID 1720 //
30305 /* 86134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30306 /* 86137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30307 /* 86141 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30308 /* 86145 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30309 /* 86152 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
30310 /* 86152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30311 /* 86155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30312 /* 86159 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30313 /* 86161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30314 /* 86165 */ GIR_RootConstrainSelectedInstOperands,
30315 /* 86166 */ // GIR_Coverage, 1720,
30316 /* 86166 */ GIR_EraseRootFromParent_Done,
30317 /* 86167 */ // Label 1861: @86167
30318 /* 86167 */ GIM_Try, /*On fail goto*//*Label 1862*/ GIMT_Encode4(86209), // Rule ID 4480 //
30319 /* 86172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
30320 /* 86175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30321 /* 86179 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30322 /* 86183 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30323 /* 86187 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30324 /* 86194 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
30325 /* 86194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
30326 /* 86197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30327 /* 86201 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30328 /* 86203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30329 /* 86207 */ GIR_RootConstrainSelectedInstOperands,
30330 /* 86208 */ // GIR_Coverage, 4480,
30331 /* 86208 */ GIR_EraseRootFromParent_Done,
30332 /* 86209 */ // Label 1862: @86209
30333 /* 86209 */ GIM_Try, /*On fail goto*//*Label 1863*/ GIMT_Encode4(86247), // Rule ID 4510 //
30334 /* 86214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
30335 /* 86217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30336 /* 86221 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30337 /* 86225 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30338 /* 86232 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
30339 /* 86232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
30340 /* 86235 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30341 /* 86239 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30342 /* 86241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30343 /* 86245 */ GIR_RootConstrainSelectedInstOperands,
30344 /* 86246 */ // GIR_Coverage, 4510,
30345 /* 86246 */ GIR_EraseRootFromParent_Done,
30346 /* 86247 */ // Label 1863: @86247
30347 /* 86247 */ GIM_Try, /*On fail goto*//*Label 1864*/ GIMT_Encode4(86289), // Rule ID 17913 //
30348 /* 86252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30349 /* 86255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30350 /* 86259 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30351 /* 86263 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30352 /* 86267 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30353 /* 86274 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
30354 /* 86274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30355 /* 86277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30356 /* 86281 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30357 /* 86283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30358 /* 86287 */ GIR_RootConstrainSelectedInstOperands,
30359 /* 86288 */ // GIR_Coverage, 17913,
30360 /* 86288 */ GIR_EraseRootFromParent_Done,
30361 /* 86289 */ // Label 1864: @86289
30362 /* 86289 */ GIM_Try, /*On fail goto*//*Label 1865*/ GIMT_Encode4(86327), // Rule ID 17917 //
30363 /* 86294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30364 /* 86297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30365 /* 86301 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30366 /* 86305 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30367 /* 86312 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
30368 /* 86312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30369 /* 86315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30370 /* 86319 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30371 /* 86321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30372 /* 86325 */ GIR_RootConstrainSelectedInstOperands,
30373 /* 86326 */ // GIR_Coverage, 17917,
30374 /* 86326 */ GIR_EraseRootFromParent_Done,
30375 /* 86327 */ // Label 1865: @86327
30376 /* 86327 */ GIM_Try, /*On fail goto*//*Label 1866*/ GIMT_Encode4(86369), // Rule ID 19844 //
30377 /* 86332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30378 /* 86335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30379 /* 86339 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30380 /* 86343 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30381 /* 86347 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30382 /* 86354 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
30383 /* 86354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
30384 /* 86357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30385 /* 86361 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30386 /* 86363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30387 /* 86367 */ GIR_RootConstrainSelectedInstOperands,
30388 /* 86368 */ // GIR_Coverage, 19844,
30389 /* 86368 */ GIR_EraseRootFromParent_Done,
30390 /* 86369 */ // Label 1866: @86369
30391 /* 86369 */ GIM_Try, /*On fail goto*//*Label 1867*/ GIMT_Encode4(86407), // Rule ID 19848 //
30392 /* 86374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30393 /* 86377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30394 /* 86381 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30395 /* 86385 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30396 /* 86392 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
30397 /* 86392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
30398 /* 86395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30399 /* 86399 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30400 /* 86401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30401 /* 86405 */ GIR_RootConstrainSelectedInstOperands,
30402 /* 86406 */ // GIR_Coverage, 19848,
30403 /* 86406 */ GIR_EraseRootFromParent_Done,
30404 /* 86407 */ // Label 1867: @86407
30405 /* 86407 */ GIM_Reject,
30406 /* 86408 */ // Label 1859: @86408
30407 /* 86408 */ GIM_Reject,
30408 /* 86409 */ // Label 1544: @86409
30409 /* 86409 */ GIM_Try, /*On fail goto*//*Label 1868*/ GIMT_Encode4(86582),
30410 /* 86414 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30411 /* 86417 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30412 /* 86421 */ GIM_Try, /*On fail goto*//*Label 1869*/ GIMT_Encode4(86463), // Rule ID 4497 //
30413 /* 86426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30414 /* 86429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30415 /* 86433 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30416 /* 86437 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30417 /* 86441 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30418 /* 86448 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
30419 /* 86448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
30420 /* 86451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30421 /* 86455 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30422 /* 86457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30423 /* 86461 */ GIR_RootConstrainSelectedInstOperands,
30424 /* 86462 */ // GIR_Coverage, 4497,
30425 /* 86462 */ GIR_EraseRootFromParent_Done,
30426 /* 86463 */ // Label 1869: @86463
30427 /* 86463 */ GIM_Try, /*On fail goto*//*Label 1870*/ GIMT_Encode4(86501), // Rule ID 4521 //
30428 /* 86468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30429 /* 86471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30430 /* 86475 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30431 /* 86479 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30432 /* 86486 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
30433 /* 86486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZmr),
30434 /* 86489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30435 /* 86493 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30436 /* 86495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30437 /* 86499 */ GIR_RootConstrainSelectedInstOperands,
30438 /* 86500 */ // GIR_Coverage, 4521,
30439 /* 86500 */ GIR_EraseRootFromParent_Done,
30440 /* 86501 */ // Label 1870: @86501
30441 /* 86501 */ GIM_Try, /*On fail goto*//*Label 1871*/ GIMT_Encode4(86543), // Rule ID 4551 //
30442 /* 86506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30443 /* 86509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30444 /* 86513 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30445 /* 86517 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30446 /* 86521 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30447 /* 86528 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
30448 /* 86528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30449 /* 86531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30450 /* 86535 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30451 /* 86537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30452 /* 86541 */ GIR_RootConstrainSelectedInstOperands,
30453 /* 86542 */ // GIR_Coverage, 4551,
30454 /* 86542 */ GIR_EraseRootFromParent_Done,
30455 /* 86543 */ // Label 1871: @86543
30456 /* 86543 */ GIM_Try, /*On fail goto*//*Label 1872*/ GIMT_Encode4(86581), // Rule ID 4593 //
30457 /* 86548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30458 /* 86551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30459 /* 86555 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30460 /* 86559 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30461 /* 86566 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
30462 /* 86566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
30463 /* 86569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30464 /* 86573 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30465 /* 86575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30466 /* 86579 */ GIR_RootConstrainSelectedInstOperands,
30467 /* 86580 */ // GIR_Coverage, 4593,
30468 /* 86580 */ GIR_EraseRootFromParent_Done,
30469 /* 86581 */ // Label 1872: @86581
30470 /* 86581 */ GIM_Reject,
30471 /* 86582 */ // Label 1868: @86582
30472 /* 86582 */ GIM_Reject,
30473 /* 86583 */ // Label 1545: @86583
30474 /* 86583 */ GIM_Try, /*On fail goto*//*Label 1873*/ GIMT_Encode4(86664),
30475 /* 86588 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30476 /* 86591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30477 /* 86595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
30478 /* 86599 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30479 /* 86603 */ GIM_Try, /*On fail goto*//*Label 1874*/ GIMT_Encode4(86633), // Rule ID 4401 //
30480 /* 86608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
30481 /* 86611 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30482 /* 86618 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
30483 /* 86618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk),
30484 /* 86621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30485 /* 86625 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30486 /* 86627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30487 /* 86631 */ GIR_RootConstrainSelectedInstOperands,
30488 /* 86632 */ // GIR_Coverage, 4401,
30489 /* 86632 */ GIR_EraseRootFromParent_Done,
30490 /* 86633 */ // Label 1874: @86633
30491 /* 86633 */ GIM_Try, /*On fail goto*//*Label 1875*/ GIMT_Encode4(86663), // Rule ID 4403 //
30492 /* 86638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
30493 /* 86641 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30494 /* 86648 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk_EVEX addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
30495 /* 86648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk_EVEX),
30496 /* 86651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30497 /* 86655 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30498 /* 86657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30499 /* 86661 */ GIR_RootConstrainSelectedInstOperands,
30500 /* 86662 */ // GIR_Coverage, 4403,
30501 /* 86662 */ GIR_EraseRootFromParent_Done,
30502 /* 86663 */ // Label 1875: @86663
30503 /* 86663 */ GIM_Reject,
30504 /* 86664 */ // Label 1873: @86664
30505 /* 86664 */ GIM_Reject,
30506 /* 86665 */ // Label 1546: @86665
30507 /* 86665 */ GIM_Try, /*On fail goto*//*Label 1876*/ GIMT_Encode4(86918),
30508 /* 86670 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30509 /* 86673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30510 /* 86677 */ GIM_Try, /*On fail goto*//*Label 1877*/ GIMT_Encode4(86719), // Rule ID 17939 //
30511 /* 86682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
30512 /* 86685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30513 /* 86689 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30514 /* 86693 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30515 /* 86697 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30516 /* 86704 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
30517 /* 86704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
30518 /* 86707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30519 /* 86711 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30520 /* 86713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30521 /* 86717 */ GIR_RootConstrainSelectedInstOperands,
30522 /* 86718 */ // GIR_Coverage, 17939,
30523 /* 86718 */ GIR_EraseRootFromParent_Done,
30524 /* 86719 */ // Label 1877: @86719
30525 /* 86719 */ GIM_Try, /*On fail goto*//*Label 1878*/ GIMT_Encode4(86757), // Rule ID 17943 //
30526 /* 86724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
30527 /* 86727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30528 /* 86731 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30529 /* 86735 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30530 /* 86742 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
30531 /* 86742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
30532 /* 86745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30533 /* 86749 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30534 /* 86751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30535 /* 86755 */ GIR_RootConstrainSelectedInstOperands,
30536 /* 86756 */ // GIR_Coverage, 17943,
30537 /* 86756 */ GIR_EraseRootFromParent_Done,
30538 /* 86757 */ // Label 1878: @86757
30539 /* 86757 */ GIM_Try, /*On fail goto*//*Label 1879*/ GIMT_Encode4(86799), // Rule ID 18319 //
30540 /* 86762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30541 /* 86765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30542 /* 86769 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30543 /* 86773 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30544 /* 86777 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30545 /* 86784 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
30546 /* 86784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
30547 /* 86787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30548 /* 86791 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30549 /* 86793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30550 /* 86797 */ GIR_RootConstrainSelectedInstOperands,
30551 /* 86798 */ // GIR_Coverage, 18319,
30552 /* 86798 */ GIR_EraseRootFromParent_Done,
30553 /* 86799 */ // Label 1879: @86799
30554 /* 86799 */ GIM_Try, /*On fail goto*//*Label 1880*/ GIMT_Encode4(86837), // Rule ID 18323 //
30555 /* 86804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30556 /* 86807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30557 /* 86811 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30558 /* 86815 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30559 /* 86822 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
30560 /* 86822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
30561 /* 86825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30562 /* 86829 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30563 /* 86831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30564 /* 86835 */ GIR_RootConstrainSelectedInstOperands,
30565 /* 86836 */ // GIR_Coverage, 18323,
30566 /* 86836 */ GIR_EraseRootFromParent_Done,
30567 /* 86837 */ // Label 1880: @86837
30568 /* 86837 */ GIM_Try, /*On fail goto*//*Label 1881*/ GIMT_Encode4(86879), // Rule ID 19831 //
30569 /* 86842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30570 /* 86845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30571 /* 86849 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30572 /* 86853 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30573 /* 86857 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30574 /* 86864 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
30575 /* 86864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
30576 /* 86867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30577 /* 86871 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30578 /* 86873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30579 /* 86877 */ GIR_RootConstrainSelectedInstOperands,
30580 /* 86878 */ // GIR_Coverage, 19831,
30581 /* 86878 */ GIR_EraseRootFromParent_Done,
30582 /* 86879 */ // Label 1881: @86879
30583 /* 86879 */ GIM_Try, /*On fail goto*//*Label 1882*/ GIMT_Encode4(86917), // Rule ID 19835 //
30584 /* 86884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30585 /* 86887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30586 /* 86891 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30587 /* 86895 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30588 /* 86902 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
30589 /* 86902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
30590 /* 86905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30591 /* 86909 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30592 /* 86911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30593 /* 86915 */ GIR_RootConstrainSelectedInstOperands,
30594 /* 86916 */ // GIR_Coverage, 19835,
30595 /* 86916 */ GIR_EraseRootFromParent_Done,
30596 /* 86917 */ // Label 1882: @86917
30597 /* 86917 */ GIM_Reject,
30598 /* 86918 */ // Label 1876: @86918
30599 /* 86918 */ GIM_Reject,
30600 /* 86919 */ // Label 1547: @86919
30601 /* 86919 */ GIM_Try, /*On fail goto*//*Label 1883*/ GIMT_Encode4(87252),
30602 /* 86924 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30603 /* 86927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30604 /* 86931 */ GIM_Try, /*On fail goto*//*Label 1884*/ GIMT_Encode4(86973), // Rule ID 17914 //
30605 /* 86936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30606 /* 86939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30607 /* 86943 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30608 /* 86947 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30609 /* 86951 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30610 /* 86958 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
30611 /* 86958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30612 /* 86961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30613 /* 86965 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30614 /* 86967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30615 /* 86971 */ GIR_RootConstrainSelectedInstOperands,
30616 /* 86972 */ // GIR_Coverage, 17914,
30617 /* 86972 */ GIR_EraseRootFromParent_Done,
30618 /* 86973 */ // Label 1884: @86973
30619 /* 86973 */ GIM_Try, /*On fail goto*//*Label 1885*/ GIMT_Encode4(87011), // Rule ID 17918 //
30620 /* 86978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30621 /* 86981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30622 /* 86985 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30623 /* 86989 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30624 /* 86996 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
30625 /* 86996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30626 /* 86999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30627 /* 87003 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30628 /* 87005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30629 /* 87009 */ GIR_RootConstrainSelectedInstOperands,
30630 /* 87010 */ // GIR_Coverage, 17918,
30631 /* 87010 */ GIR_EraseRootFromParent_Done,
30632 /* 87011 */ // Label 1885: @87011
30633 /* 87011 */ GIM_Try, /*On fail goto*//*Label 1886*/ GIMT_Encode4(87053), // Rule ID 17926 //
30634 /* 87016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30635 /* 87019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30636 /* 87023 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30637 /* 87027 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30638 /* 87031 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30639 /* 87038 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
30640 /* 87038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30641 /* 87041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30642 /* 87045 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30643 /* 87047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30644 /* 87051 */ GIR_RootConstrainSelectedInstOperands,
30645 /* 87052 */ // GIR_Coverage, 17926,
30646 /* 87052 */ GIR_EraseRootFromParent_Done,
30647 /* 87053 */ // Label 1886: @87053
30648 /* 87053 */ GIM_Try, /*On fail goto*//*Label 1887*/ GIMT_Encode4(87091), // Rule ID 17927 //
30649 /* 87058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30650 /* 87061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30651 /* 87065 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30652 /* 87069 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30653 /* 87076 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
30654 /* 87076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30655 /* 87079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30656 /* 87083 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30657 /* 87085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30658 /* 87089 */ GIR_RootConstrainSelectedInstOperands,
30659 /* 87090 */ // GIR_Coverage, 17927,
30660 /* 87090 */ GIR_EraseRootFromParent_Done,
30661 /* 87091 */ // Label 1887: @87091
30662 /* 87091 */ GIM_Try, /*On fail goto*//*Label 1888*/ GIMT_Encode4(87133), // Rule ID 19845 //
30663 /* 87096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30664 /* 87099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30665 /* 87103 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30666 /* 87107 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30667 /* 87111 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30668 /* 87118 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
30669 /* 87118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
30670 /* 87121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30671 /* 87125 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30672 /* 87127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30673 /* 87131 */ GIR_RootConstrainSelectedInstOperands,
30674 /* 87132 */ // GIR_Coverage, 19845,
30675 /* 87132 */ GIR_EraseRootFromParent_Done,
30676 /* 87133 */ // Label 1888: @87133
30677 /* 87133 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(87175), // Rule ID 19846 //
30678 /* 87138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30679 /* 87141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30680 /* 87145 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30681 /* 87149 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30682 /* 87153 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30683 /* 87160 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
30684 /* 87160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
30685 /* 87163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30686 /* 87167 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30687 /* 87169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30688 /* 87173 */ GIR_RootConstrainSelectedInstOperands,
30689 /* 87174 */ // GIR_Coverage, 19846,
30690 /* 87174 */ GIR_EraseRootFromParent_Done,
30691 /* 87175 */ // Label 1889: @87175
30692 /* 87175 */ GIM_Try, /*On fail goto*//*Label 1890*/ GIMT_Encode4(87213), // Rule ID 19849 //
30693 /* 87180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30694 /* 87183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30695 /* 87187 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30696 /* 87191 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30697 /* 87198 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
30698 /* 87198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
30699 /* 87201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30700 /* 87205 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30701 /* 87207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30702 /* 87211 */ GIR_RootConstrainSelectedInstOperands,
30703 /* 87212 */ // GIR_Coverage, 19849,
30704 /* 87212 */ GIR_EraseRootFromParent_Done,
30705 /* 87213 */ // Label 1890: @87213
30706 /* 87213 */ GIM_Try, /*On fail goto*//*Label 1891*/ GIMT_Encode4(87251), // Rule ID 19850 //
30707 /* 87218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30708 /* 87221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30709 /* 87225 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30710 /* 87229 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30711 /* 87236 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
30712 /* 87236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
30713 /* 87239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30714 /* 87243 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30715 /* 87245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30716 /* 87249 */ GIR_RootConstrainSelectedInstOperands,
30717 /* 87250 */ // GIR_Coverage, 19850,
30718 /* 87250 */ GIR_EraseRootFromParent_Done,
30719 /* 87251 */ // Label 1891: @87251
30720 /* 87251 */ GIM_Reject,
30721 /* 87252 */ // Label 1883: @87252
30722 /* 87252 */ GIM_Reject,
30723 /* 87253 */ // Label 1548: @87253
30724 /* 87253 */ GIM_Try, /*On fail goto*//*Label 1892*/ GIMT_Encode4(87426),
30725 /* 87258 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30726 /* 87261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30727 /* 87265 */ GIM_Try, /*On fail goto*//*Label 1893*/ GIMT_Encode4(87307), // Rule ID 4479 //
30728 /* 87270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30729 /* 87273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30730 /* 87277 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30731 /* 87281 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30732 /* 87285 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30733 /* 87292 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
30734 /* 87292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
30735 /* 87295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30736 /* 87299 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30737 /* 87301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30738 /* 87305 */ GIR_RootConstrainSelectedInstOperands,
30739 /* 87306 */ // GIR_Coverage, 4479,
30740 /* 87306 */ GIR_EraseRootFromParent_Done,
30741 /* 87307 */ // Label 1893: @87307
30742 /* 87307 */ GIM_Try, /*On fail goto*//*Label 1894*/ GIMT_Encode4(87345), // Rule ID 4509 //
30743 /* 87312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30744 /* 87315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30745 /* 87319 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30746 /* 87323 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30747 /* 87330 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
30748 /* 87330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
30749 /* 87333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30750 /* 87337 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30751 /* 87339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30752 /* 87343 */ GIR_RootConstrainSelectedInstOperands,
30753 /* 87344 */ // GIR_Coverage, 4509,
30754 /* 87344 */ GIR_EraseRootFromParent_Done,
30755 /* 87345 */ // Label 1894: @87345
30756 /* 87345 */ GIM_Try, /*On fail goto*//*Label 1895*/ GIMT_Encode4(87387), // Rule ID 19812 //
30757 /* 87350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30758 /* 87353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30759 /* 87357 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30760 /* 87361 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30761 /* 87365 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30762 /* 87372 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
30763 /* 87372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30764 /* 87375 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30765 /* 87379 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30766 /* 87381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30767 /* 87385 */ GIR_RootConstrainSelectedInstOperands,
30768 /* 87386 */ // GIR_Coverage, 19812,
30769 /* 87386 */ GIR_EraseRootFromParent_Done,
30770 /* 87387 */ // Label 1895: @87387
30771 /* 87387 */ GIM_Try, /*On fail goto*//*Label 1896*/ GIMT_Encode4(87425), // Rule ID 19816 //
30772 /* 87392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30773 /* 87395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30774 /* 87399 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30775 /* 87403 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30776 /* 87410 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
30777 /* 87410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
30778 /* 87413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30779 /* 87417 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30780 /* 87419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30781 /* 87423 */ GIR_RootConstrainSelectedInstOperands,
30782 /* 87424 */ // GIR_Coverage, 19816,
30783 /* 87424 */ GIR_EraseRootFromParent_Done,
30784 /* 87425 */ // Label 1896: @87425
30785 /* 87425 */ GIM_Reject,
30786 /* 87426 */ // Label 1892: @87426
30787 /* 87426 */ GIM_Reject,
30788 /* 87427 */ // Label 1549: @87427
30789 /* 87427 */ GIM_Try, /*On fail goto*//*Label 1897*/ GIMT_Encode4(87508),
30790 /* 87432 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30791 /* 87435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30792 /* 87439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
30793 /* 87443 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30794 /* 87447 */ GIM_Try, /*On fail goto*//*Label 1898*/ GIMT_Encode4(87477), // Rule ID 4405 //
30795 /* 87452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
30796 /* 87455 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30797 /* 87462 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
30798 /* 87462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk),
30799 /* 87465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30800 /* 87469 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30801 /* 87471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30802 /* 87475 */ GIR_RootConstrainSelectedInstOperands,
30803 /* 87476 */ // GIR_Coverage, 4405,
30804 /* 87476 */ GIR_EraseRootFromParent_Done,
30805 /* 87477 */ // Label 1898: @87477
30806 /* 87477 */ GIM_Try, /*On fail goto*//*Label 1899*/ GIMT_Encode4(87507), // Rule ID 4409 //
30807 /* 87482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
30808 /* 87485 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30809 /* 87492 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk_EVEX addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
30810 /* 87492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk_EVEX),
30811 /* 87495 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30812 /* 87499 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30813 /* 87501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30814 /* 87505 */ GIR_RootConstrainSelectedInstOperands,
30815 /* 87506 */ // GIR_Coverage, 4409,
30816 /* 87506 */ GIR_EraseRootFromParent_Done,
30817 /* 87507 */ // Label 1899: @87507
30818 /* 87507 */ GIM_Reject,
30819 /* 87508 */ // Label 1897: @87508
30820 /* 87508 */ GIM_Reject,
30821 /* 87509 */ // Label 1550: @87509
30822 /* 87509 */ GIM_Try, /*On fail goto*//*Label 1900*/ GIMT_Encode4(87682),
30823 /* 87514 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30824 /* 87517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30825 /* 87521 */ GIM_Try, /*On fail goto*//*Label 1901*/ GIMT_Encode4(87563), // Rule ID 17915 //
30826 /* 87526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30827 /* 87529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30828 /* 87533 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30829 /* 87537 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30830 /* 87541 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30831 /* 87548 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
30832 /* 87548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30833 /* 87551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30834 /* 87555 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30835 /* 87557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30836 /* 87561 */ GIR_RootConstrainSelectedInstOperands,
30837 /* 87562 */ // GIR_Coverage, 17915,
30838 /* 87562 */ GIR_EraseRootFromParent_Done,
30839 /* 87563 */ // Label 1901: @87563
30840 /* 87563 */ GIM_Try, /*On fail goto*//*Label 1902*/ GIMT_Encode4(87601), // Rule ID 17919 //
30841 /* 87568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30842 /* 87571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30843 /* 87575 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30844 /* 87579 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30845 /* 87586 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
30846 /* 87586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30847 /* 87589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30848 /* 87593 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30849 /* 87595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30850 /* 87599 */ GIR_RootConstrainSelectedInstOperands,
30851 /* 87600 */ // GIR_Coverage, 17919,
30852 /* 87600 */ GIR_EraseRootFromParent_Done,
30853 /* 87601 */ // Label 1902: @87601
30854 /* 87601 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(87643), // Rule ID 19847 //
30855 /* 87606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30856 /* 87609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30857 /* 87613 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30858 /* 87617 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30859 /* 87621 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30860 /* 87628 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
30861 /* 87628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
30862 /* 87631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30863 /* 87635 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30864 /* 87637 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30865 /* 87641 */ GIR_RootConstrainSelectedInstOperands,
30866 /* 87642 */ // GIR_Coverage, 19847,
30867 /* 87642 */ GIR_EraseRootFromParent_Done,
30868 /* 87643 */ // Label 1903: @87643
30869 /* 87643 */ GIM_Try, /*On fail goto*//*Label 1904*/ GIMT_Encode4(87681), // Rule ID 19851 //
30870 /* 87648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
30871 /* 87651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30872 /* 87655 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30873 /* 87659 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30874 /* 87666 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
30875 /* 87666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
30876 /* 87669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30877 /* 87673 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30878 /* 87675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30879 /* 87679 */ GIR_RootConstrainSelectedInstOperands,
30880 /* 87680 */ // GIR_Coverage, 19851,
30881 /* 87680 */ GIR_EraseRootFromParent_Done,
30882 /* 87681 */ // Label 1904: @87681
30883 /* 87681 */ GIM_Reject,
30884 /* 87682 */ // Label 1900: @87682
30885 /* 87682 */ GIM_Reject,
30886 /* 87683 */ // Label 1551: @87683
30887 /* 87683 */ GIM_Try, /*On fail goto*//*Label 1905*/ GIMT_Encode4(87856),
30888 /* 87688 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30889 /* 87691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30890 /* 87695 */ GIM_Try, /*On fail goto*//*Label 1906*/ GIMT_Encode4(87737), // Rule ID 19813 //
30891 /* 87700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30892 /* 87703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30893 /* 87707 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30894 /* 87711 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30895 /* 87715 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30896 /* 87722 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
30897 /* 87722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30898 /* 87725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30899 /* 87729 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30900 /* 87731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30901 /* 87735 */ GIR_RootConstrainSelectedInstOperands,
30902 /* 87736 */ // GIR_Coverage, 19813,
30903 /* 87736 */ GIR_EraseRootFromParent_Done,
30904 /* 87737 */ // Label 1906: @87737
30905 /* 87737 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(87779), // Rule ID 19814 //
30906 /* 87742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30907 /* 87745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30908 /* 87749 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30909 /* 87753 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30910 /* 87757 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30911 /* 87764 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
30912 /* 87764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
30913 /* 87767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30914 /* 87771 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30915 /* 87773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30916 /* 87777 */ GIR_RootConstrainSelectedInstOperands,
30917 /* 87778 */ // GIR_Coverage, 19814,
30918 /* 87778 */ GIR_EraseRootFromParent_Done,
30919 /* 87779 */ // Label 1907: @87779
30920 /* 87779 */ GIM_Try, /*On fail goto*//*Label 1908*/ GIMT_Encode4(87817), // Rule ID 19817 //
30921 /* 87784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30922 /* 87787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30923 /* 87791 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30924 /* 87795 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30925 /* 87802 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
30926 /* 87802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
30927 /* 87805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30928 /* 87809 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30929 /* 87811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30930 /* 87815 */ GIR_RootConstrainSelectedInstOperands,
30931 /* 87816 */ // GIR_Coverage, 19817,
30932 /* 87816 */ GIR_EraseRootFromParent_Done,
30933 /* 87817 */ // Label 1908: @87817
30934 /* 87817 */ GIM_Try, /*On fail goto*//*Label 1909*/ GIMT_Encode4(87855), // Rule ID 19818 //
30935 /* 87822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30936 /* 87825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30937 /* 87829 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30938 /* 87833 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30939 /* 87840 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
30940 /* 87840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
30941 /* 87843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30942 /* 87847 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30943 /* 87849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30944 /* 87853 */ GIR_RootConstrainSelectedInstOperands,
30945 /* 87854 */ // GIR_Coverage, 19818,
30946 /* 87854 */ GIR_EraseRootFromParent_Done,
30947 /* 87855 */ // Label 1909: @87855
30948 /* 87855 */ GIM_Reject,
30949 /* 87856 */ // Label 1905: @87856
30950 /* 87856 */ GIM_Reject,
30951 /* 87857 */ // Label 1552: @87857
30952 /* 87857 */ GIM_Try, /*On fail goto*//*Label 1910*/ GIMT_Encode4(87938),
30953 /* 87862 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30954 /* 87865 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30955 /* 87869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
30956 /* 87873 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30957 /* 87877 */ GIM_Try, /*On fail goto*//*Label 1911*/ GIMT_Encode4(87907), // Rule ID 4407 //
30958 /* 87882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
30959 /* 87885 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30960 /* 87892 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
30961 /* 87892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk),
30962 /* 87895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30963 /* 87899 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30964 /* 87901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30965 /* 87905 */ GIR_RootConstrainSelectedInstOperands,
30966 /* 87906 */ // GIR_Coverage, 4407,
30967 /* 87906 */ GIR_EraseRootFromParent_Done,
30968 /* 87907 */ // Label 1911: @87907
30969 /* 87907 */ GIM_Try, /*On fail goto*//*Label 1912*/ GIMT_Encode4(87937), // Rule ID 4411 //
30970 /* 87912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
30971 /* 87915 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30972 /* 87922 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk_EVEX addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
30973 /* 87922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk_EVEX),
30974 /* 87925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30975 /* 87929 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30976 /* 87931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30977 /* 87935 */ GIR_RootConstrainSelectedInstOperands,
30978 /* 87936 */ // GIR_Coverage, 4411,
30979 /* 87936 */ GIR_EraseRootFromParent_Done,
30980 /* 87937 */ // Label 1912: @87937
30981 /* 87937 */ GIM_Reject,
30982 /* 87938 */ // Label 1910: @87938
30983 /* 87938 */ GIM_Reject,
30984 /* 87939 */ // Label 1553: @87939
30985 /* 87939 */ GIM_Try, /*On fail goto*//*Label 1913*/ GIMT_Encode4(88032),
30986 /* 87944 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30987 /* 87947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30988 /* 87951 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(87993), // Rule ID 19815 //
30989 /* 87956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30990 /* 87959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30991 /* 87963 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30992 /* 87967 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30993 /* 87971 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30994 /* 87978 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
30995 /* 87978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30996 /* 87981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30997 /* 87985 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30998 /* 87987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30999 /* 87991 */ GIR_RootConstrainSelectedInstOperands,
31000 /* 87992 */ // GIR_Coverage, 19815,
31001 /* 87992 */ GIR_EraseRootFromParent_Done,
31002 /* 87993 */ // Label 1914: @87993
31003 /* 87993 */ GIM_Try, /*On fail goto*//*Label 1915*/ GIMT_Encode4(88031), // Rule ID 19819 //
31004 /* 87998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
31005 /* 88001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
31006 /* 88005 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31007 /* 88009 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31008 /* 88016 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
31009 /* 88016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
31010 /* 88019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
31011 /* 88023 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
31012 /* 88025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31013 /* 88029 */ GIR_RootConstrainSelectedInstOperands,
31014 /* 88030 */ // GIR_Coverage, 19819,
31015 /* 88030 */ GIR_EraseRootFromParent_Done,
31016 /* 88031 */ // Label 1915: @88031
31017 /* 88031 */ GIM_Reject,
31018 /* 88032 */ // Label 1913: @88032
31019 /* 88032 */ GIM_Reject,
31020 /* 88033 */ // Label 1554: @88033
31021 /* 88033 */ GIM_Reject,
31022 /* 88034 */ // Label 15: @88034
31023 /* 88034 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1920*/ GIMT_Encode4(88269),
31024 /* 88045 */ /*GILLT_s8*//*Label 1916*/ GIMT_Encode4(88061),
31025 /* 88049 */ /*GILLT_s16*//*Label 1917*/ GIMT_Encode4(88113),
31026 /* 88053 */ /*GILLT_s32*//*Label 1918*/ GIMT_Encode4(88165),
31027 /* 88057 */ /*GILLT_s64*//*Label 1919*/ GIMT_Encode4(88217),
31028 /* 88061 */ // Label 1916: @88061
31029 /* 88061 */ GIM_Try, /*On fail goto*//*Label 1921*/ GIMT_Encode4(88112), // Rule ID 45 //
31030 /* 88066 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
31031 /* 88069 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
31032 /* 88076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
31033 /* 88080 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31034 /* 88084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
31035 /* 88088 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31036 /* 88095 */ // (atomic_swap:{ *:[i8] } addr:{ *:[iPTR] }:$ptr, GR8:{ *:[i8] }:$val)<<P:Predicate_atomic_swap_i8>> => (XCHG8rm:{ *:[i8] } GR8:{ *:[i8] }:$val, addr:{ *:[iPTR] }:$ptr)
31037 /* 88095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG8rm),
31038 /* 88098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31039 /* 88100 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31040 /* 88102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31041 /* 88106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31042 /* 88110 */ GIR_RootConstrainSelectedInstOperands,
31043 /* 88111 */ // GIR_Coverage, 45,
31044 /* 88111 */ GIR_EraseRootFromParent_Done,
31045 /* 88112 */ // Label 1921: @88112
31046 /* 88112 */ GIM_Reject,
31047 /* 88113 */ // Label 1917: @88113
31048 /* 88113 */ GIM_Try, /*On fail goto*//*Label 1922*/ GIMT_Encode4(88164), // Rule ID 46 //
31049 /* 88118 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
31050 /* 88121 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
31051 /* 88128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
31052 /* 88132 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31053 /* 88136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
31054 /* 88140 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31055 /* 88147 */ // (atomic_swap:{ *:[i16] } addr:{ *:[iPTR] }:$ptr, GR16:{ *:[i16] }:$val)<<P:Predicate_atomic_swap_i16>> => (XCHG16rm:{ *:[i16] } GR16:{ *:[i16] }:$val, addr:{ *:[iPTR] }:$ptr)
31056 /* 88147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG16rm),
31057 /* 88150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31058 /* 88152 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31059 /* 88154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31060 /* 88158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31061 /* 88162 */ GIR_RootConstrainSelectedInstOperands,
31062 /* 88163 */ // GIR_Coverage, 46,
31063 /* 88163 */ GIR_EraseRootFromParent_Done,
31064 /* 88164 */ // Label 1922: @88164
31065 /* 88164 */ GIM_Reject,
31066 /* 88165 */ // Label 1918: @88165
31067 /* 88165 */ GIM_Try, /*On fail goto*//*Label 1923*/ GIMT_Encode4(88216), // Rule ID 47 //
31068 /* 88170 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31069 /* 88173 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
31070 /* 88180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31071 /* 88184 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31072 /* 88188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31073 /* 88192 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31074 /* 88199 */ // (atomic_swap:{ *:[i32] } addr:{ *:[iPTR] }:$ptr, GR32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_i32>> => (XCHG32rm:{ *:[i32] } GR32:{ *:[i32] }:$val, addr:{ *:[iPTR] }:$ptr)
31075 /* 88199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG32rm),
31076 /* 88202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31077 /* 88204 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31078 /* 88206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31079 /* 88210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31080 /* 88214 */ GIR_RootConstrainSelectedInstOperands,
31081 /* 88215 */ // GIR_Coverage, 47,
31082 /* 88215 */ GIR_EraseRootFromParent_Done,
31083 /* 88216 */ // Label 1923: @88216
31084 /* 88216 */ GIM_Reject,
31085 /* 88217 */ // Label 1919: @88217
31086 /* 88217 */ GIM_Try, /*On fail goto*//*Label 1924*/ GIMT_Encode4(88268), // Rule ID 48 //
31087 /* 88222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31088 /* 88225 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
31089 /* 88232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31090 /* 88236 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31091 /* 88240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31092 /* 88244 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31093 /* 88251 */ // (atomic_swap:{ *:[i64] } addr:{ *:[iPTR] }:$ptr, GR64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_i64>> => (XCHG64rm:{ *:[i64] } GR64:{ *:[i64] }:$val, addr:{ *:[iPTR] }:$ptr)
31094 /* 88251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG64rm),
31095 /* 88254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31096 /* 88256 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31097 /* 88258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31098 /* 88262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31099 /* 88266 */ GIR_RootConstrainSelectedInstOperands,
31100 /* 88267 */ // GIR_Coverage, 48,
31101 /* 88267 */ GIR_EraseRootFromParent_Done,
31102 /* 88268 */ // Label 1924: @88268
31103 /* 88268 */ GIM_Reject,
31104 /* 88269 */ // Label 1920: @88269
31105 /* 88269 */ GIM_Reject,
31106 /* 88270 */ // Label 16: @88270
31107 /* 88270 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1929*/ GIMT_Encode4(88517),
31108 /* 88281 */ /*GILLT_s8*//*Label 1925*/ GIMT_Encode4(88297),
31109 /* 88285 */ /*GILLT_s16*//*Label 1926*/ GIMT_Encode4(88352),
31110 /* 88289 */ /*GILLT_s32*//*Label 1927*/ GIMT_Encode4(88407),
31111 /* 88293 */ /*GILLT_s64*//*Label 1928*/ GIMT_Encode4(88462),
31112 /* 88297 */ // Label 1925: @88297
31113 /* 88297 */ GIM_Try, /*On fail goto*//*Label 1930*/ GIMT_Encode4(88351), // Rule ID 17285 //
31114 /* 88302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
31115 /* 88305 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
31116 /* 88312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
31117 /* 88316 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31118 /* 88320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
31119 /* 88324 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31120 /* 88331 */ // (atomic_load_add:{ *:[i8] } addr:{ *:[iPTR] }:$ptr, GR8:{ *:[i8] }:$val)<<P:Predicate_atomic_load_add_i8>> => (LXADD8:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$val, addr:{ *:[iPTR] }:$ptr)
31121 /* 88331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD8),
31122 /* 88334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31123 /* 88336 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31124 /* 88338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31125 /* 88342 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
31126 /* 88345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31127 /* 88349 */ GIR_RootConstrainSelectedInstOperands,
31128 /* 88350 */ // GIR_Coverage, 17285,
31129 /* 88350 */ GIR_EraseRootFromParent_Done,
31130 /* 88351 */ // Label 1930: @88351
31131 /* 88351 */ GIM_Reject,
31132 /* 88352 */ // Label 1926: @88352
31133 /* 88352 */ GIM_Try, /*On fail goto*//*Label 1931*/ GIMT_Encode4(88406), // Rule ID 17286 //
31134 /* 88357 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
31135 /* 88360 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
31136 /* 88367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
31137 /* 88371 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31138 /* 88375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
31139 /* 88379 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31140 /* 88386 */ // (atomic_load_add:{ *:[i16] } addr:{ *:[iPTR] }:$ptr, GR16:{ *:[i16] }:$val)<<P:Predicate_atomic_load_add_i16>> => (LXADD16:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$val, addr:{ *:[iPTR] }:$ptr)
31141 /* 88386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD16),
31142 /* 88389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31143 /* 88391 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31144 /* 88393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31145 /* 88397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
31146 /* 88400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31147 /* 88404 */ GIR_RootConstrainSelectedInstOperands,
31148 /* 88405 */ // GIR_Coverage, 17286,
31149 /* 88405 */ GIR_EraseRootFromParent_Done,
31150 /* 88406 */ // Label 1931: @88406
31151 /* 88406 */ GIM_Reject,
31152 /* 88407 */ // Label 1927: @88407
31153 /* 88407 */ GIM_Try, /*On fail goto*//*Label 1932*/ GIMT_Encode4(88461), // Rule ID 17287 //
31154 /* 88412 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31155 /* 88415 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
31156 /* 88422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31157 /* 88426 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31158 /* 88430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31159 /* 88434 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31160 /* 88441 */ // (atomic_load_add:{ *:[i32] } addr:{ *:[iPTR] }:$ptr, GR32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_i32>> => (LXADD32:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$val, addr:{ *:[iPTR] }:$ptr)
31161 /* 88441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD32),
31162 /* 88444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31163 /* 88446 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31164 /* 88448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31165 /* 88452 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
31166 /* 88455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31167 /* 88459 */ GIR_RootConstrainSelectedInstOperands,
31168 /* 88460 */ // GIR_Coverage, 17287,
31169 /* 88460 */ GIR_EraseRootFromParent_Done,
31170 /* 88461 */ // Label 1932: @88461
31171 /* 88461 */ GIM_Reject,
31172 /* 88462 */ // Label 1928: @88462
31173 /* 88462 */ GIM_Try, /*On fail goto*//*Label 1933*/ GIMT_Encode4(88516), // Rule ID 17288 //
31174 /* 88467 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31175 /* 88470 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
31176 /* 88477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31177 /* 88481 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
31178 /* 88485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31179 /* 88489 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31180 /* 88496 */ // (atomic_load_add:{ *:[i64] } addr:{ *:[iPTR] }:$ptr, GR64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_i64>> => (LXADD64:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$val, addr:{ *:[iPTR] }:$ptr)
31181 /* 88496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD64),
31182 /* 88499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31183 /* 88501 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
31184 /* 88503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
31185 /* 88507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
31186 /* 88510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31187 /* 88514 */ GIR_RootConstrainSelectedInstOperands,
31188 /* 88515 */ // GIR_Coverage, 17288,
31189 /* 88515 */ GIR_EraseRootFromParent_Done,
31190 /* 88516 */ // Label 1933: @88516
31191 /* 88516 */ GIM_Reject,
31192 /* 88517 */ // Label 1929: @88517
31193 /* 88517 */ GIM_Reject,
31194 /* 88518 */ // Label 17: @88518
31195 /* 88518 */ GIM_Try, /*On fail goto*//*Label 1934*/ GIMT_Encode4(88673),
31196 /* 88523 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
31197 /* 88526 */ GIM_Try, /*On fail goto*//*Label 1935*/ GIMT_Encode4(88576), // Rule ID 156 //
31198 /* 88531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
31199 /* 88534 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31200 /* 88537 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31201 /* 88540 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
31202 /* 88544 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
31203 /* 88548 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
31204 /* 88552 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
31205 /* 88556 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31206 /* 88563 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 3:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT0 addr:{ *:[iPTR] }:$src)
31207 /* 88563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT0),
31208 /* 88566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31209 /* 88570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31210 /* 88574 */ GIR_RootConstrainSelectedInstOperands,
31211 /* 88575 */ // GIR_Coverage, 156,
31212 /* 88575 */ GIR_EraseRootFromParent_Done,
31213 /* 88576 */ // Label 1935: @88576
31214 /* 88576 */ GIM_Try, /*On fail goto*//*Label 1936*/ GIMT_Encode4(88626), // Rule ID 157 //
31215 /* 88581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
31216 /* 88584 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31217 /* 88587 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31218 /* 88590 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
31219 /* 88594 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
31220 /* 88598 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
31221 /* 88602 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
31222 /* 88606 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31223 /* 88613 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 2:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT1 addr:{ *:[iPTR] }:$src)
31224 /* 88613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT1),
31225 /* 88616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31226 /* 88620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31227 /* 88624 */ GIR_RootConstrainSelectedInstOperands,
31228 /* 88625 */ // GIR_Coverage, 157,
31229 /* 88625 */ GIR_EraseRootFromParent_Done,
31230 /* 88626 */ // Label 1936: @88626
31231 /* 88626 */ GIM_Try, /*On fail goto*//*Label 1937*/ GIMT_Encode4(88672), // Rule ID 16986 //
31232 /* 88631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPrefetchW),
31233 /* 88634 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31234 /* 88637 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
31235 /* 88641 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 1,
31236 /* 88645 */ // MIs[0] Operand 2
31237 /* 88645 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
31238 /* 88648 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
31239 /* 88652 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31240 /* 88659 */ // (prefetch addr:{ *:[iPTR] }:$addr, 1:{ *:[i32] }, (timm:{ *:[i32] })<<P:Predicate_PrefetchWLevel>>, 1:{ *:[i32] }) => (PREFETCHW addr:{ *:[iPTR] }:$addr)
31241 /* 88659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHW),
31242 /* 88662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // addr
31243 /* 88666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31244 /* 88670 */ GIR_RootConstrainSelectedInstOperands,
31245 /* 88671 */ // GIR_Coverage, 16986,
31246 /* 88671 */ GIR_EraseRootFromParent_Done,
31247 /* 88672 */ // Label 1937: @88672
31248 /* 88672 */ GIM_Reject,
31249 /* 88673 */ // Label 1934: @88673
31250 /* 88673 */ GIM_Try, /*On fail goto*//*Label 1938*/ GIMT_Encode4(88836),
31251 /* 88678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31252 /* 88681 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31253 /* 88684 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
31254 /* 88688 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
31255 /* 88691 */ GIM_Try, /*On fail goto*//*Label 1939*/ GIMT_Encode4(88727), // Rule ID 2504 //
31256 /* 88696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
31257 /* 88699 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
31258 /* 88703 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
31259 /* 88707 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31260 /* 88714 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 3:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT0 addr:{ *:[iPTR] }:$src)
31261 /* 88714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT0),
31262 /* 88717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31263 /* 88721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31264 /* 88725 */ GIR_RootConstrainSelectedInstOperands,
31265 /* 88726 */ // GIR_Coverage, 2504,
31266 /* 88726 */ GIR_EraseRootFromParent_Done,
31267 /* 88727 */ // Label 1939: @88727
31268 /* 88727 */ GIM_Try, /*On fail goto*//*Label 1940*/ GIMT_Encode4(88763), // Rule ID 2505 //
31269 /* 88732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
31270 /* 88735 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
31271 /* 88739 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
31272 /* 88743 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31273 /* 88750 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 2:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT1 addr:{ *:[iPTR] }:$src)
31274 /* 88750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT1),
31275 /* 88753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31276 /* 88757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31277 /* 88761 */ GIR_RootConstrainSelectedInstOperands,
31278 /* 88762 */ // GIR_Coverage, 2505,
31279 /* 88762 */ GIR_EraseRootFromParent_Done,
31280 /* 88763 */ // Label 1940: @88763
31281 /* 88763 */ GIM_Try, /*On fail goto*//*Label 1941*/ GIMT_Encode4(88799), // Rule ID 2506 //
31282 /* 88768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
31283 /* 88771 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
31284 /* 88775 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
31285 /* 88779 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31286 /* 88786 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 1:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT2 addr:{ *:[iPTR] }:$src)
31287 /* 88786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT2),
31288 /* 88789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31289 /* 88793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31290 /* 88797 */ GIR_RootConstrainSelectedInstOperands,
31291 /* 88798 */ // GIR_Coverage, 2506,
31292 /* 88798 */ GIR_EraseRootFromParent_Done,
31293 /* 88799 */ // Label 1941: @88799
31294 /* 88799 */ GIM_Try, /*On fail goto*//*Label 1942*/ GIMT_Encode4(88835), // Rule ID 2507 //
31295 /* 88804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
31296 /* 88807 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
31297 /* 88811 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
31298 /* 88815 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31299 /* 88822 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 0:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHNTA addr:{ *:[iPTR] }:$src)
31300 /* 88822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHNTA),
31301 /* 88825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31302 /* 88829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
31303 /* 88833 */ GIR_RootConstrainSelectedInstOperands,
31304 /* 88834 */ // GIR_Coverage, 2507,
31305 /* 88834 */ GIR_EraseRootFromParent_Done,
31306 /* 88835 */ // Label 1942: @88835
31307 /* 88835 */ GIM_Reject,
31308 /* 88836 */ // Label 1938: @88836
31309 /* 88836 */ GIM_Reject,
31310 /* 88837 */ // Label 18: @88837
31311 /* 88837 */ GIM_Try, /*On fail goto*//*Label 1943*/ GIMT_Encode4(91166),
31312 /* 88842 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
31313 /* 88845 */ GIM_Try, /*On fail goto*//*Label 1944*/ GIMT_Encode4(88912), // Rule ID 1529 //
31314 /* 88850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31315 /* 88853 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
31316 /* 88858 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31317 /* 88861 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31318 /* 88864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31319 /* 88868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31320 /* 88872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31321 /* 88876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31322 /* 88879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31323 /* 88883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31324 /* 88887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31325 /* 88889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31326 /* 88896 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16086:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
31327 /* 88896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrm),
31328 /* 88899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31329 /* 88901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31330 /* 88905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31331 /* 88910 */ GIR_RootConstrainSelectedInstOperands,
31332 /* 88911 */ // GIR_Coverage, 1529,
31333 /* 88911 */ GIR_EraseRootFromParent_Done,
31334 /* 88912 */ // Label 1944: @88912
31335 /* 88912 */ GIM_Try, /*On fail goto*//*Label 1945*/ GIMT_Encode4(88979), // Rule ID 1531 //
31336 /* 88917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31337 /* 88920 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
31338 /* 88925 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31339 /* 88928 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31340 /* 88931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31341 /* 88935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31342 /* 88939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31343 /* 88943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31344 /* 88946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31345 /* 88950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31346 /* 88954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31347 /* 88956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31348 /* 88963 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16085:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
31349 /* 88963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrm),
31350 /* 88966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31351 /* 88968 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31352 /* 88972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31353 /* 88977 */ GIR_RootConstrainSelectedInstOperands,
31354 /* 88978 */ // GIR_Coverage, 1531,
31355 /* 88978 */ GIR_EraseRootFromParent_Done,
31356 /* 88979 */ // Label 1945: @88979
31357 /* 88979 */ GIM_Try, /*On fail goto*//*Label 1946*/ GIMT_Encode4(89046), // Rule ID 1533 //
31358 /* 88984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31359 /* 88987 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
31360 /* 88992 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31361 /* 88995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31362 /* 88998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31363 /* 89002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31364 /* 89006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31365 /* 89010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31366 /* 89013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31367 /* 89017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31368 /* 89021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31369 /* 89023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31370 /* 89030 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16084:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
31371 /* 89030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrm),
31372 /* 89033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31373 /* 89035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31374 /* 89039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31375 /* 89044 */ GIR_RootConstrainSelectedInstOperands,
31376 /* 89045 */ // GIR_Coverage, 1533,
31377 /* 89045 */ GIR_EraseRootFromParent_Done,
31378 /* 89046 */ // Label 1946: @89046
31379 /* 89046 */ GIM_Try, /*On fail goto*//*Label 1947*/ GIMT_Encode4(89113), // Rule ID 1535 //
31380 /* 89051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31381 /* 89054 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
31382 /* 89059 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31383 /* 89062 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31384 /* 89065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31385 /* 89069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31386 /* 89073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31387 /* 89077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31388 /* 89080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31389 /* 89084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31390 /* 89088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31391 /* 89090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31392 /* 89097 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16083:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
31393 /* 89097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrm),
31394 /* 89100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31395 /* 89102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31396 /* 89106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31397 /* 89111 */ GIR_RootConstrainSelectedInstOperands,
31398 /* 89112 */ // GIR_Coverage, 1535,
31399 /* 89112 */ GIR_EraseRootFromParent_Done,
31400 /* 89113 */ // Label 1947: @89113
31401 /* 89113 */ GIM_Try, /*On fail goto*//*Label 1948*/ GIMT_Encode4(89180), // Rule ID 1537 //
31402 /* 89118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31403 /* 89121 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
31404 /* 89126 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31405 /* 89129 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31406 /* 89132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31407 /* 89136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31408 /* 89140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31409 /* 89144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31410 /* 89147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31411 /* 89151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31412 /* 89155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31413 /* 89157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31414 /* 89164 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16082:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
31415 /* 89164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrm),
31416 /* 89167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31417 /* 89169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31418 /* 89173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31419 /* 89178 */ GIR_RootConstrainSelectedInstOperands,
31420 /* 89179 */ // GIR_Coverage, 1537,
31421 /* 89179 */ GIR_EraseRootFromParent_Done,
31422 /* 89180 */ // Label 1948: @89180
31423 /* 89180 */ GIM_Try, /*On fail goto*//*Label 1949*/ GIMT_Encode4(89247), // Rule ID 1539 //
31424 /* 89185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31425 /* 89188 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
31426 /* 89193 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31427 /* 89196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31428 /* 89199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31429 /* 89203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31430 /* 89207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31431 /* 89211 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31432 /* 89214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31433 /* 89218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31434 /* 89222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31435 /* 89224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31436 /* 89231 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16081:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
31437 /* 89231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrm),
31438 /* 89234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31439 /* 89236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31440 /* 89240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31441 /* 89245 */ GIR_RootConstrainSelectedInstOperands,
31442 /* 89246 */ // GIR_Coverage, 1539,
31443 /* 89246 */ GIR_EraseRootFromParent_Done,
31444 /* 89247 */ // Label 1949: @89247
31445 /* 89247 */ GIM_Try, /*On fail goto*//*Label 1950*/ GIMT_Encode4(89314), // Rule ID 1541 //
31446 /* 89252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31447 /* 89255 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
31448 /* 89260 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31449 /* 89263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31450 /* 89266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31451 /* 89270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31452 /* 89274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31453 /* 89278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31454 /* 89281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31455 /* 89285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31456 /* 89289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31457 /* 89291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31458 /* 89298 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16080:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
31459 /* 89298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrm),
31460 /* 89301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31461 /* 89303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31462 /* 89307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31463 /* 89312 */ GIR_RootConstrainSelectedInstOperands,
31464 /* 89313 */ // GIR_Coverage, 1541,
31465 /* 89313 */ GIR_EraseRootFromParent_Done,
31466 /* 89314 */ // Label 1950: @89314
31467 /* 89314 */ GIM_Try, /*On fail goto*//*Label 1951*/ GIMT_Encode4(89381), // Rule ID 1543 //
31468 /* 89319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31469 /* 89322 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
31470 /* 89327 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31471 /* 89330 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31472 /* 89333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31473 /* 89337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31474 /* 89341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31475 /* 89345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31476 /* 89348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31477 /* 89352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31478 /* 89356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31479 /* 89358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31480 /* 89365 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16079:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
31481 /* 89365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrm),
31482 /* 89368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31483 /* 89370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31484 /* 89374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31485 /* 89379 */ GIR_RootConstrainSelectedInstOperands,
31486 /* 89380 */ // GIR_Coverage, 1543,
31487 /* 89380 */ GIR_EraseRootFromParent_Done,
31488 /* 89381 */ // Label 1951: @89381
31489 /* 89381 */ GIM_Try, /*On fail goto*//*Label 1952*/ GIMT_Encode4(89448), // Rule ID 1545 //
31490 /* 89386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31491 /* 89389 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
31492 /* 89394 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31493 /* 89397 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31494 /* 89400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31495 /* 89404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31496 /* 89408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31497 /* 89412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31498 /* 89415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31499 /* 89419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31500 /* 89423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31501 /* 89425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31502 /* 89432 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16078:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
31503 /* 89432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrm),
31504 /* 89435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31505 /* 89437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31506 /* 89441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31507 /* 89446 */ GIR_RootConstrainSelectedInstOperands,
31508 /* 89447 */ // GIR_Coverage, 1545,
31509 /* 89447 */ GIR_EraseRootFromParent_Done,
31510 /* 89448 */ // Label 1952: @89448
31511 /* 89448 */ GIM_Try, /*On fail goto*//*Label 1953*/ GIMT_Encode4(89515), // Rule ID 1547 //
31512 /* 89453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31513 /* 89456 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
31514 /* 89461 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31515 /* 89464 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31516 /* 89467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31517 /* 89471 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31518 /* 89475 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31519 /* 89479 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31520 /* 89482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31521 /* 89486 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31522 /* 89490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31523 /* 89492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31524 /* 89499 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16077:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
31525 /* 89499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrm),
31526 /* 89502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31527 /* 89504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31528 /* 89508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31529 /* 89513 */ GIR_RootConstrainSelectedInstOperands,
31530 /* 89514 */ // GIR_Coverage, 1547,
31531 /* 89514 */ GIR_EraseRootFromParent_Done,
31532 /* 89515 */ // Label 1953: @89515
31533 /* 89515 */ GIM_Try, /*On fail goto*//*Label 1954*/ GIMT_Encode4(89582), // Rule ID 1549 //
31534 /* 89520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31535 /* 89523 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
31536 /* 89528 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31537 /* 89531 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31538 /* 89534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31539 /* 89538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31540 /* 89542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31541 /* 89546 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31542 /* 89549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31543 /* 89553 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31544 /* 89557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31545 /* 89559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31546 /* 89566 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16076:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
31547 /* 89566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrm),
31548 /* 89569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31549 /* 89571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31550 /* 89575 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31551 /* 89580 */ GIR_RootConstrainSelectedInstOperands,
31552 /* 89581 */ // GIR_Coverage, 1549,
31553 /* 89581 */ GIR_EraseRootFromParent_Done,
31554 /* 89582 */ // Label 1954: @89582
31555 /* 89582 */ GIM_Try, /*On fail goto*//*Label 1955*/ GIMT_Encode4(89649), // Rule ID 1551 //
31556 /* 89587 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31557 /* 89590 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
31558 /* 89595 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31559 /* 89598 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31560 /* 89601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31561 /* 89605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31562 /* 89609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31563 /* 89613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31564 /* 89616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31565 /* 89620 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31566 /* 89624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31567 /* 89626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31568 /* 89633 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16075:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
31569 /* 89633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrm),
31570 /* 89636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31571 /* 89638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31572 /* 89642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31573 /* 89647 */ GIR_RootConstrainSelectedInstOperands,
31574 /* 89648 */ // GIR_Coverage, 1551,
31575 /* 89648 */ GIR_EraseRootFromParent_Done,
31576 /* 89649 */ // Label 1955: @89649
31577 /* 89649 */ GIM_Try, /*On fail goto*//*Label 1956*/ GIMT_Encode4(89716), // Rule ID 1553 //
31578 /* 89654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31579 /* 89657 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
31580 /* 89662 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31581 /* 89665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31582 /* 89668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31583 /* 89672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31584 /* 89676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31585 /* 89680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31586 /* 89683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31587 /* 89687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31588 /* 89691 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31589 /* 89693 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31590 /* 89700 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16074:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
31591 /* 89700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrm),
31592 /* 89703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31593 /* 89705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31594 /* 89709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31595 /* 89714 */ GIR_RootConstrainSelectedInstOperands,
31596 /* 89715 */ // GIR_Coverage, 1553,
31597 /* 89715 */ GIR_EraseRootFromParent_Done,
31598 /* 89716 */ // Label 1956: @89716
31599 /* 89716 */ GIM_Try, /*On fail goto*//*Label 1957*/ GIMT_Encode4(89783), // Rule ID 1555 //
31600 /* 89721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31601 /* 89724 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
31602 /* 89729 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31603 /* 89732 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31604 /* 89735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31605 /* 89739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31606 /* 89743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31607 /* 89747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31608 /* 89750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31609 /* 89754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31610 /* 89758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31611 /* 89760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31612 /* 89767 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16073:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
31613 /* 89767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrm),
31614 /* 89770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31615 /* 89772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31616 /* 89776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31617 /* 89781 */ GIR_RootConstrainSelectedInstOperands,
31618 /* 89782 */ // GIR_Coverage, 1555,
31619 /* 89782 */ GIR_EraseRootFromParent_Done,
31620 /* 89783 */ // Label 1957: @89783
31621 /* 89783 */ GIM_Try, /*On fail goto*//*Label 1958*/ GIMT_Encode4(89850), // Rule ID 1557 //
31622 /* 89788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31623 /* 89791 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
31624 /* 89796 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31625 /* 89799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31626 /* 89802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31627 /* 89806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31628 /* 89810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31629 /* 89814 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31630 /* 89817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31631 /* 89821 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31632 /* 89825 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31633 /* 89827 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31634 /* 89834 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16072:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
31635 /* 89834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrm),
31636 /* 89837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31637 /* 89839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31638 /* 89843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31639 /* 89848 */ GIR_RootConstrainSelectedInstOperands,
31640 /* 89849 */ // GIR_Coverage, 1557,
31641 /* 89849 */ GIR_EraseRootFromParent_Done,
31642 /* 89850 */ // Label 1958: @89850
31643 /* 89850 */ GIM_Try, /*On fail goto*//*Label 1959*/ GIMT_Encode4(89917), // Rule ID 1563 //
31644 /* 89855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31645 /* 89858 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
31646 /* 89863 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31647 /* 89866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31648 /* 89869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31649 /* 89873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31650 /* 89877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31651 /* 89881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31652 /* 89884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31653 /* 89888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31654 /* 89892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31655 /* 89894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31656 /* 89901 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16064:{ *:[iPTR] }, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
31657 /* 89901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrm),
31658 /* 89904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31659 /* 89906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31660 /* 89910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31661 /* 89915 */ GIR_RootConstrainSelectedInstOperands,
31662 /* 89916 */ // GIR_Coverage, 1563,
31663 /* 89916 */ GIR_EraseRootFromParent_Done,
31664 /* 89917 */ // Label 1959: @89917
31665 /* 89917 */ GIM_Try, /*On fail goto*//*Label 1960*/ GIMT_Encode4(89984), // Rule ID 1565 //
31666 /* 89922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31667 /* 89925 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
31668 /* 89930 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31669 /* 89933 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31670 /* 89936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31671 /* 89940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31672 /* 89944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31673 /* 89948 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31674 /* 89951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31675 /* 89955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31676 /* 89959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31677 /* 89961 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31678 /* 89968 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16065:{ *:[iPTR] }, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
31679 /* 89968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrm),
31680 /* 89971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31681 /* 89973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31682 /* 89977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31683 /* 89982 */ GIR_RootConstrainSelectedInstOperands,
31684 /* 89983 */ // GIR_Coverage, 1565,
31685 /* 89983 */ GIR_EraseRootFromParent_Done,
31686 /* 89984 */ // Label 1960: @89984
31687 /* 89984 */ GIM_Try, /*On fail goto*//*Label 1961*/ GIMT_Encode4(90051), // Rule ID 1571 //
31688 /* 89989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31689 /* 89992 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
31690 /* 89997 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31691 /* 90000 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31692 /* 90003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31693 /* 90007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31694 /* 90011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31695 /* 90015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31696 /* 90018 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31697 /* 90022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31698 /* 90026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31699 /* 90028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31700 /* 90035 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16062:{ *:[iPTR] }, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
31701 /* 90035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrm),
31702 /* 90038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31703 /* 90040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31704 /* 90044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31705 /* 90049 */ GIR_RootConstrainSelectedInstOperands,
31706 /* 90050 */ // GIR_Coverage, 1571,
31707 /* 90050 */ GIR_EraseRootFromParent_Done,
31708 /* 90051 */ // Label 1961: @90051
31709 /* 90051 */ GIM_Try, /*On fail goto*//*Label 1962*/ GIMT_Encode4(90118), // Rule ID 1573 //
31710 /* 90056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31711 /* 90059 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
31712 /* 90064 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31713 /* 90067 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31714 /* 90070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31715 /* 90074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31716 /* 90078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31717 /* 90082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31718 /* 90085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31719 /* 90089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31720 /* 90093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31721 /* 90095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31722 /* 90102 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16063:{ *:[iPTR] }, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
31723 /* 90102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrm),
31724 /* 90105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31725 /* 90107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
31726 /* 90111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31727 /* 90116 */ GIR_RootConstrainSelectedInstOperands,
31728 /* 90117 */ // GIR_Coverage, 1573,
31729 /* 90117 */ GIR_EraseRootFromParent_Done,
31730 /* 90118 */ // Label 1962: @90118
31731 /* 90118 */ GIM_Try, /*On fail goto*//*Label 1963*/ GIMT_Encode4(90185), // Rule ID 3363 //
31732 /* 90123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31733 /* 90126 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31734 /* 90131 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31735 /* 90134 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31736 /* 90137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31737 /* 90141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31738 /* 90145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31739 /* 90149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31740 /* 90152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31741 /* 90156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31742 /* 90160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31743 /* 90162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31744 /* 90169 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14463:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESIMCrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
31745 /* 90169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrm),
31746 /* 90172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31747 /* 90174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
31748 /* 90178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31749 /* 90183 */ GIR_RootConstrainSelectedInstOperands,
31750 /* 90184 */ // GIR_Coverage, 3363,
31751 /* 90184 */ GIR_EraseRootFromParent_Done,
31752 /* 90185 */ // Label 1963: @90185
31753 /* 90185 */ GIM_Try, /*On fail goto*//*Label 1964*/ GIMT_Encode4(90221), // Rule ID 1528 //
31754 /* 90190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31755 /* 90193 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
31756 /* 90198 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31757 /* 90201 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31758 /* 90204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31759 /* 90208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31760 /* 90212 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16086:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHSUBWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31761 /* 90212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrr),
31762 /* 90215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31763 /* 90217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31764 /* 90219 */ GIR_RootConstrainSelectedInstOperands,
31765 /* 90220 */ // GIR_Coverage, 1528,
31766 /* 90220 */ GIR_EraseRootFromParent_Done,
31767 /* 90221 */ // Label 1964: @90221
31768 /* 90221 */ GIM_Try, /*On fail goto*//*Label 1965*/ GIMT_Encode4(90257), // Rule ID 1530 //
31769 /* 90226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31770 /* 90229 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
31771 /* 90234 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31772 /* 90237 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31773 /* 90240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31774 /* 90244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31775 /* 90248 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16085:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHSUBDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31776 /* 90248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrr),
31777 /* 90251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31778 /* 90253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31779 /* 90255 */ GIR_RootConstrainSelectedInstOperands,
31780 /* 90256 */ // GIR_Coverage, 1530,
31781 /* 90256 */ GIR_EraseRootFromParent_Done,
31782 /* 90257 */ // Label 1965: @90257
31783 /* 90257 */ GIM_Try, /*On fail goto*//*Label 1966*/ GIMT_Encode4(90293), // Rule ID 1532 //
31784 /* 90262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31785 /* 90265 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
31786 /* 90270 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31787 /* 90273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31788 /* 90276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31789 /* 90280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31790 /* 90284 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16084:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHSUBBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31791 /* 90284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrr),
31792 /* 90287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31793 /* 90289 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31794 /* 90291 */ GIR_RootConstrainSelectedInstOperands,
31795 /* 90292 */ // GIR_Coverage, 1532,
31796 /* 90292 */ GIR_EraseRootFromParent_Done,
31797 /* 90293 */ // Label 1966: @90293
31798 /* 90293 */ GIM_Try, /*On fail goto*//*Label 1967*/ GIMT_Encode4(90329), // Rule ID 1534 //
31799 /* 90298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31800 /* 90301 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
31801 /* 90306 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31802 /* 90309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31803 /* 90312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31804 /* 90316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31805 /* 90320 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16083:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
31806 /* 90320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrr),
31807 /* 90323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31808 /* 90325 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31809 /* 90327 */ GIR_RootConstrainSelectedInstOperands,
31810 /* 90328 */ // GIR_Coverage, 1534,
31811 /* 90328 */ GIR_EraseRootFromParent_Done,
31812 /* 90329 */ // Label 1967: @90329
31813 /* 90329 */ GIM_Try, /*On fail goto*//*Label 1968*/ GIMT_Encode4(90365), // Rule ID 1536 //
31814 /* 90334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31815 /* 90337 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
31816 /* 90342 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31817 /* 90345 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31818 /* 90348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31819 /* 90352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31820 /* 90356 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16082:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31821 /* 90356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrr),
31822 /* 90359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31823 /* 90361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31824 /* 90363 */ GIR_RootConstrainSelectedInstOperands,
31825 /* 90364 */ // GIR_Coverage, 1536,
31826 /* 90364 */ GIR_EraseRootFromParent_Done,
31827 /* 90365 */ // Label 1968: @90365
31828 /* 90365 */ GIM_Try, /*On fail goto*//*Label 1969*/ GIMT_Encode4(90401), // Rule ID 1538 //
31829 /* 90370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31830 /* 90373 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
31831 /* 90378 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31832 /* 90381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31833 /* 90384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31834 /* 90388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31835 /* 90392 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16081:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
31836 /* 90392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrr),
31837 /* 90395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31838 /* 90397 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31839 /* 90399 */ GIR_RootConstrainSelectedInstOperands,
31840 /* 90400 */ // GIR_Coverage, 1538,
31841 /* 90400 */ GIR_EraseRootFromParent_Done,
31842 /* 90401 */ // Label 1969: @90401
31843 /* 90401 */ GIM_Try, /*On fail goto*//*Label 1970*/ GIMT_Encode4(90437), // Rule ID 1540 //
31844 /* 90406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31845 /* 90409 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
31846 /* 90414 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31847 /* 90417 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31848 /* 90420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31849 /* 90424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31850 /* 90428 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16080:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31851 /* 90428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrr),
31852 /* 90431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31853 /* 90433 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31854 /* 90435 */ GIR_RootConstrainSelectedInstOperands,
31855 /* 90436 */ // GIR_Coverage, 1540,
31856 /* 90436 */ GIR_EraseRootFromParent_Done,
31857 /* 90437 */ // Label 1970: @90437
31858 /* 90437 */ GIM_Try, /*On fail goto*//*Label 1971*/ GIMT_Encode4(90473), // Rule ID 1542 //
31859 /* 90442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31860 /* 90445 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
31861 /* 90450 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31862 /* 90453 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31863 /* 90456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31864 /* 90460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31865 /* 90464 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16079:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDUDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31866 /* 90464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrr),
31867 /* 90467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31868 /* 90469 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31869 /* 90471 */ GIR_RootConstrainSelectedInstOperands,
31870 /* 90472 */ // GIR_Coverage, 1542,
31871 /* 90472 */ GIR_EraseRootFromParent_Done,
31872 /* 90473 */ // Label 1971: @90473
31873 /* 90473 */ GIM_Try, /*On fail goto*//*Label 1972*/ GIMT_Encode4(90509), // Rule ID 1544 //
31874 /* 90478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31875 /* 90481 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
31876 /* 90486 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31877 /* 90489 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31878 /* 90492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31879 /* 90496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31880 /* 90500 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16078:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31881 /* 90500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrr),
31882 /* 90503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31883 /* 90505 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31884 /* 90507 */ GIR_RootConstrainSelectedInstOperands,
31885 /* 90508 */ // GIR_Coverage, 1544,
31886 /* 90508 */ GIR_EraseRootFromParent_Done,
31887 /* 90509 */ // Label 1972: @90509
31888 /* 90509 */ GIM_Try, /*On fail goto*//*Label 1973*/ GIMT_Encode4(90545), // Rule ID 1546 //
31889 /* 90514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31890 /* 90517 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
31891 /* 90522 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31892 /* 90525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31893 /* 90528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31894 /* 90532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31895 /* 90536 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16077:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
31896 /* 90536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrr),
31897 /* 90539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31898 /* 90541 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31899 /* 90543 */ GIR_RootConstrainSelectedInstOperands,
31900 /* 90544 */ // GIR_Coverage, 1546,
31901 /* 90544 */ GIR_EraseRootFromParent_Done,
31902 /* 90545 */ // Label 1973: @90545
31903 /* 90545 */ GIM_Try, /*On fail goto*//*Label 1974*/ GIMT_Encode4(90581), // Rule ID 1548 //
31904 /* 90550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31905 /* 90553 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
31906 /* 90558 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31907 /* 90561 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31908 /* 90564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31909 /* 90568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31910 /* 90572 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16076:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
31911 /* 90572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrr),
31912 /* 90575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31913 /* 90577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31914 /* 90579 */ GIR_RootConstrainSelectedInstOperands,
31915 /* 90580 */ // GIR_Coverage, 1548,
31916 /* 90580 */ GIR_EraseRootFromParent_Done,
31917 /* 90581 */ // Label 1974: @90581
31918 /* 90581 */ GIM_Try, /*On fail goto*//*Label 1975*/ GIMT_Encode4(90617), // Rule ID 1550 //
31919 /* 90586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31920 /* 90589 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
31921 /* 90594 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31922 /* 90597 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31923 /* 90600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31924 /* 90604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31925 /* 90608 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16075:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31926 /* 90608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrr),
31927 /* 90611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31928 /* 90613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31929 /* 90615 */ GIR_RootConstrainSelectedInstOperands,
31930 /* 90616 */ // GIR_Coverage, 1550,
31931 /* 90616 */ GIR_EraseRootFromParent_Done,
31932 /* 90617 */ // Label 1975: @90617
31933 /* 90617 */ GIM_Try, /*On fail goto*//*Label 1976*/ GIMT_Encode4(90653), // Rule ID 1552 //
31934 /* 90622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31935 /* 90625 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
31936 /* 90630 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31937 /* 90633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31938 /* 90636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31939 /* 90640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31940 /* 90644 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16074:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31941 /* 90644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrr),
31942 /* 90647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31943 /* 90649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31944 /* 90651 */ GIR_RootConstrainSelectedInstOperands,
31945 /* 90652 */ // GIR_Coverage, 1552,
31946 /* 90652 */ GIR_EraseRootFromParent_Done,
31947 /* 90653 */ // Label 1976: @90653
31948 /* 90653 */ GIM_Try, /*On fail goto*//*Label 1977*/ GIMT_Encode4(90689), // Rule ID 1554 //
31949 /* 90658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31950 /* 90661 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
31951 /* 90666 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31952 /* 90669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31953 /* 90672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31954 /* 90676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31955 /* 90680 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16073:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
31956 /* 90680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrr),
31957 /* 90683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31958 /* 90685 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31959 /* 90687 */ GIR_RootConstrainSelectedInstOperands,
31960 /* 90688 */ // GIR_Coverage, 1554,
31961 /* 90688 */ GIR_EraseRootFromParent_Done,
31962 /* 90689 */ // Label 1977: @90689
31963 /* 90689 */ GIM_Try, /*On fail goto*//*Label 1978*/ GIMT_Encode4(90725), // Rule ID 1556 //
31964 /* 90694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31965 /* 90697 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
31966 /* 90702 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31967 /* 90705 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31968 /* 90708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31969 /* 90712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31970 /* 90716 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16072:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
31971 /* 90716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrr),
31972 /* 90719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31973 /* 90721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31974 /* 90723 */ GIR_RootConstrainSelectedInstOperands,
31975 /* 90724 */ // GIR_Coverage, 1556,
31976 /* 90724 */ GIR_EraseRootFromParent_Done,
31977 /* 90725 */ // Label 1978: @90725
31978 /* 90725 */ GIM_Try, /*On fail goto*//*Label 1979*/ GIMT_Encode4(90761), // Rule ID 1558 //
31979 /* 90730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31980 /* 90733 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ss),
31981 /* 90738 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31982 /* 90741 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31983 /* 90744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31984 /* 90748 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31985 /* 90752 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16067:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZSSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
31986 /* 90752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSSrr),
31987 /* 90755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31988 /* 90757 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31989 /* 90759 */ GIR_RootConstrainSelectedInstOperands,
31990 /* 90760 */ // GIR_Coverage, 1558,
31991 /* 90760 */ GIR_EraseRootFromParent_Done,
31992 /* 90761 */ // Label 1979: @90761
31993 /* 90761 */ GIM_Try, /*On fail goto*//*Label 1980*/ GIMT_Encode4(90797), // Rule ID 1562 //
31994 /* 90766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31995 /* 90769 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
31996 /* 90774 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31997 /* 90777 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31998 /* 90780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31999 /* 90784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32000 /* 90788 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16064:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
32001 /* 90788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrr),
32002 /* 90791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32003 /* 90793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32004 /* 90795 */ GIR_RootConstrainSelectedInstOperands,
32005 /* 90796 */ // GIR_Coverage, 1562,
32006 /* 90796 */ GIR_EraseRootFromParent_Done,
32007 /* 90797 */ // Label 1980: @90797
32008 /* 90797 */ GIM_Try, /*On fail goto*//*Label 1981*/ GIMT_Encode4(90833), // Rule ID 1564 //
32009 /* 90802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
32010 /* 90805 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
32011 /* 90810 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32012 /* 90813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32013 /* 90816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32014 /* 90820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32015 /* 90824 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16065:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src) => (VFRCZPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
32016 /* 90824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrr),
32017 /* 90827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32018 /* 90829 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32019 /* 90831 */ GIR_RootConstrainSelectedInstOperands,
32020 /* 90832 */ // GIR_Coverage, 1564,
32021 /* 90832 */ GIR_EraseRootFromParent_Done,
32022 /* 90833 */ // Label 1981: @90833
32023 /* 90833 */ GIM_Try, /*On fail goto*//*Label 1982*/ GIMT_Encode4(90869), // Rule ID 1566 //
32024 /* 90838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
32025 /* 90841 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_sd),
32026 /* 90846 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32027 /* 90849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32028 /* 90852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32029 /* 90856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32030 /* 90860 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16066:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZSDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
32031 /* 90860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSDrr),
32032 /* 90863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32033 /* 90865 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32034 /* 90867 */ GIR_RootConstrainSelectedInstOperands,
32035 /* 90868 */ // GIR_Coverage, 1566,
32036 /* 90868 */ GIR_EraseRootFromParent_Done,
32037 /* 90869 */ // Label 1982: @90869
32038 /* 90869 */ GIM_Try, /*On fail goto*//*Label 1983*/ GIMT_Encode4(90905), // Rule ID 1570 //
32039 /* 90874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
32040 /* 90877 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
32041 /* 90882 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32042 /* 90885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32043 /* 90888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32044 /* 90892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32045 /* 90896 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16062:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
32046 /* 90896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrr),
32047 /* 90899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32048 /* 90901 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32049 /* 90903 */ GIR_RootConstrainSelectedInstOperands,
32050 /* 90904 */ // GIR_Coverage, 1570,
32051 /* 90904 */ GIR_EraseRootFromParent_Done,
32052 /* 90905 */ // Label 1983: @90905
32053 /* 90905 */ GIM_Try, /*On fail goto*//*Label 1984*/ GIMT_Encode4(90941), // Rule ID 1572 //
32054 /* 90910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
32055 /* 90913 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
32056 /* 90918 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32057 /* 90921 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32058 /* 90924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32059 /* 90928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32060 /* 90932 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16063:{ *:[iPTR] }, VR256:{ *:[v4f64] }:$src) => (VFRCZPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
32061 /* 90932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrr),
32062 /* 90935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32063 /* 90937 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32064 /* 90939 */ GIR_RootConstrainSelectedInstOperands,
32065 /* 90940 */ // GIR_Coverage, 1572,
32066 /* 90940 */ GIR_EraseRootFromParent_Done,
32067 /* 90941 */ // Label 1984: @90941
32068 /* 90941 */ GIM_Try, /*On fail goto*//*Label 1985*/ GIMT_Encode4(90977), // Rule ID 3362 //
32069 /* 90946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
32070 /* 90949 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
32071 /* 90954 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32072 /* 90957 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32073 /* 90960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32074 /* 90964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32075 /* 90968 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14463:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (VAESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
32076 /* 90968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrr),
32077 /* 90971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32078 /* 90973 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32079 /* 90975 */ GIR_RootConstrainSelectedInstOperands,
32080 /* 90976 */ // GIR_Coverage, 3362,
32081 /* 90976 */ GIR_EraseRootFromParent_Done,
32082 /* 90977 */ // Label 1985: @90977
32083 /* 90977 */ GIM_Try, /*On fail goto*//*Label 1986*/ GIMT_Encode4(91013), // Rule ID 3364 //
32084 /* 90982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32085 /* 90985 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
32086 /* 90990 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32087 /* 90993 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32088 /* 90996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32089 /* 91000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32090 /* 91004 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14463:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (AESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
32091 /* 91004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESIMCrr),
32092 /* 91007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32093 /* 91009 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32094 /* 91011 */ GIR_RootConstrainSelectedInstOperands,
32095 /* 91012 */ // GIR_Coverage, 3364,
32096 /* 91012 */ GIR_EraseRootFromParent_Done,
32097 /* 91013 */ // Label 1986: @91013
32098 /* 91013 */ GIM_Try, /*On fail goto*//*Label 1987*/ GIMT_Encode4(91051), // Rule ID 18255 //
32099 /* 91018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
32100 /* 91021 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
32101 /* 91026 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32102 /* 91029 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32103 /* 91032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32104 /* 91036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32105 /* 91040 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15798:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
32106 /* 91040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSQRTSSr_Int),
32107 /* 91043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32108 /* 91045 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32109 /* 91047 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32110 /* 91049 */ GIR_RootConstrainSelectedInstOperands,
32111 /* 91050 */ // GIR_Coverage, 18255,
32112 /* 91050 */ GIR_EraseRootFromParent_Done,
32113 /* 91051 */ // Label 1987: @91051
32114 /* 91051 */ GIM_Try, /*On fail goto*//*Label 1988*/ GIMT_Encode4(91089), // Rule ID 18259 //
32115 /* 91056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32116 /* 91059 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
32117 /* 91064 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32118 /* 91067 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32119 /* 91070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32120 /* 91074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32121 /* 91078 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15798:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
32122 /* 91078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRSQRTSSr_Int),
32123 /* 91081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32124 /* 91083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32125 /* 91085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32126 /* 91087 */ GIR_RootConstrainSelectedInstOperands,
32127 /* 91088 */ // GIR_Coverage, 18259,
32128 /* 91088 */ GIR_EraseRootFromParent_Done,
32129 /* 91089 */ // Label 1988: @91089
32130 /* 91089 */ GIM_Try, /*On fail goto*//*Label 1989*/ GIMT_Encode4(91127), // Rule ID 18275 //
32131 /* 91094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
32132 /* 91097 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
32133 /* 91102 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32134 /* 91105 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32135 /* 91108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32136 /* 91112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32137 /* 91116 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15796:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
32138 /* 91116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RCPSSr_Int),
32139 /* 91119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32140 /* 91121 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32141 /* 91123 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32142 /* 91125 */ GIR_RootConstrainSelectedInstOperands,
32143 /* 91126 */ // GIR_Coverage, 18275,
32144 /* 91126 */ GIR_EraseRootFromParent_Done,
32145 /* 91127 */ // Label 1989: @91127
32146 /* 91127 */ GIM_Try, /*On fail goto*//*Label 1990*/ GIMT_Encode4(91165), // Rule ID 18279 //
32147 /* 91132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32148 /* 91135 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
32149 /* 91140 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32150 /* 91143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32151 /* 91146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32152 /* 91150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32153 /* 91154 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15796:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
32154 /* 91154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRCPSSr_Int),
32155 /* 91157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32156 /* 91159 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32157 /* 91161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
32158 /* 91163 */ GIR_RootConstrainSelectedInstOperands,
32159 /* 91164 */ // GIR_Coverage, 18279,
32160 /* 91164 */ GIR_EraseRootFromParent_Done,
32161 /* 91165 */ // Label 1990: @91165
32162 /* 91165 */ GIM_Reject,
32163 /* 91166 */ // Label 1943: @91166
32164 /* 91166 */ GIM_Try, /*On fail goto*//*Label 1991*/ GIMT_Encode4(97373),
32165 /* 91171 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
32166 /* 91174 */ GIM_Try, /*On fail goto*//*Label 1992*/ GIMT_Encode4(91246), // Rule ID 3367 //
32167 /* 91179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
32168 /* 91182 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32169 /* 91187 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32170 /* 91190 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32171 /* 91193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32172 /* 91197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
32173 /* 91201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32174 /* 91205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32175 /* 91208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32176 /* 91212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32177 /* 91216 */ // MIs[0] src2
32178 /* 91216 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32179 /* 91219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32180 /* 91221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32181 /* 91228 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14464:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrmi:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, (timm:{ *:[i8] }):$src2)
32182 /* 91228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrmi),
32183 /* 91231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32184 /* 91233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
32185 /* 91237 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32186 /* 91239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32187 /* 91244 */ GIR_RootConstrainSelectedInstOperands,
32188 /* 91245 */ // GIR_Coverage, 3367,
32189 /* 91245 */ GIR_EraseRootFromParent_Done,
32190 /* 91246 */ // Label 1992: @91246
32191 /* 91246 */ GIM_Try, /*On fail goto*//*Label 1993*/ GIMT_Encode4(91322), // Rule ID 16793 //
32192 /* 91251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32193 /* 91254 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32194 /* 91259 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32195 /* 91262 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32196 /* 91265 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32197 /* 91268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32198 /* 91272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32199 /* 91276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32200 /* 91280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32201 /* 91284 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32202 /* 91287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32203 /* 91291 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32204 /* 91295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32205 /* 91297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32206 /* 91304 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16041:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32207 /* 91304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rm),
32208 /* 91307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32209 /* 91309 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32210 /* 91311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32211 /* 91315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32212 /* 91320 */ GIR_RootConstrainSelectedInstOperands,
32213 /* 91321 */ // GIR_Coverage, 16793,
32214 /* 91321 */ GIR_EraseRootFromParent_Done,
32215 /* 91322 */ // Label 1993: @91322
32216 /* 91322 */ GIM_Try, /*On fail goto*//*Label 1994*/ GIMT_Encode4(91398), // Rule ID 16795 //
32217 /* 91327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32218 /* 91330 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32219 /* 91335 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32220 /* 91338 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32221 /* 91341 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32222 /* 91344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32223 /* 91348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32224 /* 91352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32225 /* 91356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32226 /* 91360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32227 /* 91363 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32228 /* 91367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32229 /* 91371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32230 /* 91373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32231 /* 91380 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16042:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32232 /* 91380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rm),
32233 /* 91383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32234 /* 91385 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32235 /* 91387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32236 /* 91391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32237 /* 91396 */ GIR_RootConstrainSelectedInstOperands,
32238 /* 91397 */ // GIR_Coverage, 16795,
32239 /* 91397 */ GIR_EraseRootFromParent_Done,
32240 /* 91398 */ // Label 1994: @91398
32241 /* 91398 */ GIM_Try, /*On fail goto*//*Label 1995*/ GIMT_Encode4(91474), // Rule ID 16799 //
32242 /* 91403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32243 /* 91406 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32244 /* 91411 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32245 /* 91414 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32246 /* 91417 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32247 /* 91420 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32248 /* 91424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32249 /* 91428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32250 /* 91432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32251 /* 91436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32252 /* 91439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32253 /* 91443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32254 /* 91447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32255 /* 91449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32256 /* 91456 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16044:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32257 /* 91456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rm),
32258 /* 91459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32259 /* 91461 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32260 /* 91463 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32261 /* 91467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32262 /* 91472 */ GIR_RootConstrainSelectedInstOperands,
32263 /* 91473 */ // GIR_Coverage, 16799,
32264 /* 91473 */ GIR_EraseRootFromParent_Done,
32265 /* 91474 */ // Label 1995: @91474
32266 /* 91474 */ GIM_Try, /*On fail goto*//*Label 1996*/ GIMT_Encode4(91550), // Rule ID 16801 //
32267 /* 91479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32268 /* 91482 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32269 /* 91487 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32270 /* 91490 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32271 /* 91493 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32272 /* 91496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32273 /* 91500 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32274 /* 91504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32275 /* 91508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32276 /* 91512 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32277 /* 91515 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32278 /* 91519 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32279 /* 91523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32280 /* 91525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32281 /* 91532 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16045:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32282 /* 91532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rm),
32283 /* 91535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32284 /* 91537 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32285 /* 91539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32286 /* 91543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32287 /* 91548 */ GIR_RootConstrainSelectedInstOperands,
32288 /* 91549 */ // GIR_Coverage, 16801,
32289 /* 91549 */ GIR_EraseRootFromParent_Done,
32290 /* 91550 */ // Label 1996: @91550
32291 /* 91550 */ GIM_Try, /*On fail goto*//*Label 1997*/ GIMT_Encode4(91626), // Rule ID 3022 //
32292 /* 91555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32293 /* 91558 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32294 /* 91563 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32295 /* 91566 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32296 /* 91569 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32297 /* 91572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32298 /* 91576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32299 /* 91580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32300 /* 91584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32301 /* 91588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32302 /* 91591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32303 /* 91595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32304 /* 91599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32305 /* 91601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32306 /* 91608 */ // (intrinsic_wo_chain:{ *:[v16i8] } 15936:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
32307 /* 91608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrm),
32308 /* 91611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32309 /* 91613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32310 /* 91615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32311 /* 91619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32312 /* 91624 */ GIR_RootConstrainSelectedInstOperands,
32313 /* 91625 */ // GIR_Coverage, 3022,
32314 /* 91625 */ GIR_EraseRootFromParent_Done,
32315 /* 91626 */ // Label 1997: @91626
32316 /* 91626 */ GIM_Try, /*On fail goto*//*Label 1998*/ GIMT_Encode4(91702), // Rule ID 3024 //
32317 /* 91631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32318 /* 91634 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32319 /* 91639 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32320 /* 91642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32321 /* 91645 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32322 /* 91648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32323 /* 91652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32324 /* 91656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32325 /* 91660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32326 /* 91664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32327 /* 91667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32328 /* 91671 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32329 /* 91675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32330 /* 91677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32331 /* 91684 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15940:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
32332 /* 91684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrm),
32333 /* 91687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32334 /* 91689 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32335 /* 91691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32336 /* 91695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32337 /* 91700 */ GIR_RootConstrainSelectedInstOperands,
32338 /* 91701 */ // GIR_Coverage, 3024,
32339 /* 91701 */ GIR_EraseRootFromParent_Done,
32340 /* 91702 */ // Label 1998: @91702
32341 /* 91702 */ GIM_Try, /*On fail goto*//*Label 1999*/ GIMT_Encode4(91778), // Rule ID 3026 //
32342 /* 91707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32343 /* 91710 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32344 /* 91715 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32345 /* 91718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32346 /* 91721 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32347 /* 91724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32348 /* 91728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32349 /* 91732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32350 /* 91736 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32351 /* 91740 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32352 /* 91743 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32353 /* 91747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32354 /* 91751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32355 /* 91753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32356 /* 91760 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15938:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32357 /* 91760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrm),
32358 /* 91763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32359 /* 91765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32360 /* 91767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32361 /* 91771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32362 /* 91776 */ GIR_RootConstrainSelectedInstOperands,
32363 /* 91777 */ // GIR_Coverage, 3026,
32364 /* 91777 */ GIR_EraseRootFromParent_Done,
32365 /* 91778 */ // Label 1999: @91778
32366 /* 91778 */ GIM_Try, /*On fail goto*//*Label 2000*/ GIMT_Encode4(91854), // Rule ID 3046 //
32367 /* 91783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32368 /* 91786 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
32369 /* 91791 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
32370 /* 91794 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
32371 /* 91797 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
32372 /* 91800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32373 /* 91804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32374 /* 91808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32375 /* 91812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32376 /* 91816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32377 /* 91819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32378 /* 91823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32379 /* 91827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32380 /* 91829 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32381 /* 91836 */ // (intrinsic_wo_chain:{ *:[v32i8] } 14827:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
32382 /* 91836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrm),
32383 /* 91839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32384 /* 91841 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32385 /* 91843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32386 /* 91847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32387 /* 91852 */ GIR_RootConstrainSelectedInstOperands,
32388 /* 91853 */ // GIR_Coverage, 3046,
32389 /* 91853 */ GIR_EraseRootFromParent_Done,
32390 /* 91854 */ // Label 2000: @91854
32391 /* 91854 */ GIM_Try, /*On fail goto*//*Label 2001*/ GIMT_Encode4(91930), // Rule ID 3048 //
32392 /* 91859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32393 /* 91862 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
32394 /* 91867 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32395 /* 91870 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32396 /* 91873 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32397 /* 91876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32398 /* 91880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32399 /* 91884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32400 /* 91888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32401 /* 91892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32402 /* 91895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32403 /* 91899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32404 /* 91903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32405 /* 91905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32406 /* 91912 */ // (intrinsic_wo_chain:{ *:[v16i16] } 14829:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
32407 /* 91912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrm),
32408 /* 91915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32409 /* 91917 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32410 /* 91919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32411 /* 91923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32412 /* 91928 */ GIR_RootConstrainSelectedInstOperands,
32413 /* 91929 */ // GIR_Coverage, 3048,
32414 /* 91929 */ GIR_EraseRootFromParent_Done,
32415 /* 91930 */ // Label 2001: @91930
32416 /* 91930 */ GIM_Try, /*On fail goto*//*Label 2002*/ GIMT_Encode4(92006), // Rule ID 3050 //
32417 /* 91935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32418 /* 91938 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
32419 /* 91943 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32420 /* 91946 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32421 /* 91949 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32422 /* 91952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32423 /* 91956 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32424 /* 91960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32425 /* 91964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32426 /* 91968 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32427 /* 91971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32428 /* 91975 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32429 /* 91979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32430 /* 91981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32431 /* 91988 */ // (intrinsic_wo_chain:{ *:[v8i32] } 14828:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32432 /* 91988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrm),
32433 /* 91991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32434 /* 91993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32435 /* 91995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32436 /* 91999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32437 /* 92004 */ GIR_RootConstrainSelectedInstOperands,
32438 /* 92005 */ // GIR_Coverage, 3050,
32439 /* 92005 */ GIR_EraseRootFromParent_Done,
32440 /* 92006 */ // Label 2002: @92006
32441 /* 92006 */ GIM_Try, /*On fail goto*//*Label 2003*/ GIMT_Encode4(92082), // Rule ID 3309 //
32442 /* 92011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32443 /* 92014 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32444 /* 92019 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32445 /* 92022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32446 /* 92025 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32447 /* 92028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32448 /* 92032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32449 /* 92036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32450 /* 92040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32451 /* 92044 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32452 /* 92047 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32453 /* 92051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32454 /* 92055 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32455 /* 92057 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32456 /* 92064 */ // (intrinsic_wo_chain:{ *:[i32] } 15894:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32457 /* 92064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8),
32458 /* 92067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32459 /* 92069 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32460 /* 92071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32461 /* 92075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32462 /* 92080 */ GIR_RootConstrainSelectedInstOperands,
32463 /* 92081 */ // GIR_Coverage, 3309,
32464 /* 92081 */ GIR_EraseRootFromParent_Done,
32465 /* 92082 */ // Label 2003: @92082
32466 /* 92082 */ GIM_Try, /*On fail goto*//*Label 2004*/ GIMT_Encode4(92158), // Rule ID 3311 //
32467 /* 92087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32468 /* 92090 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32469 /* 92095 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32470 /* 92098 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32471 /* 92101 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32472 /* 92104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32473 /* 92108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32474 /* 92112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32475 /* 92116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32476 /* 92120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32477 /* 92123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32478 /* 92127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32479 /* 92131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32480 /* 92133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32481 /* 92140 */ // (intrinsic_wo_chain:{ *:[i32] } 15892:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32482 /* 92140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16),
32483 /* 92143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32484 /* 92145 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32485 /* 92147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32486 /* 92151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32487 /* 92156 */ GIR_RootConstrainSelectedInstOperands,
32488 /* 92157 */ // GIR_Coverage, 3311,
32489 /* 92157 */ GIR_EraseRootFromParent_Done,
32490 /* 92158 */ // Label 2004: @92158
32491 /* 92158 */ GIM_Try, /*On fail goto*//*Label 2005*/ GIMT_Encode4(92234), // Rule ID 3313 //
32492 /* 92163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32493 /* 92166 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32494 /* 92171 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32495 /* 92174 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32496 /* 92177 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32497 /* 92180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32498 /* 92184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32499 /* 92188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32500 /* 92192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32501 /* 92196 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32502 /* 92199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32503 /* 92203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32504 /* 92207 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32505 /* 92209 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32506 /* 92216 */ // (intrinsic_wo_chain:{ *:[i32] } 15893:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32507 /* 92216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32),
32508 /* 92219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32509 /* 92221 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32510 /* 92223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32511 /* 92227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32512 /* 92232 */ GIR_RootConstrainSelectedInstOperands,
32513 /* 92233 */ // GIR_Coverage, 3313,
32514 /* 92233 */ GIR_EraseRootFromParent_Done,
32515 /* 92234 */ // Label 2005: @92234
32516 /* 92234 */ GIM_Try, /*On fail goto*//*Label 2006*/ GIMT_Encode4(92310), // Rule ID 3315 //
32517 /* 92239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32518 /* 92242 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32519 /* 92247 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32520 /* 92250 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32521 /* 92253 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32522 /* 92256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32523 /* 92260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32524 /* 92264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32525 /* 92268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32526 /* 92272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32527 /* 92275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32528 /* 92279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32529 /* 92283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32530 /* 92285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32531 /* 92292 */ // (intrinsic_wo_chain:{ *:[i64] } 15895:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32532 /* 92292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64),
32533 /* 92295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32534 /* 92297 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32535 /* 92299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32536 /* 92303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32537 /* 92308 */ GIR_RootConstrainSelectedInstOperands,
32538 /* 92309 */ // GIR_Coverage, 3315,
32539 /* 92309 */ GIR_EraseRootFromParent_Done,
32540 /* 92310 */ // Label 2006: @92310
32541 /* 92310 */ GIM_Try, /*On fail goto*//*Label 2007*/ GIMT_Encode4(92386), // Rule ID 3317 //
32542 /* 92315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32543 /* 92318 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32544 /* 92323 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32545 /* 92326 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32546 /* 92329 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32547 /* 92332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32548 /* 92336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32549 /* 92340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32550 /* 92344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32551 /* 92348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32552 /* 92351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32553 /* 92355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32554 /* 92359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32555 /* 92361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32556 /* 92368 */ // (intrinsic_wo_chain:{ *:[i32] } 15894:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32557 /* 92368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8_EVEX),
32558 /* 92371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32559 /* 92373 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32560 /* 92375 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32561 /* 92379 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32562 /* 92384 */ GIR_RootConstrainSelectedInstOperands,
32563 /* 92385 */ // GIR_Coverage, 3317,
32564 /* 92385 */ GIR_EraseRootFromParent_Done,
32565 /* 92386 */ // Label 2007: @92386
32566 /* 92386 */ GIM_Try, /*On fail goto*//*Label 2008*/ GIMT_Encode4(92462), // Rule ID 3319 //
32567 /* 92391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32568 /* 92394 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32569 /* 92399 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32570 /* 92402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32571 /* 92405 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32572 /* 92408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32573 /* 92412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32574 /* 92416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32575 /* 92420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32576 /* 92424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32577 /* 92427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32578 /* 92431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32579 /* 92435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32580 /* 92437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32581 /* 92444 */ // (intrinsic_wo_chain:{ *:[i32] } 15892:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32582 /* 92444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16_EVEX),
32583 /* 92447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32584 /* 92449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32585 /* 92451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32586 /* 92455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32587 /* 92460 */ GIR_RootConstrainSelectedInstOperands,
32588 /* 92461 */ // GIR_Coverage, 3319,
32589 /* 92461 */ GIR_EraseRootFromParent_Done,
32590 /* 92462 */ // Label 2008: @92462
32591 /* 92462 */ GIM_Try, /*On fail goto*//*Label 2009*/ GIMT_Encode4(92538), // Rule ID 3321 //
32592 /* 92467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32593 /* 92470 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32594 /* 92475 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32595 /* 92478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32596 /* 92481 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32597 /* 92484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32598 /* 92488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32599 /* 92492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32600 /* 92496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32601 /* 92500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32602 /* 92503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32603 /* 92507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32604 /* 92511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32605 /* 92513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32606 /* 92520 */ // (intrinsic_wo_chain:{ *:[i32] } 15893:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32607 /* 92520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32_EVEX),
32608 /* 92523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32609 /* 92525 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32610 /* 92527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32611 /* 92531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32612 /* 92536 */ GIR_RootConstrainSelectedInstOperands,
32613 /* 92537 */ // GIR_Coverage, 3321,
32614 /* 92537 */ GIR_EraseRootFromParent_Done,
32615 /* 92538 */ // Label 2009: @92538
32616 /* 92538 */ GIM_Try, /*On fail goto*//*Label 2010*/ GIMT_Encode4(92614), // Rule ID 3323 //
32617 /* 92543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32618 /* 92546 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32619 /* 92551 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32620 /* 92554 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32621 /* 92557 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32622 /* 92560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32623 /* 92564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32624 /* 92568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32625 /* 92572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32626 /* 92576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32627 /* 92579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32628 /* 92583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32629 /* 92587 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32630 /* 92589 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32631 /* 92596 */ // (intrinsic_wo_chain:{ *:[i64] } 15895:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32632 /* 92596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64_EVEX),
32633 /* 92599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32634 /* 92601 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32635 /* 92603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32636 /* 92607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32637 /* 92612 */ GIR_RootConstrainSelectedInstOperands,
32638 /* 92613 */ // GIR_Coverage, 3323,
32639 /* 92613 */ GIR_EraseRootFromParent_Done,
32640 /* 92614 */ // Label 2010: @92614
32641 /* 92614 */ GIM_Try, /*On fail goto*//*Label 2011*/ GIMT_Encode4(92690), // Rule ID 3339 //
32642 /* 92619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32643 /* 92622 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32644 /* 92627 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32645 /* 92630 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32646 /* 92633 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32647 /* 92636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32648 /* 92640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32649 /* 92644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32650 /* 92648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32651 /* 92652 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32652 /* 92655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32653 /* 92659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32654 /* 92663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32655 /* 92665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32656 /* 92672 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14457:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32657 /* 92672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrm),
32658 /* 92675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32659 /* 92677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32660 /* 92679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32661 /* 92683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32662 /* 92688 */ GIR_RootConstrainSelectedInstOperands,
32663 /* 92689 */ // GIR_Coverage, 3339,
32664 /* 92689 */ GIR_EraseRootFromParent_Done,
32665 /* 92690 */ // Label 2011: @92690
32666 /* 92690 */ GIM_Try, /*On fail goto*//*Label 2012*/ GIMT_Encode4(92766), // Rule ID 3341 //
32667 /* 92695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32668 /* 92698 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32669 /* 92703 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32670 /* 92706 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32671 /* 92709 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32672 /* 92712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32673 /* 92716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32674 /* 92720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32675 /* 92724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32676 /* 92728 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32677 /* 92731 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32678 /* 92735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32679 /* 92739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32680 /* 92741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32681 /* 92748 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14460:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32682 /* 92748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrm),
32683 /* 92751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32684 /* 92753 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32685 /* 92755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32686 /* 92759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32687 /* 92764 */ GIR_RootConstrainSelectedInstOperands,
32688 /* 92765 */ // GIR_Coverage, 3341,
32689 /* 92765 */ GIR_EraseRootFromParent_Done,
32690 /* 92766 */ // Label 2012: @92766
32691 /* 92766 */ GIM_Try, /*On fail goto*//*Label 2013*/ GIMT_Encode4(92842), // Rule ID 3343 //
32692 /* 92771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32693 /* 92774 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32694 /* 92779 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32695 /* 92782 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32696 /* 92785 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32697 /* 92788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32698 /* 92792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32699 /* 92796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32700 /* 92800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32701 /* 92804 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32702 /* 92807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32703 /* 92811 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32704 /* 92815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32705 /* 92817 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32706 /* 92824 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14451:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32707 /* 92824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrm),
32708 /* 92827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32709 /* 92829 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32710 /* 92831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32711 /* 92835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32712 /* 92840 */ GIR_RootConstrainSelectedInstOperands,
32713 /* 92841 */ // GIR_Coverage, 3343,
32714 /* 92841 */ GIR_EraseRootFromParent_Done,
32715 /* 92842 */ // Label 2013: @92842
32716 /* 92842 */ GIM_Try, /*On fail goto*//*Label 2014*/ GIMT_Encode4(92918), // Rule ID 3345 //
32717 /* 92847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
32718 /* 92850 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32719 /* 92855 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32720 /* 92858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32721 /* 92861 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32722 /* 92864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32723 /* 92868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32724 /* 92872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32725 /* 92876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32726 /* 92880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32727 /* 92883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32728 /* 92887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32729 /* 92891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32730 /* 92893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32731 /* 92900 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14454:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32732 /* 92900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrm),
32733 /* 92903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32734 /* 92905 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32735 /* 92907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32736 /* 92911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32737 /* 92916 */ GIR_RootConstrainSelectedInstOperands,
32738 /* 92917 */ // GIR_Coverage, 3345,
32739 /* 92917 */ GIR_EraseRootFromParent_Done,
32740 /* 92918 */ // Label 2014: @92918
32741 /* 92918 */ GIM_Try, /*On fail goto*//*Label 2015*/ GIMT_Encode4(92994), // Rule ID 3347 //
32742 /* 92923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32743 /* 92926 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32744 /* 92931 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32745 /* 92934 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32746 /* 92937 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32747 /* 92940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32748 /* 92944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32749 /* 92948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32750 /* 92952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32751 /* 92956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32752 /* 92959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32753 /* 92963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32754 /* 92967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32755 /* 92969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32756 /* 92976 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14458:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32757 /* 92976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrm),
32758 /* 92979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32759 /* 92981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32760 /* 92983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32761 /* 92987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32762 /* 92992 */ GIR_RootConstrainSelectedInstOperands,
32763 /* 92993 */ // GIR_Coverage, 3347,
32764 /* 92993 */ GIR_EraseRootFromParent_Done,
32765 /* 92994 */ // Label 2015: @92994
32766 /* 92994 */ GIM_Try, /*On fail goto*//*Label 2016*/ GIMT_Encode4(93070), // Rule ID 3349 //
32767 /* 92999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32768 /* 93002 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32769 /* 93007 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32770 /* 93010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32771 /* 93013 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32772 /* 93016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32773 /* 93020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32774 /* 93024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32775 /* 93028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32776 /* 93032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32777 /* 93035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32778 /* 93039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32779 /* 93043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32780 /* 93045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32781 /* 93052 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14461:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32782 /* 93052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrm),
32783 /* 93055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32784 /* 93057 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32785 /* 93059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32786 /* 93063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32787 /* 93068 */ GIR_RootConstrainSelectedInstOperands,
32788 /* 93069 */ // GIR_Coverage, 3349,
32789 /* 93069 */ GIR_EraseRootFromParent_Done,
32790 /* 93070 */ // Label 2016: @93070
32791 /* 93070 */ GIM_Try, /*On fail goto*//*Label 2017*/ GIMT_Encode4(93146), // Rule ID 3351 //
32792 /* 93075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32793 /* 93078 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32794 /* 93083 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32795 /* 93086 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32796 /* 93089 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32797 /* 93092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32798 /* 93096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32799 /* 93100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32800 /* 93104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32801 /* 93108 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32802 /* 93111 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32803 /* 93115 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32804 /* 93119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32805 /* 93121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32806 /* 93128 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14452:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32807 /* 93128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrm),
32808 /* 93131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32809 /* 93133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32810 /* 93135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32811 /* 93139 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32812 /* 93144 */ GIR_RootConstrainSelectedInstOperands,
32813 /* 93145 */ // GIR_Coverage, 3351,
32814 /* 93145 */ GIR_EraseRootFromParent_Done,
32815 /* 93146 */ // Label 2017: @93146
32816 /* 93146 */ GIM_Try, /*On fail goto*//*Label 2018*/ GIMT_Encode4(93222), // Rule ID 3353 //
32817 /* 93151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32818 /* 93154 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32819 /* 93159 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32820 /* 93162 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32821 /* 93165 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32822 /* 93168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32823 /* 93172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32824 /* 93176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32825 /* 93180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32826 /* 93184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32827 /* 93187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32828 /* 93191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32829 /* 93195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32830 /* 93197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32831 /* 93204 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14455:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32832 /* 93204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrm),
32833 /* 93207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32834 /* 93209 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32835 /* 93211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32836 /* 93215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32837 /* 93220 */ GIR_RootConstrainSelectedInstOperands,
32838 /* 93221 */ // GIR_Coverage, 3353,
32839 /* 93221 */ GIR_EraseRootFromParent_Done,
32840 /* 93222 */ // Label 2018: @93222
32841 /* 93222 */ GIM_Try, /*On fail goto*//*Label 2019*/ GIMT_Encode4(93298), // Rule ID 3564 //
32842 /* 93227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32843 /* 93230 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32844 /* 93235 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32845 /* 93238 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32846 /* 93241 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32847 /* 93244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32848 /* 93248 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32849 /* 93252 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32850 /* 93256 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32851 /* 93260 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32852 /* 93263 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32853 /* 93267 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32854 /* 93271 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32855 /* 93273 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32856 /* 93280 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16041:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32857 /* 93280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rm),
32858 /* 93283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32859 /* 93285 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32860 /* 93287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32861 /* 93291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32862 /* 93296 */ GIR_RootConstrainSelectedInstOperands,
32863 /* 93297 */ // GIR_Coverage, 3564,
32864 /* 93297 */ GIR_EraseRootFromParent_Done,
32865 /* 93298 */ // Label 2019: @93298
32866 /* 93298 */ GIM_Try, /*On fail goto*//*Label 2020*/ GIMT_Encode4(93374), // Rule ID 3566 //
32867 /* 93303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32868 /* 93306 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32869 /* 93311 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32870 /* 93314 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32871 /* 93317 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32872 /* 93320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32873 /* 93324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32874 /* 93328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32875 /* 93332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32876 /* 93336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32877 /* 93339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32878 /* 93343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32879 /* 93347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32880 /* 93349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32881 /* 93356 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16042:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32882 /* 93356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrm),
32883 /* 93359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32884 /* 93361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32885 /* 93363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32886 /* 93367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32887 /* 93372 */ GIR_RootConstrainSelectedInstOperands,
32888 /* 93373 */ // GIR_Coverage, 3566,
32889 /* 93373 */ GIR_EraseRootFromParent_Done,
32890 /* 93374 */ // Label 2020: @93374
32891 /* 93374 */ GIM_Try, /*On fail goto*//*Label 2021*/ GIMT_Encode4(93450), // Rule ID 3568 //
32892 /* 93379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32893 /* 93382 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32894 /* 93387 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32895 /* 93390 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32896 /* 93393 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32897 /* 93396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32898 /* 93400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32899 /* 93404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32900 /* 93408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32901 /* 93412 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32902 /* 93415 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32903 /* 93419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32904 /* 93423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32905 /* 93425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32906 /* 93432 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16044:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32907 /* 93432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rm),
32908 /* 93435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32909 /* 93437 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32910 /* 93439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32911 /* 93443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32912 /* 93448 */ GIR_RootConstrainSelectedInstOperands,
32913 /* 93449 */ // GIR_Coverage, 3568,
32914 /* 93449 */ GIR_EraseRootFromParent_Done,
32915 /* 93450 */ // Label 2021: @93450
32916 /* 93450 */ GIM_Try, /*On fail goto*//*Label 2022*/ GIMT_Encode4(93526), // Rule ID 3570 //
32917 /* 93455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32918 /* 93458 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32919 /* 93463 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32920 /* 93466 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32921 /* 93469 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32922 /* 93472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32923 /* 93476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32924 /* 93480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32925 /* 93484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32926 /* 93488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32927 /* 93491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32928 /* 93495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32929 /* 93499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32930 /* 93501 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32931 /* 93508 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16045:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32932 /* 93508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrm),
32933 /* 93511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32934 /* 93513 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32935 /* 93515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32936 /* 93519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32937 /* 93524 */ GIR_RootConstrainSelectedInstOperands,
32938 /* 93525 */ // GIR_Coverage, 3570,
32939 /* 93525 */ GIR_EraseRootFromParent_Done,
32940 /* 93526 */ // Label 2022: @93526
32941 /* 93526 */ GIM_Try, /*On fail goto*//*Label 2023*/ GIMT_Encode4(93602), // Rule ID 14064 //
32942 /* 93531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32943 /* 93534 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32944 /* 93539 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32945 /* 93542 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32946 /* 93545 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32947 /* 93548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32948 /* 93552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32949 /* 93556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32950 /* 93560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32951 /* 93564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32952 /* 93567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32953 /* 93571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32954 /* 93575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32955 /* 93577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32956 /* 93584 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14457:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32957 /* 93584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rm),
32958 /* 93587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32959 /* 93589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32960 /* 93591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32961 /* 93595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32962 /* 93600 */ GIR_RootConstrainSelectedInstOperands,
32963 /* 93601 */ // GIR_Coverage, 14064,
32964 /* 93601 */ GIR_EraseRootFromParent_Done,
32965 /* 93602 */ // Label 2023: @93602
32966 /* 93602 */ GIM_Try, /*On fail goto*//*Label 2024*/ GIMT_Encode4(93678), // Rule ID 14066 //
32967 /* 93607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32968 /* 93610 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32969 /* 93615 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32970 /* 93618 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32971 /* 93621 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32972 /* 93624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32973 /* 93628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32974 /* 93632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32975 /* 93636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32976 /* 93640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32977 /* 93643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32978 /* 93647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32979 /* 93651 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32980 /* 93653 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32981 /* 93660 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14458:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32982 /* 93660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rm),
32983 /* 93663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32984 /* 93665 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32985 /* 93667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32986 /* 93671 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32987 /* 93676 */ GIR_RootConstrainSelectedInstOperands,
32988 /* 93677 */ // GIR_Coverage, 14066,
32989 /* 93677 */ GIR_EraseRootFromParent_Done,
32990 /* 93678 */ // Label 2024: @93678
32991 /* 93678 */ GIM_Try, /*On fail goto*//*Label 2025*/ GIMT_Encode4(93754), // Rule ID 14068 //
32992 /* 93683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32993 /* 93686 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
32994 /* 93691 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32995 /* 93694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32996 /* 93697 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32997 /* 93700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32998 /* 93704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32999 /* 93708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33000 /* 93712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33001 /* 93716 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33002 /* 93719 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33003 /* 93723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33004 /* 93727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33005 /* 93729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33006 /* 93736 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14459:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33007 /* 93736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrm),
33008 /* 93739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33009 /* 93741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33010 /* 93743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33011 /* 93747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33012 /* 93752 */ GIR_RootConstrainSelectedInstOperands,
33013 /* 93753 */ // GIR_Coverage, 14068,
33014 /* 93753 */ GIR_EraseRootFromParent_Done,
33015 /* 93754 */ // Label 2025: @93754
33016 /* 93754 */ GIM_Try, /*On fail goto*//*Label 2026*/ GIMT_Encode4(93830), // Rule ID 14070 //
33017 /* 93759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33018 /* 93762 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33019 /* 93767 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33020 /* 93770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33021 /* 93773 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33022 /* 93776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33023 /* 93780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33024 /* 93784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33025 /* 93788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33026 /* 93792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33027 /* 93795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33028 /* 93799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33029 /* 93803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33030 /* 93805 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33031 /* 93812 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14460:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33032 /* 93812 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rm),
33033 /* 93815 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33034 /* 93817 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33035 /* 93819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33036 /* 93823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33037 /* 93828 */ GIR_RootConstrainSelectedInstOperands,
33038 /* 93829 */ // GIR_Coverage, 14070,
33039 /* 93829 */ GIR_EraseRootFromParent_Done,
33040 /* 93830 */ // Label 2026: @93830
33041 /* 93830 */ GIM_Try, /*On fail goto*//*Label 2027*/ GIMT_Encode4(93906), // Rule ID 14072 //
33042 /* 93835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33043 /* 93838 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
33044 /* 93843 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33045 /* 93846 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33046 /* 93849 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33047 /* 93852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33048 /* 93856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33049 /* 93860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33050 /* 93864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33051 /* 93868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33052 /* 93871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33053 /* 93875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33054 /* 93879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33055 /* 93881 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33056 /* 93888 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14461:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33057 /* 93888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rm),
33058 /* 93891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33059 /* 93893 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33060 /* 93895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33061 /* 93899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33062 /* 93904 */ GIR_RootConstrainSelectedInstOperands,
33063 /* 93905 */ // GIR_Coverage, 14072,
33064 /* 93905 */ GIR_EraseRootFromParent_Done,
33065 /* 93906 */ // Label 2027: @93906
33066 /* 93906 */ GIM_Try, /*On fail goto*//*Label 2028*/ GIMT_Encode4(93982), // Rule ID 14074 //
33067 /* 93911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33068 /* 93914 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
33069 /* 93919 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33070 /* 93922 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33071 /* 93925 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33072 /* 93928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33073 /* 93932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33074 /* 93936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33075 /* 93940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33076 /* 93944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33077 /* 93947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33078 /* 93951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33079 /* 93955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33080 /* 93957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33081 /* 93964 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14462:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33082 /* 93964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrm),
33083 /* 93967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33084 /* 93969 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33085 /* 93971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33086 /* 93975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33087 /* 93980 */ GIR_RootConstrainSelectedInstOperands,
33088 /* 93981 */ // GIR_Coverage, 14074,
33089 /* 93981 */ GIR_EraseRootFromParent_Done,
33090 /* 93982 */ // Label 2028: @93982
33091 /* 93982 */ GIM_Try, /*On fail goto*//*Label 2029*/ GIMT_Encode4(94058), // Rule ID 14076 //
33092 /* 93987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33093 /* 93990 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33094 /* 93995 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33095 /* 93998 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33096 /* 94001 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33097 /* 94004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33098 /* 94008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33099 /* 94012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33100 /* 94016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33101 /* 94020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33102 /* 94023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33103 /* 94027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33104 /* 94031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33105 /* 94033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33106 /* 94040 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14451:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33107 /* 94040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rm),
33108 /* 94043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33109 /* 94045 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33110 /* 94047 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33111 /* 94051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33112 /* 94056 */ GIR_RootConstrainSelectedInstOperands,
33113 /* 94057 */ // GIR_Coverage, 14076,
33114 /* 94057 */ GIR_EraseRootFromParent_Done,
33115 /* 94058 */ // Label 2029: @94058
33116 /* 94058 */ GIM_Try, /*On fail goto*//*Label 2030*/ GIMT_Encode4(94134), // Rule ID 14078 //
33117 /* 94063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33118 /* 94066 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
33119 /* 94071 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33120 /* 94074 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33121 /* 94077 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33122 /* 94080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33123 /* 94084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33124 /* 94088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33125 /* 94092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33126 /* 94096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33127 /* 94099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33128 /* 94103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33129 /* 94107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33130 /* 94109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33131 /* 94116 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14452:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33132 /* 94116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rm),
33133 /* 94119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33134 /* 94121 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33135 /* 94123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33136 /* 94127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33137 /* 94132 */ GIR_RootConstrainSelectedInstOperands,
33138 /* 94133 */ // GIR_Coverage, 14078,
33139 /* 94133 */ GIR_EraseRootFromParent_Done,
33140 /* 94134 */ // Label 2030: @94134
33141 /* 94134 */ GIM_Try, /*On fail goto*//*Label 2031*/ GIMT_Encode4(94210), // Rule ID 14080 //
33142 /* 94139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33143 /* 94142 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
33144 /* 94147 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33145 /* 94150 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33146 /* 94153 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33147 /* 94156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33148 /* 94160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33149 /* 94164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33150 /* 94168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33151 /* 94172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33152 /* 94175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33153 /* 94179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33154 /* 94183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33155 /* 94185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33156 /* 94192 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14453:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33157 /* 94192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrm),
33158 /* 94195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33159 /* 94197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33160 /* 94199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33161 /* 94203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33162 /* 94208 */ GIR_RootConstrainSelectedInstOperands,
33163 /* 94209 */ // GIR_Coverage, 14080,
33164 /* 94209 */ GIR_EraseRootFromParent_Done,
33165 /* 94210 */ // Label 2031: @94210
33166 /* 94210 */ GIM_Try, /*On fail goto*//*Label 2032*/ GIMT_Encode4(94286), // Rule ID 14082 //
33167 /* 94215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33168 /* 94218 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33169 /* 94223 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33170 /* 94226 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33171 /* 94229 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33172 /* 94232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33173 /* 94236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33174 /* 94240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33175 /* 94244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33176 /* 94248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33177 /* 94251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33178 /* 94255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33179 /* 94259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33180 /* 94261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33181 /* 94268 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14454:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33182 /* 94268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rm),
33183 /* 94271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33184 /* 94273 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33185 /* 94275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33186 /* 94279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33187 /* 94284 */ GIR_RootConstrainSelectedInstOperands,
33188 /* 94285 */ // GIR_Coverage, 14082,
33189 /* 94285 */ GIR_EraseRootFromParent_Done,
33190 /* 94286 */ // Label 2032: @94286
33191 /* 94286 */ GIM_Try, /*On fail goto*//*Label 2033*/ GIMT_Encode4(94362), // Rule ID 14084 //
33192 /* 94291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33193 /* 94294 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
33194 /* 94299 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33195 /* 94302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33196 /* 94305 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33197 /* 94308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33198 /* 94312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33199 /* 94316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33200 /* 94320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33201 /* 94324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33202 /* 94327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33203 /* 94331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33204 /* 94335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33205 /* 94337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33206 /* 94344 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14455:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33207 /* 94344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rm),
33208 /* 94347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33209 /* 94349 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33210 /* 94351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33211 /* 94355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33212 /* 94360 */ GIR_RootConstrainSelectedInstOperands,
33213 /* 94361 */ // GIR_Coverage, 14084,
33214 /* 94361 */ GIR_EraseRootFromParent_Done,
33215 /* 94362 */ // Label 2033: @94362
33216 /* 94362 */ GIM_Try, /*On fail goto*//*Label 2034*/ GIMT_Encode4(94438), // Rule ID 14086 //
33217 /* 94367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33218 /* 94370 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
33219 /* 94375 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33220 /* 94378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33221 /* 94381 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33222 /* 94384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33223 /* 94388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33224 /* 94392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33225 /* 94396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33226 /* 94400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33227 /* 94403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33228 /* 94407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33229 /* 94411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33230 /* 94413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33231 /* 94420 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14456:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
33232 /* 94420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrm),
33233 /* 94423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33234 /* 94425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33235 /* 94427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33236 /* 94431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33237 /* 94436 */ GIR_RootConstrainSelectedInstOperands,
33238 /* 94437 */ // GIR_Coverage, 14086,
33239 /* 94437 */ GIR_EraseRootFromParent_Done,
33240 /* 94438 */ // Label 2034: @94438
33241 /* 94438 */ GIM_Try, /*On fail goto*//*Label 2035*/ GIMT_Encode4(94514), // Rule ID 16797 //
33242 /* 94443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33243 /* 94446 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
33244 /* 94451 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33245 /* 94454 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33246 /* 94457 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33247 /* 94460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33248 /* 94464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33249 /* 94468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33250 /* 94472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33251 /* 94476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33252 /* 94479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33253 /* 94483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33254 /* 94487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33255 /* 94489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33256 /* 94496 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16043:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
33257 /* 94496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrm),
33258 /* 94499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33259 /* 94501 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33260 /* 94503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33261 /* 94507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33262 /* 94512 */ GIR_RootConstrainSelectedInstOperands,
33263 /* 94513 */ // GIR_Coverage, 16797,
33264 /* 94513 */ GIR_EraseRootFromParent_Done,
33265 /* 94514 */ // Label 2035: @94514
33266 /* 94514 */ GIM_Try, /*On fail goto*//*Label 2036*/ GIMT_Encode4(94590), // Rule ID 16803 //
33267 /* 94519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33268 /* 94522 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
33269 /* 94527 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33270 /* 94530 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33271 /* 94533 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33272 /* 94536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33273 /* 94540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33274 /* 94544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33275 /* 94548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33276 /* 94552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33277 /* 94555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33278 /* 94559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33279 /* 94563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33280 /* 94565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33281 /* 94572 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16046:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
33282 /* 94572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrm),
33283 /* 94575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33284 /* 94577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33285 /* 94579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33286 /* 94583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33287 /* 94588 */ GIR_RootConstrainSelectedInstOperands,
33288 /* 94589 */ // GIR_Coverage, 16803,
33289 /* 94589 */ GIR_EraseRootFromParent_Done,
33290 /* 94590 */ // Label 2036: @94590
33291 /* 94590 */ GIM_Try, /*On fail goto*//*Label 2037*/ GIMT_Encode4(94631), // Rule ID 3366 //
33292 /* 94595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
33293 /* 94598 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
33294 /* 94603 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33295 /* 94606 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33296 /* 94609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33297 /* 94613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33298 /* 94617 */ // MIs[0] src2
33299 /* 94617 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
33300 /* 94620 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14464:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
33301 /* 94620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrri),
33302 /* 94623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33303 /* 94625 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33304 /* 94627 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33305 /* 94629 */ GIR_RootConstrainSelectedInstOperands,
33306 /* 94630 */ // GIR_Coverage, 3366,
33307 /* 94630 */ GIR_EraseRootFromParent_Done,
33308 /* 94631 */ // Label 2037: @94631
33309 /* 94631 */ GIM_Try, /*On fail goto*//*Label 2038*/ GIMT_Encode4(94672), // Rule ID 3368 //
33310 /* 94636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33311 /* 94639 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
33312 /* 94644 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33313 /* 94647 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33314 /* 94650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33315 /* 94654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33316 /* 94658 */ // MIs[0] src2
33317 /* 94658 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
33318 /* 94661 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14464:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (AESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
33319 /* 94661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESKEYGENASSISTrri),
33320 /* 94664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33321 /* 94666 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33322 /* 94668 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33323 /* 94670 */ GIR_RootConstrainSelectedInstOperands,
33324 /* 94671 */ // GIR_Coverage, 3368,
33325 /* 94671 */ GIR_EraseRootFromParent_Done,
33326 /* 94672 */ // Label 2038: @94672
33327 /* 94672 */ GIM_Try, /*On fail goto*//*Label 2039*/ GIMT_Encode4(94717), // Rule ID 16792 //
33328 /* 94677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33329 /* 94680 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
33330 /* 94685 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33331 /* 94688 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33332 /* 94691 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33333 /* 94694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33334 /* 94698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33335 /* 94702 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33336 /* 94706 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16041:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4KEY4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
33337 /* 94706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rr),
33338 /* 94709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33339 /* 94711 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33340 /* 94713 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33341 /* 94715 */ GIR_RootConstrainSelectedInstOperands,
33342 /* 94716 */ // GIR_Coverage, 16792,
33343 /* 94716 */ GIR_EraseRootFromParent_Done,
33344 /* 94717 */ // Label 2039: @94717
33345 /* 94717 */ GIM_Try, /*On fail goto*//*Label 2040*/ GIMT_Encode4(94762), // Rule ID 16794 //
33346 /* 94722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33347 /* 94725 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
33348 /* 94730 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33349 /* 94733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33350 /* 94736 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33351 /* 94739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33352 /* 94743 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33353 /* 94747 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33354 /* 94751 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16042:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4KEY4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
33355 /* 94751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rr),
33356 /* 94754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33357 /* 94756 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33358 /* 94758 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33359 /* 94760 */ GIR_RootConstrainSelectedInstOperands,
33360 /* 94761 */ // GIR_Coverage, 16794,
33361 /* 94761 */ GIR_EraseRootFromParent_Done,
33362 /* 94762 */ // Label 2040: @94762
33363 /* 94762 */ GIM_Try, /*On fail goto*//*Label 2041*/ GIMT_Encode4(94807), // Rule ID 16798 //
33364 /* 94767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33365 /* 94770 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
33366 /* 94775 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33367 /* 94778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33368 /* 94781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33369 /* 94784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33370 /* 94788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33371 /* 94792 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33372 /* 94796 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16044:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4RNDS4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
33373 /* 94796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rr),
33374 /* 94799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33375 /* 94801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33376 /* 94803 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33377 /* 94805 */ GIR_RootConstrainSelectedInstOperands,
33378 /* 94806 */ // GIR_Coverage, 16798,
33379 /* 94806 */ GIR_EraseRootFromParent_Done,
33380 /* 94807 */ // Label 2041: @94807
33381 /* 94807 */ GIM_Try, /*On fail goto*//*Label 2042*/ GIMT_Encode4(94852), // Rule ID 16800 //
33382 /* 94812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33383 /* 94815 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
33384 /* 94820 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33385 /* 94823 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33386 /* 94826 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33387 /* 94829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33388 /* 94833 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33389 /* 94837 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33390 /* 94841 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16045:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4RNDS4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
33391 /* 94841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rr),
33392 /* 94844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33393 /* 94846 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33394 /* 94848 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33395 /* 94850 */ GIR_RootConstrainSelectedInstOperands,
33396 /* 94851 */ // GIR_Coverage, 16800,
33397 /* 94851 */ GIR_EraseRootFromParent_Done,
33398 /* 94852 */ // Label 2042: @94852
33399 /* 94852 */ GIM_Try, /*On fail goto*//*Label 2043*/ GIMT_Encode4(94897), // Rule ID 3021 //
33400 /* 94857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33401 /* 94860 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
33402 /* 94865 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
33403 /* 94868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
33404 /* 94871 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
33405 /* 94874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33406 /* 94878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33407 /* 94882 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33408 /* 94886 */ // (intrinsic_wo_chain:{ *:[v16i8] } 15936:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
33409 /* 94886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrr),
33410 /* 94889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33411 /* 94891 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33412 /* 94893 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33413 /* 94895 */ GIR_RootConstrainSelectedInstOperands,
33414 /* 94896 */ // GIR_Coverage, 3021,
33415 /* 94896 */ GIR_EraseRootFromParent_Done,
33416 /* 94897 */ // Label 2043: @94897
33417 /* 94897 */ GIM_Try, /*On fail goto*//*Label 2044*/ GIMT_Encode4(94942), // Rule ID 3023 //
33418 /* 94902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33419 /* 94905 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
33420 /* 94910 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33421 /* 94913 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33422 /* 94916 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33423 /* 94919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33424 /* 94923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33425 /* 94927 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33426 /* 94931 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15940:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
33427 /* 94931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrr),
33428 /* 94934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33429 /* 94936 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33430 /* 94938 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33431 /* 94940 */ GIR_RootConstrainSelectedInstOperands,
33432 /* 94941 */ // GIR_Coverage, 3023,
33433 /* 94941 */ GIR_EraseRootFromParent_Done,
33434 /* 94942 */ // Label 2044: @94942
33435 /* 94942 */ GIM_Try, /*On fail goto*//*Label 2045*/ GIMT_Encode4(94987), // Rule ID 3025 //
33436 /* 94947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33437 /* 94950 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
33438 /* 94955 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33439 /* 94958 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33440 /* 94961 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33441 /* 94964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33442 /* 94968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33443 /* 94972 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33444 /* 94976 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15938:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33445 /* 94976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrr),
33446 /* 94979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33447 /* 94981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33448 /* 94983 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33449 /* 94985 */ GIR_RootConstrainSelectedInstOperands,
33450 /* 94986 */ // GIR_Coverage, 3025,
33451 /* 94986 */ GIR_EraseRootFromParent_Done,
33452 /* 94987 */ // Label 2045: @94987
33453 /* 94987 */ GIM_Try, /*On fail goto*//*Label 2046*/ GIMT_Encode4(95032), // Rule ID 3045 //
33454 /* 94992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
33455 /* 94995 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
33456 /* 95000 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
33457 /* 95003 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
33458 /* 95006 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
33459 /* 95009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33460 /* 95013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33461 /* 95017 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33462 /* 95021 */ // (intrinsic_wo_chain:{ *:[v32i8] } 14827:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSIGNBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
33463 /* 95021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrr),
33464 /* 95024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33465 /* 95026 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33466 /* 95028 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33467 /* 95030 */ GIR_RootConstrainSelectedInstOperands,
33468 /* 95031 */ // GIR_Coverage, 3045,
33469 /* 95031 */ GIR_EraseRootFromParent_Done,
33470 /* 95032 */ // Label 2046: @95032
33471 /* 95032 */ GIM_Try, /*On fail goto*//*Label 2047*/ GIMT_Encode4(95077), // Rule ID 3047 //
33472 /* 95037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
33473 /* 95040 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
33474 /* 95045 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
33475 /* 95048 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
33476 /* 95051 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
33477 /* 95054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33478 /* 95058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33479 /* 95062 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33480 /* 95066 */ // (intrinsic_wo_chain:{ *:[v16i16] } 14829:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSIGNWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
33481 /* 95066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrr),
33482 /* 95069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33483 /* 95071 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33484 /* 95073 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33485 /* 95075 */ GIR_RootConstrainSelectedInstOperands,
33486 /* 95076 */ // GIR_Coverage, 3047,
33487 /* 95076 */ GIR_EraseRootFromParent_Done,
33488 /* 95077 */ // Label 2047: @95077
33489 /* 95077 */ GIM_Try, /*On fail goto*//*Label 2048*/ GIMT_Encode4(95122), // Rule ID 3049 //
33490 /* 95082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
33491 /* 95085 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
33492 /* 95090 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33493 /* 95093 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33494 /* 95096 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33495 /* 95099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33496 /* 95103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33497 /* 95107 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33498 /* 95111 */ // (intrinsic_wo_chain:{ *:[v8i32] } 14828:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSIGNDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
33499 /* 95111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrr),
33500 /* 95114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33501 /* 95116 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33502 /* 95118 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33503 /* 95120 */ GIR_RootConstrainSelectedInstOperands,
33504 /* 95121 */ // GIR_Coverage, 3049,
33505 /* 95121 */ GIR_EraseRootFromParent_Done,
33506 /* 95122 */ // Label 2048: @95122
33507 /* 95122 */ GIM_Try, /*On fail goto*//*Label 2049*/ GIMT_Encode4(95167), // Rule ID 3063 //
33508 /* 95127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
33509 /* 95130 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
33510 /* 95135 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
33511 /* 95138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
33512 /* 95141 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
33513 /* 95144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33514 /* 95148 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33515 /* 95152 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33516 /* 95156 */ // (intrinsic_wo_chain:{ *:[v16i8] } 15936:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
33517 /* 95156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNBrr),
33518 /* 95159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33519 /* 95161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33520 /* 95163 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33521 /* 95165 */ GIR_RootConstrainSelectedInstOperands,
33522 /* 95166 */ // GIR_Coverage, 3063,
33523 /* 95166 */ GIR_EraseRootFromParent_Done,
33524 /* 95167 */ // Label 2049: @95167
33525 /* 95167 */ GIM_Try, /*On fail goto*//*Label 2050*/ GIMT_Encode4(95212), // Rule ID 3065 //
33526 /* 95172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
33527 /* 95175 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
33528 /* 95180 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33529 /* 95183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33530 /* 95186 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33531 /* 95189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33532 /* 95193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33533 /* 95197 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33534 /* 95201 */ // (intrinsic_wo_chain:{ *:[v8i16] } 15940:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
33535 /* 95201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNWrr),
33536 /* 95204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33537 /* 95206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33538 /* 95208 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33539 /* 95210 */ GIR_RootConstrainSelectedInstOperands,
33540 /* 95211 */ // GIR_Coverage, 3065,
33541 /* 95211 */ GIR_EraseRootFromParent_Done,
33542 /* 95212 */ // Label 2050: @95212
33543 /* 95212 */ GIM_Try, /*On fail goto*//*Label 2051*/ GIMT_Encode4(95257), // Rule ID 3067 //
33544 /* 95217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
33545 /* 95220 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
33546 /* 95225 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33547 /* 95228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33548 /* 95231 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33549 /* 95234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33550 /* 95238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33551 /* 95242 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33552 /* 95246 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15938:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33553 /* 95246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNDrr),
33554 /* 95249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33555 /* 95251 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33556 /* 95253 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33557 /* 95255 */ GIR_RootConstrainSelectedInstOperands,
33558 /* 95256 */ // GIR_Coverage, 3067,
33559 /* 95256 */ GIR_EraseRootFromParent_Done,
33560 /* 95257 */ // Label 2051: @95257
33561 /* 95257 */ GIM_Try, /*On fail goto*//*Label 2052*/ GIMT_Encode4(95302), // Rule ID 3308 //
33562 /* 95262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33563 /* 95265 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
33564 /* 95270 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33565 /* 95273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33566 /* 95276 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
33567 /* 95279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33568 /* 95283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33569 /* 95287 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
33570 /* 95291 */ // (intrinsic_wo_chain:{ *:[i32] } 15894:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
33571 /* 95291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8),
33572 /* 95294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33573 /* 95296 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33574 /* 95298 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33575 /* 95300 */ GIR_RootConstrainSelectedInstOperands,
33576 /* 95301 */ // GIR_Coverage, 3308,
33577 /* 95301 */ GIR_EraseRootFromParent_Done,
33578 /* 95302 */ // Label 2052: @95302
33579 /* 95302 */ GIM_Try, /*On fail goto*//*Label 2053*/ GIMT_Encode4(95347), // Rule ID 3310 //
33580 /* 95307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33581 /* 95310 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
33582 /* 95315 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33583 /* 95318 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33584 /* 95321 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
33585 /* 95324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33586 /* 95328 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33587 /* 95332 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
33588 /* 95336 */ // (intrinsic_wo_chain:{ *:[i32] } 15892:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
33589 /* 95336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16),
33590 /* 95339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33591 /* 95341 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33592 /* 95343 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33593 /* 95345 */ GIR_RootConstrainSelectedInstOperands,
33594 /* 95346 */ // GIR_Coverage, 3310,
33595 /* 95346 */ GIR_EraseRootFromParent_Done,
33596 /* 95347 */ // Label 2053: @95347
33597 /* 95347 */ GIM_Try, /*On fail goto*//*Label 2054*/ GIMT_Encode4(95392), // Rule ID 3312 //
33598 /* 95352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33599 /* 95355 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
33600 /* 95360 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33601 /* 95363 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33602 /* 95366 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
33603 /* 95369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33604 /* 95373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33605 /* 95377 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33606 /* 95381 */ // (intrinsic_wo_chain:{ *:[i32] } 15893:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
33607 /* 95381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32),
33608 /* 95384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33609 /* 95386 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33610 /* 95388 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33611 /* 95390 */ GIR_RootConstrainSelectedInstOperands,
33612 /* 95391 */ // GIR_Coverage, 3312,
33613 /* 95391 */ GIR_EraseRootFromParent_Done,
33614 /* 95392 */ // Label 2054: @95392
33615 /* 95392 */ GIM_Try, /*On fail goto*//*Label 2055*/ GIMT_Encode4(95437), // Rule ID 3314 //
33616 /* 95397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
33617 /* 95400 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
33618 /* 95405 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
33619 /* 95408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
33620 /* 95411 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
33621 /* 95414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33622 /* 95418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33623 /* 95422 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33624 /* 95426 */ // (intrinsic_wo_chain:{ *:[i64] } 15895:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
33625 /* 95426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64),
33626 /* 95429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33627 /* 95431 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33628 /* 95433 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33629 /* 95435 */ GIR_RootConstrainSelectedInstOperands,
33630 /* 95436 */ // GIR_Coverage, 3314,
33631 /* 95436 */ GIR_EraseRootFromParent_Done,
33632 /* 95437 */ // Label 2055: @95437
33633 /* 95437 */ GIM_Try, /*On fail goto*//*Label 2056*/ GIMT_Encode4(95482), // Rule ID 3316 //
33634 /* 95442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33635 /* 95445 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
33636 /* 95450 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33637 /* 95453 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33638 /* 95456 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
33639 /* 95459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33640 /* 95463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33641 /* 95467 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
33642 /* 95471 */ // (intrinsic_wo_chain:{ *:[i32] } 15894:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
33643 /* 95471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8_EVEX),
33644 /* 95474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33645 /* 95476 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33646 /* 95478 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33647 /* 95480 */ GIR_RootConstrainSelectedInstOperands,
33648 /* 95481 */ // GIR_Coverage, 3316,
33649 /* 95481 */ GIR_EraseRootFromParent_Done,
33650 /* 95482 */ // Label 2056: @95482
33651 /* 95482 */ GIM_Try, /*On fail goto*//*Label 2057*/ GIMT_Encode4(95527), // Rule ID 3318 //
33652 /* 95487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33653 /* 95490 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
33654 /* 95495 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33655 /* 95498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33656 /* 95501 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
33657 /* 95504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33658 /* 95508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33659 /* 95512 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
33660 /* 95516 */ // (intrinsic_wo_chain:{ *:[i32] } 15892:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
33661 /* 95516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16_EVEX),
33662 /* 95519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33663 /* 95521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33664 /* 95523 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33665 /* 95525 */ GIR_RootConstrainSelectedInstOperands,
33666 /* 95526 */ // GIR_Coverage, 3318,
33667 /* 95526 */ GIR_EraseRootFromParent_Done,
33668 /* 95527 */ // Label 2057: @95527
33669 /* 95527 */ GIM_Try, /*On fail goto*//*Label 2058*/ GIMT_Encode4(95572), // Rule ID 3320 //
33670 /* 95532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33671 /* 95535 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
33672 /* 95540 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
33673 /* 95543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
33674 /* 95546 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
33675 /* 95549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33676 /* 95553 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33677 /* 95557 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
33678 /* 95561 */ // (intrinsic_wo_chain:{ *:[i32] } 15893:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
33679 /* 95561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32_EVEX),
33680 /* 95564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33681 /* 95566 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33682 /* 95568 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33683 /* 95570 */ GIR_RootConstrainSelectedInstOperands,
33684 /* 95571 */ // GIR_Coverage, 3320,
33685 /* 95571 */ GIR_EraseRootFromParent_Done,
33686 /* 95572 */ // Label 2058: @95572
33687 /* 95572 */ GIM_Try, /*On fail goto*//*Label 2059*/ GIMT_Encode4(95617), // Rule ID 3322 //
33688 /* 95577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
33689 /* 95580 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
33690 /* 95585 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
33691 /* 95588 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
33692 /* 95591 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
33693 /* 95594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33694 /* 95598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33695 /* 95602 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
33696 /* 95606 */ // (intrinsic_wo_chain:{ *:[i64] } 15895:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
33697 /* 95606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64_EVEX),
33698 /* 95609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33699 /* 95611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33700 /* 95613 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33701 /* 95615 */ GIR_RootConstrainSelectedInstOperands,
33702 /* 95616 */ // GIR_Coverage, 3322,
33703 /* 95616 */ GIR_EraseRootFromParent_Done,
33704 /* 95617 */ // Label 2059: @95617
33705 /* 95617 */ GIM_Try, /*On fail goto*//*Label 2060*/ GIMT_Encode4(95662), // Rule ID 3326 //
33706 /* 95622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33707 /* 95625 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1nexte),
33708 /* 95630 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33709 /* 95633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33710 /* 95636 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33711 /* 95639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33712 /* 95643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33713 /* 95647 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33714 /* 95651 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15764:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1NEXTErr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33715 /* 95651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1NEXTErr),
33716 /* 95654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33717 /* 95656 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33718 /* 95658 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33719 /* 95660 */ GIR_RootConstrainSelectedInstOperands,
33720 /* 95661 */ // GIR_Coverage, 3326,
33721 /* 95661 */ GIR_EraseRootFromParent_Done,
33722 /* 95662 */ // Label 2060: @95662
33723 /* 95662 */ GIM_Try, /*On fail goto*//*Label 2061*/ GIMT_Encode4(95707), // Rule ID 3328 //
33724 /* 95667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33725 /* 95670 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg1),
33726 /* 95675 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33727 /* 95678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33728 /* 95681 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33729 /* 95684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33730 /* 95688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33731 /* 95692 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33732 /* 95696 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15762:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33733 /* 95696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG1rr),
33734 /* 95699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33735 /* 95701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33736 /* 95703 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33737 /* 95705 */ GIR_RootConstrainSelectedInstOperands,
33738 /* 95706 */ // GIR_Coverage, 3328,
33739 /* 95706 */ GIR_EraseRootFromParent_Done,
33740 /* 95707 */ // Label 2061: @95707
33741 /* 95707 */ GIM_Try, /*On fail goto*//*Label 2062*/ GIMT_Encode4(95752), // Rule ID 3330 //
33742 /* 95712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33743 /* 95715 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg2),
33744 /* 95720 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33745 /* 95723 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33746 /* 95726 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33747 /* 95729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33748 /* 95733 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33749 /* 95737 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33750 /* 95741 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15763:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33751 /* 95741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG2rr),
33752 /* 95744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33753 /* 95746 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33754 /* 95748 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33755 /* 95750 */ GIR_RootConstrainSelectedInstOperands,
33756 /* 95751 */ // GIR_Coverage, 3330,
33757 /* 95751 */ GIR_EraseRootFromParent_Done,
33758 /* 95752 */ // Label 2062: @95752
33759 /* 95752 */ GIM_Try, /*On fail goto*//*Label 2063*/ GIMT_Encode4(95797), // Rule ID 3334 //
33760 /* 95757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33761 /* 95760 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg1),
33762 /* 95765 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33763 /* 95768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33764 /* 95771 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33765 /* 95774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33766 /* 95778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33767 /* 95782 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33768 /* 95786 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15766:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33769 /* 95786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG1rr),
33770 /* 95789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33771 /* 95791 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33772 /* 95793 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33773 /* 95795 */ GIR_RootConstrainSelectedInstOperands,
33774 /* 95796 */ // GIR_Coverage, 3334,
33775 /* 95796 */ GIR_EraseRootFromParent_Done,
33776 /* 95797 */ // Label 2063: @95797
33777 /* 95797 */ GIM_Try, /*On fail goto*//*Label 2064*/ GIMT_Encode4(95842), // Rule ID 3336 //
33778 /* 95802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
33779 /* 95805 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg2),
33780 /* 95810 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33781 /* 95813 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33782 /* 95816 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33783 /* 95819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33784 /* 95823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33785 /* 95827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33786 /* 95831 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15767:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33787 /* 95831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG2rr),
33788 /* 95834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33789 /* 95836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33790 /* 95838 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33791 /* 95840 */ GIR_RootConstrainSelectedInstOperands,
33792 /* 95841 */ // GIR_Coverage, 3336,
33793 /* 95841 */ GIR_EraseRootFromParent_Done,
33794 /* 95842 */ // Label 2064: @95842
33795 /* 95842 */ GIM_Try, /*On fail goto*//*Label 2065*/ GIMT_Encode4(95887), // Rule ID 3338 //
33796 /* 95847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33797 /* 95850 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33798 /* 95855 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33799 /* 95858 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33800 /* 95861 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33801 /* 95864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33802 /* 95868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33803 /* 95872 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33804 /* 95876 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14457:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33805 /* 95876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrr),
33806 /* 95879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33807 /* 95881 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33808 /* 95883 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33809 /* 95885 */ GIR_RootConstrainSelectedInstOperands,
33810 /* 95886 */ // GIR_Coverage, 3338,
33811 /* 95886 */ GIR_EraseRootFromParent_Done,
33812 /* 95887 */ // Label 2065: @95887
33813 /* 95887 */ GIM_Try, /*On fail goto*//*Label 2066*/ GIMT_Encode4(95932), // Rule ID 3340 //
33814 /* 95892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33815 /* 95895 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33816 /* 95900 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33817 /* 95903 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33818 /* 95906 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33819 /* 95909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33820 /* 95913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33821 /* 95917 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33822 /* 95921 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14460:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33823 /* 95921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrr),
33824 /* 95924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33825 /* 95926 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33826 /* 95928 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33827 /* 95930 */ GIR_RootConstrainSelectedInstOperands,
33828 /* 95931 */ // GIR_Coverage, 3340,
33829 /* 95931 */ GIR_EraseRootFromParent_Done,
33830 /* 95932 */ // Label 2066: @95932
33831 /* 95932 */ GIM_Try, /*On fail goto*//*Label 2067*/ GIMT_Encode4(95977), // Rule ID 3342 //
33832 /* 95937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33833 /* 95940 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33834 /* 95945 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33835 /* 95948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33836 /* 95951 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33837 /* 95954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33838 /* 95958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33839 /* 95962 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33840 /* 95966 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14451:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33841 /* 95966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrr),
33842 /* 95969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33843 /* 95971 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33844 /* 95973 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33845 /* 95975 */ GIR_RootConstrainSelectedInstOperands,
33846 /* 95976 */ // GIR_Coverage, 3342,
33847 /* 95976 */ GIR_EraseRootFromParent_Done,
33848 /* 95977 */ // Label 2067: @95977
33849 /* 95977 */ GIM_Try, /*On fail goto*//*Label 2068*/ GIMT_Encode4(96022), // Rule ID 3344 //
33850 /* 95982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33851 /* 95985 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33852 /* 95990 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33853 /* 95993 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33854 /* 95996 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33855 /* 95999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33856 /* 96003 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33857 /* 96007 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33858 /* 96011 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14454:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33859 /* 96011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrr),
33860 /* 96014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33861 /* 96016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33862 /* 96018 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33863 /* 96020 */ GIR_RootConstrainSelectedInstOperands,
33864 /* 96021 */ // GIR_Coverage, 3344,
33865 /* 96021 */ GIR_EraseRootFromParent_Done,
33866 /* 96022 */ // Label 2068: @96022
33867 /* 96022 */ GIM_Try, /*On fail goto*//*Label 2069*/ GIMT_Encode4(96067), // Rule ID 3346 //
33868 /* 96027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33869 /* 96030 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
33870 /* 96035 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33871 /* 96038 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33872 /* 96041 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33873 /* 96044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33874 /* 96048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33875 /* 96052 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33876 /* 96056 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14458:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33877 /* 96056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrr),
33878 /* 96059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33879 /* 96061 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33880 /* 96063 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33881 /* 96065 */ GIR_RootConstrainSelectedInstOperands,
33882 /* 96066 */ // GIR_Coverage, 3346,
33883 /* 96066 */ GIR_EraseRootFromParent_Done,
33884 /* 96067 */ // Label 2069: @96067
33885 /* 96067 */ GIM_Try, /*On fail goto*//*Label 2070*/ GIMT_Encode4(96112), // Rule ID 3348 //
33886 /* 96072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33887 /* 96075 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
33888 /* 96080 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33889 /* 96083 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33890 /* 96086 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33891 /* 96089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33892 /* 96093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33893 /* 96097 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33894 /* 96101 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14461:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33895 /* 96101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrr),
33896 /* 96104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33897 /* 96106 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33898 /* 96108 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33899 /* 96110 */ GIR_RootConstrainSelectedInstOperands,
33900 /* 96111 */ // GIR_Coverage, 3348,
33901 /* 96111 */ GIR_EraseRootFromParent_Done,
33902 /* 96112 */ // Label 2070: @96112
33903 /* 96112 */ GIM_Try, /*On fail goto*//*Label 2071*/ GIMT_Encode4(96157), // Rule ID 3350 //
33904 /* 96117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33905 /* 96120 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
33906 /* 96125 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33907 /* 96128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33908 /* 96131 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33909 /* 96134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33910 /* 96138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33911 /* 96142 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33912 /* 96146 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14452:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33913 /* 96146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrr),
33914 /* 96149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33915 /* 96151 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33916 /* 96153 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33917 /* 96155 */ GIR_RootConstrainSelectedInstOperands,
33918 /* 96156 */ // GIR_Coverage, 3350,
33919 /* 96156 */ GIR_EraseRootFromParent_Done,
33920 /* 96157 */ // Label 2071: @96157
33921 /* 96157 */ GIM_Try, /*On fail goto*//*Label 2072*/ GIMT_Encode4(96202), // Rule ID 3352 //
33922 /* 96162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33923 /* 96165 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
33924 /* 96170 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33925 /* 96173 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33926 /* 96176 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33927 /* 96179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33928 /* 96183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33929 /* 96187 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33930 /* 96191 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14455:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33931 /* 96191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrr),
33932 /* 96194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33933 /* 96196 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33934 /* 96198 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33935 /* 96200 */ GIR_RootConstrainSelectedInstOperands,
33936 /* 96201 */ // GIR_Coverage, 3352,
33937 /* 96201 */ GIR_EraseRootFromParent_Done,
33938 /* 96202 */ // Label 2072: @96202
33939 /* 96202 */ GIM_Try, /*On fail goto*//*Label 2073*/ GIMT_Encode4(96247), // Rule ID 3354 //
33940 /* 96207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33941 /* 96210 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33942 /* 96215 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33943 /* 96218 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33944 /* 96221 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33945 /* 96224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33946 /* 96228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33947 /* 96232 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33948 /* 96236 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14457:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33949 /* 96236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCrr),
33950 /* 96239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33951 /* 96241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33952 /* 96243 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33953 /* 96245 */ GIR_RootConstrainSelectedInstOperands,
33954 /* 96246 */ // GIR_Coverage, 3354,
33955 /* 96246 */ GIR_EraseRootFromParent_Done,
33956 /* 96247 */ // Label 2073: @96247
33957 /* 96247 */ GIM_Try, /*On fail goto*//*Label 2074*/ GIMT_Encode4(96292), // Rule ID 3356 //
33958 /* 96252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33959 /* 96255 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33960 /* 96260 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33961 /* 96263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33962 /* 96266 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33963 /* 96269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33964 /* 96273 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33965 /* 96277 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33966 /* 96281 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14460:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33967 /* 96281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCLASTrr),
33968 /* 96284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33969 /* 96286 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33970 /* 96288 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33971 /* 96290 */ GIR_RootConstrainSelectedInstOperands,
33972 /* 96291 */ // GIR_Coverage, 3356,
33973 /* 96291 */ GIR_EraseRootFromParent_Done,
33974 /* 96292 */ // Label 2074: @96292
33975 /* 96292 */ GIM_Try, /*On fail goto*//*Label 2075*/ GIMT_Encode4(96337), // Rule ID 3358 //
33976 /* 96297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33977 /* 96300 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33978 /* 96305 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33979 /* 96308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33980 /* 96311 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33981 /* 96314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33982 /* 96318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33983 /* 96322 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33984 /* 96326 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14451:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33985 /* 96326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECrr),
33986 /* 96329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33987 /* 96331 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33988 /* 96333 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33989 /* 96335 */ GIR_RootConstrainSelectedInstOperands,
33990 /* 96336 */ // GIR_Coverage, 3358,
33991 /* 96336 */ GIR_EraseRootFromParent_Done,
33992 /* 96337 */ // Label 2075: @96337
33993 /* 96337 */ GIM_Try, /*On fail goto*//*Label 2076*/ GIMT_Encode4(96382), // Rule ID 3360 //
33994 /* 96342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33995 /* 96345 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33996 /* 96350 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33997 /* 96353 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33998 /* 96356 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33999 /* 96359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34000 /* 96363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34001 /* 96367 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34002 /* 96371 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14454:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
34003 /* 96371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECLASTrr),
34004 /* 96374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34005 /* 96376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34006 /* 96378 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34007 /* 96380 */ GIR_RootConstrainSelectedInstOperands,
34008 /* 96381 */ // GIR_Coverage, 3360,
34009 /* 96381 */ GIR_EraseRootFromParent_Done,
34010 /* 96382 */ // Label 2076: @96382
34011 /* 96382 */ GIM_Try, /*On fail goto*//*Label 2077*/ GIMT_Encode4(96427), // Rule ID 3377 //
34012 /* 96387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
34013 /* 96390 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_extrq),
34014 /* 96395 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34015 /* 96398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34016 /* 96401 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
34017 /* 96404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34018 /* 96408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34019 /* 96412 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34020 /* 96416 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15910:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask) => (EXTRQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask)
34021 /* 96416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::EXTRQ),
34022 /* 96419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34023 /* 96421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
34024 /* 96423 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
34025 /* 96425 */ GIR_RootConstrainSelectedInstOperands,
34026 /* 96426 */ // GIR_Coverage, 3377,
34027 /* 96426 */ GIR_EraseRootFromParent_Done,
34028 /* 96427 */ // Label 2077: @96427
34029 /* 96427 */ GIM_Try, /*On fail goto*//*Label 2078*/ GIMT_Encode4(96472), // Rule ID 3379 //
34030 /* 96432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
34031 /* 96435 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_insertq),
34032 /* 96440 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34033 /* 96443 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34034 /* 96446 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34035 /* 96449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34036 /* 96453 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34037 /* 96457 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34038 /* 96461 */ // (intrinsic_wo_chain:{ *:[v2i64] } 15912:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask) => (INSERTQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask)
34039 /* 96461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INSERTQ),
34040 /* 96464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34041 /* 96466 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
34042 /* 96468 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
34043 /* 96470 */ GIR_RootConstrainSelectedInstOperands,
34044 /* 96471 */ // GIR_Coverage, 3379,
34045 /* 96471 */ GIR_EraseRootFromParent_Done,
34046 /* 96472 */ // Label 2078: @96472
34047 /* 96472 */ GIM_Try, /*On fail goto*//*Label 2079*/ GIMT_Encode4(96517), // Rule ID 3554 //
34048 /* 96477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
34049 /* 96480 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg1),
34050 /* 96485 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34051 /* 96488 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34052 /* 96491 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34053 /* 96494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34054 /* 96498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34055 /* 96502 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34056 /* 96506 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16035:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VSHA512MSG1rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
34057 /* 96506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG1rr),
34058 /* 96509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34059 /* 96511 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34060 /* 96513 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34061 /* 96515 */ GIR_RootConstrainSelectedInstOperands,
34062 /* 96516 */ // GIR_Coverage, 3554,
34063 /* 96516 */ GIR_EraseRootFromParent_Done,
34064 /* 96517 */ // Label 2079: @96517
34065 /* 96517 */ GIM_Try, /*On fail goto*//*Label 2080*/ GIMT_Encode4(96562), // Rule ID 3555 //
34066 /* 96522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
34067 /* 96525 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg2),
34068 /* 96530 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34069 /* 96533 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34070 /* 96536 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34071 /* 96539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34072 /* 96543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34073 /* 96547 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34074 /* 96551 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16036:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VSHA512MSG2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
34075 /* 96551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG2rr),
34076 /* 96554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34077 /* 96556 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34078 /* 96558 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34079 /* 96560 */ GIR_RootConstrainSelectedInstOperands,
34080 /* 96561 */ // GIR_Coverage, 3555,
34081 /* 96561 */ GIR_EraseRootFromParent_Done,
34082 /* 96562 */ // Label 2080: @96562
34083 /* 96562 */ GIM_Try, /*On fail goto*//*Label 2081*/ GIMT_Encode4(96607), // Rule ID 3563 //
34084 /* 96567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
34085 /* 96570 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
34086 /* 96575 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34087 /* 96578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34088 /* 96581 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34089 /* 96584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34090 /* 96588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34091 /* 96592 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34092 /* 96596 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16041:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4KEY4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
34093 /* 96596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rr),
34094 /* 96599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34095 /* 96601 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34096 /* 96603 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34097 /* 96605 */ GIR_RootConstrainSelectedInstOperands,
34098 /* 96606 */ // GIR_Coverage, 3563,
34099 /* 96606 */ GIR_EraseRootFromParent_Done,
34100 /* 96607 */ // Label 2081: @96607
34101 /* 96607 */ GIM_Try, /*On fail goto*//*Label 2082*/ GIMT_Encode4(96652), // Rule ID 3565 //
34102 /* 96612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
34103 /* 96615 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
34104 /* 96620 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34105 /* 96623 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34106 /* 96626 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34107 /* 96629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34108 /* 96633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34109 /* 96637 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34110 /* 96641 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16042:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4KEY4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
34111 /* 96641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrr),
34112 /* 96644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34113 /* 96646 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34114 /* 96648 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34115 /* 96650 */ GIR_RootConstrainSelectedInstOperands,
34116 /* 96651 */ // GIR_Coverage, 3565,
34117 /* 96651 */ GIR_EraseRootFromParent_Done,
34118 /* 96652 */ // Label 2082: @96652
34119 /* 96652 */ GIM_Try, /*On fail goto*//*Label 2083*/ GIMT_Encode4(96697), // Rule ID 3567 //
34120 /* 96657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
34121 /* 96660 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
34122 /* 96665 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34123 /* 96668 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34124 /* 96671 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34125 /* 96674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34126 /* 96678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34127 /* 96682 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34128 /* 96686 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16044:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4RNDS4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
34129 /* 96686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rr),
34130 /* 96689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34131 /* 96691 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34132 /* 96693 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34133 /* 96695 */ GIR_RootConstrainSelectedInstOperands,
34134 /* 96696 */ // GIR_Coverage, 3567,
34135 /* 96696 */ GIR_EraseRootFromParent_Done,
34136 /* 96697 */ // Label 2083: @96697
34137 /* 96697 */ GIM_Try, /*On fail goto*//*Label 2084*/ GIMT_Encode4(96742), // Rule ID 3569 //
34138 /* 96702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
34139 /* 96705 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
34140 /* 96710 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34141 /* 96713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34142 /* 96716 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34143 /* 96719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34144 /* 96723 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34145 /* 96727 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34146 /* 96731 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16045:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4RNDS4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
34147 /* 96731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrr),
34148 /* 96734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34149 /* 96736 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34150 /* 96738 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34151 /* 96740 */ GIR_RootConstrainSelectedInstOperands,
34152 /* 96741 */ // GIR_Coverage, 3569,
34153 /* 96741 */ GIR_EraseRootFromParent_Done,
34154 /* 96742 */ // Label 2084: @96742
34155 /* 96742 */ GIM_Try, /*On fail goto*//*Label 2085*/ GIMT_Encode4(96787), // Rule ID 14063 //
34156 /* 96747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34157 /* 96750 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
34158 /* 96755 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34159 /* 96758 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34160 /* 96761 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34161 /* 96764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34162 /* 96768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34163 /* 96772 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34164 /* 96776 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14457:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
34165 /* 96776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rr),
34166 /* 96779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34167 /* 96781 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34168 /* 96783 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34169 /* 96785 */ GIR_RootConstrainSelectedInstOperands,
34170 /* 96786 */ // GIR_Coverage, 14063,
34171 /* 96786 */ GIR_EraseRootFromParent_Done,
34172 /* 96787 */ // Label 2085: @96787
34173 /* 96787 */ GIM_Try, /*On fail goto*//*Label 2086*/ GIMT_Encode4(96832), // Rule ID 14065 //
34174 /* 96792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34175 /* 96795 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
34176 /* 96800 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34177 /* 96803 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34178 /* 96806 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34179 /* 96809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34180 /* 96813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34181 /* 96817 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34182 /* 96821 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14458:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
34183 /* 96821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rr),
34184 /* 96824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34185 /* 96826 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34186 /* 96828 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34187 /* 96830 */ GIR_RootConstrainSelectedInstOperands,
34188 /* 96831 */ // GIR_Coverage, 14065,
34189 /* 96831 */ GIR_EraseRootFromParent_Done,
34190 /* 96832 */ // Label 2086: @96832
34191 /* 96832 */ GIM_Try, /*On fail goto*//*Label 2087*/ GIMT_Encode4(96877), // Rule ID 14067 //
34192 /* 96837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
34193 /* 96840 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
34194 /* 96845 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
34195 /* 96848 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
34196 /* 96851 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
34197 /* 96854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34198 /* 96858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34199 /* 96862 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34200 /* 96866 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14459:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
34201 /* 96866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrr),
34202 /* 96869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34203 /* 96871 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34204 /* 96873 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34205 /* 96875 */ GIR_RootConstrainSelectedInstOperands,
34206 /* 96876 */ // GIR_Coverage, 14067,
34207 /* 96876 */ GIR_EraseRootFromParent_Done,
34208 /* 96877 */ // Label 2087: @96877
34209 /* 96877 */ GIM_Try, /*On fail goto*//*Label 2088*/ GIMT_Encode4(96922), // Rule ID 14069 //
34210 /* 96882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34211 /* 96885 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
34212 /* 96890 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34213 /* 96893 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34214 /* 96896 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34215 /* 96899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34216 /* 96903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34217 /* 96907 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34218 /* 96911 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14460:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
34219 /* 96911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rr),
34220 /* 96914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34221 /* 96916 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34222 /* 96918 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34223 /* 96920 */ GIR_RootConstrainSelectedInstOperands,
34224 /* 96921 */ // GIR_Coverage, 14069,
34225 /* 96921 */ GIR_EraseRootFromParent_Done,
34226 /* 96922 */ // Label 2088: @96922
34227 /* 96922 */ GIM_Try, /*On fail goto*//*Label 2089*/ GIMT_Encode4(96967), // Rule ID 14071 //
34228 /* 96927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34229 /* 96930 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
34230 /* 96935 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34231 /* 96938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34232 /* 96941 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34233 /* 96944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34234 /* 96948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34235 /* 96952 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34236 /* 96956 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14461:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
34237 /* 96956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rr),
34238 /* 96959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34239 /* 96961 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34240 /* 96963 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34241 /* 96965 */ GIR_RootConstrainSelectedInstOperands,
34242 /* 96966 */ // GIR_Coverage, 14071,
34243 /* 96966 */ GIR_EraseRootFromParent_Done,
34244 /* 96967 */ // Label 2089: @96967
34245 /* 96967 */ GIM_Try, /*On fail goto*//*Label 2090*/ GIMT_Encode4(97012), // Rule ID 14073 //
34246 /* 96972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
34247 /* 96975 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
34248 /* 96980 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
34249 /* 96983 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
34250 /* 96986 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
34251 /* 96989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34252 /* 96993 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34253 /* 96997 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34254 /* 97001 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14462:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
34255 /* 97001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrr),
34256 /* 97004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34257 /* 97006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34258 /* 97008 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34259 /* 97010 */ GIR_RootConstrainSelectedInstOperands,
34260 /* 97011 */ // GIR_Coverage, 14073,
34261 /* 97011 */ GIR_EraseRootFromParent_Done,
34262 /* 97012 */ // Label 2090: @97012
34263 /* 97012 */ GIM_Try, /*On fail goto*//*Label 2091*/ GIMT_Encode4(97057), // Rule ID 14075 //
34264 /* 97017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34265 /* 97020 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
34266 /* 97025 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34267 /* 97028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34268 /* 97031 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34269 /* 97034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34270 /* 97038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34271 /* 97042 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34272 /* 97046 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14451:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
34273 /* 97046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rr),
34274 /* 97049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34275 /* 97051 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34276 /* 97053 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34277 /* 97055 */ GIR_RootConstrainSelectedInstOperands,
34278 /* 97056 */ // GIR_Coverage, 14075,
34279 /* 97056 */ GIR_EraseRootFromParent_Done,
34280 /* 97057 */ // Label 2091: @97057
34281 /* 97057 */ GIM_Try, /*On fail goto*//*Label 2092*/ GIMT_Encode4(97102), // Rule ID 14077 //
34282 /* 97062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34283 /* 97065 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
34284 /* 97070 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34285 /* 97073 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34286 /* 97076 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34287 /* 97079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34288 /* 97083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34289 /* 97087 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34290 /* 97091 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14452:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
34291 /* 97091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rr),
34292 /* 97094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34293 /* 97096 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34294 /* 97098 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34295 /* 97100 */ GIR_RootConstrainSelectedInstOperands,
34296 /* 97101 */ // GIR_Coverage, 14077,
34297 /* 97101 */ GIR_EraseRootFromParent_Done,
34298 /* 97102 */ // Label 2092: @97102
34299 /* 97102 */ GIM_Try, /*On fail goto*//*Label 2093*/ GIMT_Encode4(97147), // Rule ID 14079 //
34300 /* 97107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
34301 /* 97110 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
34302 /* 97115 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
34303 /* 97118 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
34304 /* 97121 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
34305 /* 97124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34306 /* 97128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34307 /* 97132 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34308 /* 97136 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14453:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
34309 /* 97136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrr),
34310 /* 97139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34311 /* 97141 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34312 /* 97143 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34313 /* 97145 */ GIR_RootConstrainSelectedInstOperands,
34314 /* 97146 */ // GIR_Coverage, 14079,
34315 /* 97146 */ GIR_EraseRootFromParent_Done,
34316 /* 97147 */ // Label 2093: @97147
34317 /* 97147 */ GIM_Try, /*On fail goto*//*Label 2094*/ GIMT_Encode4(97192), // Rule ID 14081 //
34318 /* 97152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34319 /* 97155 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
34320 /* 97160 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34321 /* 97163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34322 /* 97166 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34323 /* 97169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34324 /* 97173 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34325 /* 97177 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
34326 /* 97181 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14454:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
34327 /* 97181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rr),
34328 /* 97184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34329 /* 97186 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34330 /* 97188 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34331 /* 97190 */ GIR_RootConstrainSelectedInstOperands,
34332 /* 97191 */ // GIR_Coverage, 14081,
34333 /* 97191 */ GIR_EraseRootFromParent_Done,
34334 /* 97192 */ // Label 2094: @97192
34335 /* 97192 */ GIM_Try, /*On fail goto*//*Label 2095*/ GIMT_Encode4(97237), // Rule ID 14083 //
34336 /* 97197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
34337 /* 97200 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
34338 /* 97205 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34339 /* 97208 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34340 /* 97211 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34341 /* 97214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34342 /* 97218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34343 /* 97222 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
34344 /* 97226 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14455:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
34345 /* 97226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rr),
34346 /* 97229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34347 /* 97231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34348 /* 97233 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34349 /* 97235 */ GIR_RootConstrainSelectedInstOperands,
34350 /* 97236 */ // GIR_Coverage, 14083,
34351 /* 97236 */ GIR_EraseRootFromParent_Done,
34352 /* 97237 */ // Label 2095: @97237
34353 /* 97237 */ GIM_Try, /*On fail goto*//*Label 2096*/ GIMT_Encode4(97282), // Rule ID 14085 //
34354 /* 97242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
34355 /* 97245 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
34356 /* 97250 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
34357 /* 97253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
34358 /* 97256 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
34359 /* 97259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34360 /* 97263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34361 /* 97267 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34362 /* 97271 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14456:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
34363 /* 97271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrr),
34364 /* 97274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34365 /* 97276 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34366 /* 97278 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34367 /* 97280 */ GIR_RootConstrainSelectedInstOperands,
34368 /* 97281 */ // GIR_Coverage, 14085,
34369 /* 97281 */ GIR_EraseRootFromParent_Done,
34370 /* 97282 */ // Label 2096: @97282
34371 /* 97282 */ GIM_Try, /*On fail goto*//*Label 2097*/ GIMT_Encode4(97327), // Rule ID 16796 //
34372 /* 97287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
34373 /* 97290 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
34374 /* 97295 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
34375 /* 97298 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
34376 /* 97301 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
34377 /* 97304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34378 /* 97308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34379 /* 97312 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34380 /* 97316 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16043:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4KEY4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
34381 /* 97316 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrr),
34382 /* 97319 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34383 /* 97321 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34384 /* 97323 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34385 /* 97325 */ GIR_RootConstrainSelectedInstOperands,
34386 /* 97326 */ // GIR_Coverage, 16796,
34387 /* 97326 */ GIR_EraseRootFromParent_Done,
34388 /* 97327 */ // Label 2097: @97327
34389 /* 97327 */ GIM_Try, /*On fail goto*//*Label 2098*/ GIMT_Encode4(97372), // Rule ID 16802 //
34390 /* 97332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
34391 /* 97335 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
34392 /* 97340 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
34393 /* 97343 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
34394 /* 97346 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
34395 /* 97349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34396 /* 97353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34397 /* 97357 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
34398 /* 97361 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16046:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4RNDS4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
34399 /* 97361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrr),
34400 /* 97364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34401 /* 97366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34402 /* 97368 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34403 /* 97370 */ GIR_RootConstrainSelectedInstOperands,
34404 /* 97371 */ // GIR_Coverage, 16802,
34405 /* 97371 */ GIR_EraseRootFromParent_Done,
34406 /* 97372 */ // Label 2098: @97372
34407 /* 97372 */ GIM_Reject,
34408 /* 97373 */ // Label 1991: @97373
34409 /* 97373 */ GIM_Try, /*On fail goto*//*Label 2099*/ GIMT_Encode4(101254),
34410 /* 97378 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
34411 /* 97381 */ GIM_Try, /*On fail goto*//*Label 2100*/ GIMT_Encode4(97462), // Rule ID 23567 //
34412 /* 97386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34413 /* 97389 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34414 /* 97394 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34415 /* 97397 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34416 /* 97400 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34417 /* 97403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34418 /* 97407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34419 /* 97411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34420 /* 97415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34421 /* 97418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34422 /* 97422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34423 /* 97426 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34424 /* 97430 */ // MIs[0] src3
34425 /* 97430 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34426 /* 97433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34427 /* 97435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34428 /* 97442 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15879:{ *:[iPTR] }, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1, (timm:{ *:[i8] }):$src3) => (VDPPSrmi:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34429 /* 97442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
34430 /* 97445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34431 /* 97447 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34432 /* 97449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34433 /* 97453 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34434 /* 97455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34435 /* 97460 */ GIR_RootConstrainSelectedInstOperands,
34436 /* 97461 */ // GIR_Coverage, 23567,
34437 /* 97461 */ GIR_EraseRootFromParent_Done,
34438 /* 97462 */ // Label 2100: @97462
34439 /* 97462 */ GIM_Try, /*On fail goto*//*Label 2101*/ GIMT_Encode4(97543), // Rule ID 23568 //
34440 /* 97467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34441 /* 97470 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34442 /* 97475 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34443 /* 97478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34444 /* 97481 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34445 /* 97484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34446 /* 97488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34447 /* 97492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34448 /* 97496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34449 /* 97499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34450 /* 97503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34451 /* 97507 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34452 /* 97511 */ // MIs[0] src3
34453 /* 97511 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34454 /* 97514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34455 /* 97516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34456 /* 97523 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15878:{ *:[iPTR] }, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1, (timm:{ *:[i8] }):$src3) => (VDPPDrmi:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34457 /* 97523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
34458 /* 97526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34459 /* 97528 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34460 /* 97530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34461 /* 97534 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34462 /* 97536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34463 /* 97541 */ GIR_RootConstrainSelectedInstOperands,
34464 /* 97542 */ // GIR_Coverage, 23568,
34465 /* 97542 */ GIR_EraseRootFromParent_Done,
34466 /* 97543 */ // Label 2101: @97543
34467 /* 97543 */ GIM_Try, /*On fail goto*//*Label 2102*/ GIMT_Encode4(97624), // Rule ID 23569 //
34468 /* 97548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34469 /* 97551 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
34470 /* 97556 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34471 /* 97559 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34472 /* 97562 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34473 /* 97565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34474 /* 97569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34475 /* 97573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34476 /* 97577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34477 /* 97580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34478 /* 97584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34479 /* 97588 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34480 /* 97592 */ // MIs[0] src3
34481 /* 97592 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34482 /* 97595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34483 /* 97597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34484 /* 97604 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14489:{ *:[iPTR] }, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1, (timm:{ *:[i8] }):$src3) => (VDPPSYrmi:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34485 /* 97604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
34486 /* 97607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34487 /* 97609 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34488 /* 97611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34489 /* 97615 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34490 /* 97617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34491 /* 97622 */ GIR_RootConstrainSelectedInstOperands,
34492 /* 97623 */ // GIR_Coverage, 23569,
34493 /* 97623 */ GIR_EraseRootFromParent_Done,
34494 /* 97624 */ // Label 2102: @97624
34495 /* 97624 */ GIM_Try, /*On fail goto*//*Label 2103*/ GIMT_Encode4(97705), // Rule ID 3253 //
34496 /* 97629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34497 /* 97632 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34498 /* 97637 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34499 /* 97640 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34500 /* 97643 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34501 /* 97646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34502 /* 97650 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34503 /* 97654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34504 /* 97658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34505 /* 97662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34506 /* 97665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34507 /* 97669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34508 /* 97673 */ // MIs[0] src3
34509 /* 97673 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34510 /* 97676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34511 /* 97678 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34512 /* 97685 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15879:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VDPPSrmi:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34513 /* 97685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
34514 /* 97688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34515 /* 97690 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34516 /* 97692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34517 /* 97696 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34518 /* 97698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34519 /* 97703 */ GIR_RootConstrainSelectedInstOperands,
34520 /* 97704 */ // GIR_Coverage, 3253,
34521 /* 97704 */ GIR_EraseRootFromParent_Done,
34522 /* 97705 */ // Label 2103: @97705
34523 /* 97705 */ GIM_Try, /*On fail goto*//*Label 2104*/ GIMT_Encode4(97786), // Rule ID 3255 //
34524 /* 97710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34525 /* 97713 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34526 /* 97718 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34527 /* 97721 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34528 /* 97724 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34529 /* 97727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34530 /* 97731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34531 /* 97735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34532 /* 97739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34533 /* 97743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34534 /* 97746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34535 /* 97750 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34536 /* 97754 */ // MIs[0] src3
34537 /* 97754 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34538 /* 97757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34539 /* 97759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34540 /* 97766 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15878:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VDPPDrmi:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34541 /* 97766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
34542 /* 97769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34543 /* 97771 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34544 /* 97773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34545 /* 97777 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34546 /* 97779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34547 /* 97784 */ GIR_RootConstrainSelectedInstOperands,
34548 /* 97785 */ // GIR_Coverage, 3255,
34549 /* 97785 */ GIR_EraseRootFromParent_Done,
34550 /* 97786 */ // Label 2104: @97786
34551 /* 97786 */ GIM_Try, /*On fail goto*//*Label 2105*/ GIMT_Encode4(97867), // Rule ID 3257 //
34552 /* 97791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34553 /* 97794 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
34554 /* 97799 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34555 /* 97802 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34556 /* 97805 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34557 /* 97808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34558 /* 97812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34559 /* 97816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34560 /* 97820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34561 /* 97824 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34562 /* 97827 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34563 /* 97831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34564 /* 97835 */ // MIs[0] src3
34565 /* 97835 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34566 /* 97838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34567 /* 97840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34568 /* 97847 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14489:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src3) => (VDPPSYrmi:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2, (timm:{ *:[i8] }):$src3)
34569 /* 97847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
34570 /* 97850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34571 /* 97852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34572 /* 97854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34573 /* 97858 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34574 /* 97860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34575 /* 97865 */ GIR_RootConstrainSelectedInstOperands,
34576 /* 97866 */ // GIR_Coverage, 3257,
34577 /* 97866 */ GIR_EraseRootFromParent_Done,
34578 /* 97867 */ // Label 2105: @97867
34579 /* 97867 */ GIM_Try, /*On fail goto*//*Label 2106*/ GIMT_Encode4(97952), // Rule ID 23369 //
34580 /* 97872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34581 /* 97875 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34582 /* 97880 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34583 /* 97883 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34584 /* 97886 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34585 /* 97889 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34586 /* 97892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34587 /* 97896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34588 /* 97900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34589 /* 97904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34590 /* 97907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34591 /* 97911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34592 /* 97915 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34593 /* 97919 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34594 /* 97923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34595 /* 97925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34596 /* 97932 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16098:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34597 /* 97932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
34598 /* 97935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34599 /* 97937 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34600 /* 97939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34601 /* 97943 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34602 /* 97945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34603 /* 97950 */ GIR_RootConstrainSelectedInstOperands,
34604 /* 97951 */ // GIR_Coverage, 23369,
34605 /* 97951 */ GIR_EraseRootFromParent_Done,
34606 /* 97952 */ // Label 2106: @97952
34607 /* 97952 */ GIM_Try, /*On fail goto*//*Label 2107*/ GIMT_Encode4(98037), // Rule ID 23370 //
34608 /* 97957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34609 /* 97960 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34610 /* 97965 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34611 /* 97968 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34612 /* 97971 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34613 /* 97974 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34614 /* 97977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34615 /* 97981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34616 /* 97985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34617 /* 97989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34618 /* 97992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34619 /* 97996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34620 /* 98000 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34621 /* 98004 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34622 /* 98008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34623 /* 98010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34624 /* 98017 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16097:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34625 /* 98017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
34626 /* 98020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34627 /* 98022 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34628 /* 98024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34629 /* 98028 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34630 /* 98030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34631 /* 98035 */ GIR_RootConstrainSelectedInstOperands,
34632 /* 98036 */ // GIR_Coverage, 23370,
34633 /* 98036 */ GIR_EraseRootFromParent_Done,
34634 /* 98037 */ // Label 2107: @98037
34635 /* 98037 */ GIM_Try, /*On fail goto*//*Label 2108*/ GIMT_Encode4(98122), // Rule ID 23371 //
34636 /* 98042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34637 /* 98045 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34638 /* 98050 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34639 /* 98053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34640 /* 98056 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34641 /* 98059 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34642 /* 98062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34643 /* 98066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34644 /* 98070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34645 /* 98074 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34646 /* 98077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34647 /* 98081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34648 /* 98085 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34649 /* 98089 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34650 /* 98093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34651 /* 98095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34652 /* 98102 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16096:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v8i16] }:$src3)
34653 /* 98102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
34654 /* 98105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34655 /* 98107 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34656 /* 98109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34657 /* 98113 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34658 /* 98115 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34659 /* 98120 */ GIR_RootConstrainSelectedInstOperands,
34660 /* 98121 */ // GIR_Coverage, 23371,
34661 /* 98121 */ GIR_EraseRootFromParent_Done,
34662 /* 98122 */ // Label 2108: @98122
34663 /* 98122 */ GIM_Try, /*On fail goto*//*Label 2109*/ GIMT_Encode4(98207), // Rule ID 23372 //
34664 /* 98127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34665 /* 98130 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34666 /* 98135 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34667 /* 98138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34668 /* 98141 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34669 /* 98144 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34670 /* 98147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34671 /* 98151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34672 /* 98155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34673 /* 98159 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34674 /* 98162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34675 /* 98166 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34676 /* 98170 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34677 /* 98174 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34678 /* 98178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34679 /* 98180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34680 /* 98187 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16095:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34681 /* 98187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
34682 /* 98190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34683 /* 98192 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34684 /* 98194 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34685 /* 98198 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34686 /* 98200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34687 /* 98205 */ GIR_RootConstrainSelectedInstOperands,
34688 /* 98206 */ // GIR_Coverage, 23372,
34689 /* 98206 */ GIR_EraseRootFromParent_Done,
34690 /* 98207 */ // Label 2109: @98207
34691 /* 98207 */ GIM_Try, /*On fail goto*//*Label 2110*/ GIMT_Encode4(98292), // Rule ID 23373 //
34692 /* 98212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34693 /* 98215 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34694 /* 98220 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34695 /* 98223 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34696 /* 98226 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34697 /* 98229 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34698 /* 98232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34699 /* 98236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34700 /* 98240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34701 /* 98244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34702 /* 98247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34703 /* 98251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34704 /* 98255 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34705 /* 98259 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34706 /* 98263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34707 /* 98265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34708 /* 98272 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16094:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v8i16] }:$src3)
34709 /* 98272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
34710 /* 98275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34711 /* 98277 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34712 /* 98279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34713 /* 98283 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34714 /* 98285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34715 /* 98290 */ GIR_RootConstrainSelectedInstOperands,
34716 /* 98291 */ // GIR_Coverage, 23373,
34717 /* 98291 */ GIR_EraseRootFromParent_Done,
34718 /* 98292 */ // Label 2110: @98292
34719 /* 98292 */ GIM_Try, /*On fail goto*//*Label 2111*/ GIMT_Encode4(98377), // Rule ID 23374 //
34720 /* 98297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34721 /* 98300 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34722 /* 98305 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34723 /* 98308 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34724 /* 98311 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34725 /* 98314 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34726 /* 98317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34727 /* 98321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34728 /* 98325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34729 /* 98329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34730 /* 98332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34731 /* 98336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34732 /* 98340 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34733 /* 98344 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34734 /* 98348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34735 /* 98350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34736 /* 98357 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16093:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34737 /* 98357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
34738 /* 98360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34739 /* 98362 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34740 /* 98364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34741 /* 98368 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34742 /* 98370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34743 /* 98375 */ GIR_RootConstrainSelectedInstOperands,
34744 /* 98376 */ // GIR_Coverage, 23374,
34745 /* 98376 */ GIR_EraseRootFromParent_Done,
34746 /* 98377 */ // Label 2111: @98377
34747 /* 98377 */ GIM_Try, /*On fail goto*//*Label 2112*/ GIMT_Encode4(98462), // Rule ID 23375 //
34748 /* 98382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34749 /* 98385 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34750 /* 98390 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34751 /* 98393 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34752 /* 98396 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34753 /* 98399 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34754 /* 98402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34755 /* 98406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34756 /* 98410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34757 /* 98414 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34758 /* 98417 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34759 /* 98421 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34760 /* 98425 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34761 /* 98429 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34762 /* 98433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34763 /* 98435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34764 /* 98442 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16092:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
34765 /* 98442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
34766 /* 98445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34767 /* 98447 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34768 /* 98449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34769 /* 98453 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34770 /* 98455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34771 /* 98460 */ GIR_RootConstrainSelectedInstOperands,
34772 /* 98461 */ // GIR_Coverage, 23375,
34773 /* 98461 */ GIR_EraseRootFromParent_Done,
34774 /* 98462 */ // Label 2112: @98462
34775 /* 98462 */ GIM_Try, /*On fail goto*//*Label 2113*/ GIMT_Encode4(98547), // Rule ID 23376 //
34776 /* 98467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34777 /* 98470 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34778 /* 98475 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34779 /* 98478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34780 /* 98481 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34781 /* 98484 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34782 /* 98487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34783 /* 98491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34784 /* 98495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34785 /* 98499 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34786 /* 98502 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34787 /* 98506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34788 /* 98510 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34789 /* 98514 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34790 /* 98518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34791 /* 98520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34792 /* 98527 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16091:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
34793 /* 98527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
34794 /* 98530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34795 /* 98532 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34796 /* 98534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34797 /* 98538 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34798 /* 98540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34799 /* 98545 */ GIR_RootConstrainSelectedInstOperands,
34800 /* 98546 */ // GIR_Coverage, 23376,
34801 /* 98546 */ GIR_EraseRootFromParent_Done,
34802 /* 98547 */ // Label 2113: @98547
34803 /* 98547 */ GIM_Try, /*On fail goto*//*Label 2114*/ GIMT_Encode4(98632), // Rule ID 23377 //
34804 /* 98552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34805 /* 98555 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34806 /* 98560 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34807 /* 98563 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34808 /* 98566 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34809 /* 98569 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34810 /* 98572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34811 /* 98576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34812 /* 98580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34813 /* 98584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34814 /* 98587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34815 /* 98591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34816 /* 98595 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34817 /* 98599 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34818 /* 98603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34819 /* 98605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34820 /* 98612 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16090:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34821 /* 98612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
34822 /* 98615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34823 /* 98617 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34824 /* 98619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34825 /* 98623 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34826 /* 98625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34827 /* 98630 */ GIR_RootConstrainSelectedInstOperands,
34828 /* 98631 */ // GIR_Coverage, 23377,
34829 /* 98631 */ GIR_EraseRootFromParent_Done,
34830 /* 98632 */ // Label 2114: @98632
34831 /* 98632 */ GIM_Try, /*On fail goto*//*Label 2115*/ GIMT_Encode4(98717), // Rule ID 23378 //
34832 /* 98637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34833 /* 98640 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34834 /* 98645 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34835 /* 98648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34836 /* 98651 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34837 /* 98654 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34838 /* 98657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34839 /* 98661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34840 /* 98665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34841 /* 98669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34842 /* 98672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34843 /* 98676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34844 /* 98680 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34845 /* 98684 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34846 /* 98688 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34847 /* 98690 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34848 /* 98697 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16089:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
34849 /* 98697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
34850 /* 98700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34851 /* 98702 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34852 /* 98704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34853 /* 98708 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34854 /* 98710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34855 /* 98715 */ GIR_RootConstrainSelectedInstOperands,
34856 /* 98716 */ // GIR_Coverage, 23378,
34857 /* 98716 */ GIR_EraseRootFromParent_Done,
34858 /* 98717 */ // Label 2115: @98717
34859 /* 98717 */ GIM_Try, /*On fail goto*//*Label 2116*/ GIMT_Encode4(98802), // Rule ID 23379 //
34860 /* 98722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34861 /* 98725 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34862 /* 98730 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34863 /* 98733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34864 /* 98736 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34865 /* 98739 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34866 /* 98742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34867 /* 98746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34868 /* 98750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34869 /* 98754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34870 /* 98757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34871 /* 98761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34872 /* 98765 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34873 /* 98769 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34874 /* 98773 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34875 /* 98775 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34876 /* 98782 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16088:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
34877 /* 98782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
34878 /* 98785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34879 /* 98787 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34880 /* 98789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34881 /* 98793 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34882 /* 98795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34883 /* 98800 */ GIR_RootConstrainSelectedInstOperands,
34884 /* 98801 */ // GIR_Coverage, 23379,
34885 /* 98801 */ GIR_EraseRootFromParent_Done,
34886 /* 98802 */ // Label 2116: @98802
34887 /* 98802 */ GIM_Try, /*On fail goto*//*Label 2117*/ GIMT_Encode4(98887), // Rule ID 23380 //
34888 /* 98807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34889 /* 98810 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34890 /* 98815 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34891 /* 98818 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34892 /* 98821 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34893 /* 98824 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34894 /* 98827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34895 /* 98831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34896 /* 98835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34897 /* 98839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34898 /* 98842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34899 /* 98846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34900 /* 98850 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34901 /* 98854 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34902 /* 98858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34903 /* 98860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34904 /* 98867 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16087:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34905 /* 98867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
34906 /* 98870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34907 /* 98872 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34908 /* 98874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34909 /* 98878 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34910 /* 98880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34911 /* 98885 */ GIR_RootConstrainSelectedInstOperands,
34912 /* 98886 */ // GIR_Coverage, 23380,
34913 /* 98886 */ GIR_EraseRootFromParent_Done,
34914 /* 98887 */ // Label 2117: @98887
34915 /* 98887 */ GIM_Try, /*On fail goto*//*Label 2118*/ GIMT_Encode4(98972), // Rule ID 1619 //
34916 /* 98892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34917 /* 98895 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34918 /* 98900 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34919 /* 98903 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34920 /* 98906 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34921 /* 98909 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34922 /* 98912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34923 /* 98916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34924 /* 98920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34925 /* 98924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34926 /* 98928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34927 /* 98931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34928 /* 98935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34929 /* 98939 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34930 /* 98943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34931 /* 98945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34932 /* 98952 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16098:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34933 /* 98952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
34934 /* 98955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34935 /* 98957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34936 /* 98959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34937 /* 98963 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34938 /* 98965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34939 /* 98970 */ GIR_RootConstrainSelectedInstOperands,
34940 /* 98971 */ // GIR_Coverage, 1619,
34941 /* 98971 */ GIR_EraseRootFromParent_Done,
34942 /* 98972 */ // Label 2118: @98972
34943 /* 98972 */ GIM_Try, /*On fail goto*//*Label 2119*/ GIMT_Encode4(99057), // Rule ID 1621 //
34944 /* 98977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34945 /* 98980 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34946 /* 98985 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34947 /* 98988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34948 /* 98991 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34949 /* 98994 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34950 /* 98997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34951 /* 99001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34952 /* 99005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34953 /* 99009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34954 /* 99013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34955 /* 99016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34956 /* 99020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34957 /* 99024 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34958 /* 99028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34959 /* 99030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34960 /* 99037 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16097:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
34961 /* 99037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
34962 /* 99040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34963 /* 99042 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34964 /* 99044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34965 /* 99048 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34966 /* 99050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34967 /* 99055 */ GIR_RootConstrainSelectedInstOperands,
34968 /* 99056 */ // GIR_Coverage, 1621,
34969 /* 99056 */ GIR_EraseRootFromParent_Done,
34970 /* 99057 */ // Label 2119: @99057
34971 /* 99057 */ GIM_Try, /*On fail goto*//*Label 2120*/ GIMT_Encode4(99142), // Rule ID 1623 //
34972 /* 99062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34973 /* 99065 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34974 /* 99070 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34975 /* 99073 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34976 /* 99076 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34977 /* 99079 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34978 /* 99082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34979 /* 99086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34980 /* 99090 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34981 /* 99094 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34982 /* 99098 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34983 /* 99101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34984 /* 99105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34985 /* 99109 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34986 /* 99113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34987 /* 99115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34988 /* 99122 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16096:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v8i16] }:$src3)
34989 /* 99122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
34990 /* 99125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34991 /* 99127 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34992 /* 99129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34993 /* 99133 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34994 /* 99135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34995 /* 99140 */ GIR_RootConstrainSelectedInstOperands,
34996 /* 99141 */ // GIR_Coverage, 1623,
34997 /* 99141 */ GIR_EraseRootFromParent_Done,
34998 /* 99142 */ // Label 2120: @99142
34999 /* 99142 */ GIM_Try, /*On fail goto*//*Label 2121*/ GIMT_Encode4(99227), // Rule ID 1625 //
35000 /* 99147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35001 /* 99150 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
35002 /* 99155 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35003 /* 99158 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35004 /* 99161 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35005 /* 99164 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35006 /* 99167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35007 /* 99171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35008 /* 99175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35009 /* 99179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35010 /* 99183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35011 /* 99186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35012 /* 99190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35013 /* 99194 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35014 /* 99198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35015 /* 99200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35016 /* 99207 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16095:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
35017 /* 99207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
35018 /* 99210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35019 /* 99212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35020 /* 99214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35021 /* 99218 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35022 /* 99220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35023 /* 99225 */ GIR_RootConstrainSelectedInstOperands,
35024 /* 99226 */ // GIR_Coverage, 1625,
35025 /* 99226 */ GIR_EraseRootFromParent_Done,
35026 /* 99227 */ // Label 2121: @99227
35027 /* 99227 */ GIM_Try, /*On fail goto*//*Label 2122*/ GIMT_Encode4(99312), // Rule ID 1627 //
35028 /* 99232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35029 /* 99235 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
35030 /* 99240 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
35031 /* 99243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35032 /* 99246 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35033 /* 99249 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
35034 /* 99252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35035 /* 99256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35036 /* 99260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35037 /* 99264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35038 /* 99268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35039 /* 99271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35040 /* 99275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35041 /* 99279 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35042 /* 99283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35043 /* 99285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35044 /* 99292 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16094:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v8i16] }:$src3)
35045 /* 99292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
35046 /* 99295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35047 /* 99297 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35048 /* 99299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35049 /* 99303 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35050 /* 99305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35051 /* 99310 */ GIR_RootConstrainSelectedInstOperands,
35052 /* 99311 */ // GIR_Coverage, 1627,
35053 /* 99311 */ GIR_EraseRootFromParent_Done,
35054 /* 99312 */ // Label 2122: @99312
35055 /* 99312 */ GIM_Try, /*On fail goto*//*Label 2123*/ GIMT_Encode4(99397), // Rule ID 1629 //
35056 /* 99317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35057 /* 99320 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
35058 /* 99325 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35059 /* 99328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35060 /* 99331 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35061 /* 99334 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35062 /* 99337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35063 /* 99341 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35064 /* 99345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35065 /* 99349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35066 /* 99353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35067 /* 99356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35068 /* 99360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35069 /* 99364 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35070 /* 99368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35071 /* 99370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35072 /* 99377 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16093:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrm:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
35073 /* 99377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
35074 /* 99380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35075 /* 99382 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35076 /* 99384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35077 /* 99388 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35078 /* 99390 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35079 /* 99395 */ GIR_RootConstrainSelectedInstOperands,
35080 /* 99396 */ // GIR_Coverage, 1629,
35081 /* 99396 */ GIR_EraseRootFromParent_Done,
35082 /* 99397 */ // Label 2123: @99397
35083 /* 99397 */ GIM_Try, /*On fail goto*//*Label 2124*/ GIMT_Encode4(99482), // Rule ID 1631 //
35084 /* 99402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35085 /* 99405 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
35086 /* 99410 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35087 /* 99413 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35088 /* 99416 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35089 /* 99419 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35090 /* 99422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35091 /* 99426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35092 /* 99430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35093 /* 99434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35094 /* 99438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35095 /* 99441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35096 /* 99445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35097 /* 99449 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35098 /* 99453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35099 /* 99455 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35100 /* 99462 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16092:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
35101 /* 99462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
35102 /* 99465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35103 /* 99467 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35104 /* 99469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35105 /* 99473 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35106 /* 99475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35107 /* 99480 */ GIR_RootConstrainSelectedInstOperands,
35108 /* 99481 */ // GIR_Coverage, 1631,
35109 /* 99481 */ GIR_EraseRootFromParent_Done,
35110 /* 99482 */ // Label 2124: @99482
35111 /* 99482 */ GIM_Try, /*On fail goto*//*Label 2125*/ GIMT_Encode4(99567), // Rule ID 1633 //
35112 /* 99487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35113 /* 99490 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
35114 /* 99495 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35115 /* 99498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35116 /* 99501 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35117 /* 99504 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35118 /* 99507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35119 /* 99511 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35120 /* 99515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35121 /* 99519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35122 /* 99523 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35123 /* 99526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35124 /* 99530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35125 /* 99534 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35126 /* 99538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35127 /* 99540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35128 /* 99547 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16091:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
35129 /* 99547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
35130 /* 99550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35131 /* 99552 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35132 /* 99554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35133 /* 99558 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35134 /* 99560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35135 /* 99565 */ GIR_RootConstrainSelectedInstOperands,
35136 /* 99566 */ // GIR_Coverage, 1633,
35137 /* 99566 */ GIR_EraseRootFromParent_Done,
35138 /* 99567 */ // Label 2125: @99567
35139 /* 99567 */ GIM_Try, /*On fail goto*//*Label 2126*/ GIMT_Encode4(99652), // Rule ID 1635 //
35140 /* 99572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35141 /* 99575 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
35142 /* 99580 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35143 /* 99583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35144 /* 99586 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35145 /* 99589 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35146 /* 99592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35147 /* 99596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35148 /* 99600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35149 /* 99604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35150 /* 99608 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35151 /* 99611 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35152 /* 99615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35153 /* 99619 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35154 /* 99623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35155 /* 99625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35156 /* 99632 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16090:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
35157 /* 99632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
35158 /* 99635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35159 /* 99637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35160 /* 99639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35161 /* 99643 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35162 /* 99645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35163 /* 99650 */ GIR_RootConstrainSelectedInstOperands,
35164 /* 99651 */ // GIR_Coverage, 1635,
35165 /* 99651 */ GIR_EraseRootFromParent_Done,
35166 /* 99652 */ // Label 2126: @99652
35167 /* 99652 */ GIM_Try, /*On fail goto*//*Label 2127*/ GIMT_Encode4(99737), // Rule ID 1637 //
35168 /* 99657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35169 /* 99660 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
35170 /* 99665 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35171 /* 99668 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35172 /* 99671 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35173 /* 99674 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35174 /* 99677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35175 /* 99681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35176 /* 99685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35177 /* 99689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35178 /* 99693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35179 /* 99696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35180 /* 99700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35181 /* 99704 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35182 /* 99708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35183 /* 99710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35184 /* 99717 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16089:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
35185 /* 99717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
35186 /* 99720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35187 /* 99722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35188 /* 99724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35189 /* 99728 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35190 /* 99730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35191 /* 99735 */ GIR_RootConstrainSelectedInstOperands,
35192 /* 99736 */ // GIR_Coverage, 1637,
35193 /* 99736 */ GIR_EraseRootFromParent_Done,
35194 /* 99737 */ // Label 2127: @99737
35195 /* 99737 */ GIM_Try, /*On fail goto*//*Label 2128*/ GIMT_Encode4(99822), // Rule ID 1639 //
35196 /* 99742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35197 /* 99745 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
35198 /* 99750 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35199 /* 99753 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35200 /* 99756 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35201 /* 99759 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35202 /* 99762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35203 /* 99766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35204 /* 99770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35205 /* 99774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35206 /* 99778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35207 /* 99781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35208 /* 99785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35209 /* 99789 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35210 /* 99793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35211 /* 99795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35212 /* 99802 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16088:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrm:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src3)
35213 /* 99802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
35214 /* 99805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35215 /* 99807 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35216 /* 99809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35217 /* 99813 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35218 /* 99815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35219 /* 99820 */ GIR_RootConstrainSelectedInstOperands,
35220 /* 99821 */ // GIR_Coverage, 1639,
35221 /* 99821 */ GIR_EraseRootFromParent_Done,
35222 /* 99822 */ // Label 2128: @99822
35223 /* 99822 */ GIM_Try, /*On fail goto*//*Label 2129*/ GIMT_Encode4(99907), // Rule ID 1641 //
35224 /* 99827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35225 /* 99830 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
35226 /* 99835 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35227 /* 99838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35228 /* 99841 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35229 /* 99844 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35230 /* 99847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35231 /* 99851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35232 /* 99855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
35233 /* 99859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35234 /* 99863 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35235 /* 99866 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35236 /* 99870 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35237 /* 99874 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35238 /* 99878 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35239 /* 99880 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35240 /* 99887 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16087:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src3)
35241 /* 99887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
35242 /* 99890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35243 /* 99892 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35244 /* 99894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
35245 /* 99898 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35246 /* 99900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35247 /* 99905 */ GIR_RootConstrainSelectedInstOperands,
35248 /* 99906 */ // GIR_Coverage, 1641,
35249 /* 99906 */ GIR_EraseRootFromParent_Done,
35250 /* 99907 */ // Label 2129: @99907
35251 /* 99907 */ GIM_Try, /*On fail goto*//*Label 2130*/ GIMT_Encode4(99992), // Rule ID 3558 //
35252 /* 99912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35253 /* 99915 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
35254 /* 99920 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35255 /* 99923 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35256 /* 99926 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35257 /* 99929 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35258 /* 99932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35259 /* 99936 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35260 /* 99940 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35261 /* 99944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
35262 /* 99948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35263 /* 99952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35264 /* 99955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35265 /* 99959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35266 /* 99963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35267 /* 99965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35268 /* 99972 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16038:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM3MSG1rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, addr:{ *:[iPTR] }:$src3)
35269 /* 99972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rm),
35270 /* 99975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35271 /* 99977 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35272 /* 99979 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35273 /* 99981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
35274 /* 99985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35275 /* 99990 */ GIR_RootConstrainSelectedInstOperands,
35276 /* 99991 */ // GIR_Coverage, 3558,
35277 /* 99991 */ GIR_EraseRootFromParent_Done,
35278 /* 99992 */ // Label 2130: @99992
35279 /* 99992 */ GIM_Try, /*On fail goto*//*Label 2131*/ GIMT_Encode4(100077), // Rule ID 3560 //
35280 /* 99997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35281 /* 100000 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
35282 /* 100005 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35283 /* 100008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35284 /* 100011 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35285 /* 100014 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35286 /* 100017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35287 /* 100021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35288 /* 100025 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35289 /* 100029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
35290 /* 100033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35291 /* 100037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35292 /* 100040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35293 /* 100044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35294 /* 100048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35295 /* 100050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35296 /* 100057 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16039:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM3MSG2rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, addr:{ *:[iPTR] }:$src3)
35297 /* 100057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rm),
35298 /* 100060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35299 /* 100062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35300 /* 100064 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35301 /* 100066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
35302 /* 100070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35303 /* 100075 */ GIR_RootConstrainSelectedInstOperands,
35304 /* 100076 */ // GIR_Coverage, 3560,
35305 /* 100076 */ GIR_EraseRootFromParent_Done,
35306 /* 100077 */ // Label 2131: @100077
35307 /* 100077 */ GIM_Try, /*On fail goto*//*Label 2132*/ GIMT_Encode4(100127), // Rule ID 3252 //
35308 /* 100082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35309 /* 100085 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
35310 /* 100090 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35311 /* 100093 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35312 /* 100096 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35313 /* 100099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35314 /* 100103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35315 /* 100107 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35316 /* 100111 */ // MIs[0] src3
35317 /* 100111 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35318 /* 100114 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15879:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
35319 /* 100114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrri),
35320 /* 100117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35321 /* 100119 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35322 /* 100121 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35323 /* 100123 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35324 /* 100125 */ GIR_RootConstrainSelectedInstOperands,
35325 /* 100126 */ // GIR_Coverage, 3252,
35326 /* 100126 */ GIR_EraseRootFromParent_Done,
35327 /* 100127 */ // Label 2132: @100127
35328 /* 100127 */ GIM_Try, /*On fail goto*//*Label 2133*/ GIMT_Encode4(100177), // Rule ID 3254 //
35329 /* 100132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35330 /* 100135 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
35331 /* 100140 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35332 /* 100143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
35333 /* 100146 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
35334 /* 100149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35335 /* 100153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35336 /* 100157 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35337 /* 100161 */ // MIs[0] src3
35338 /* 100161 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35339 /* 100164 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15878:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
35340 /* 100164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrri),
35341 /* 100167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35342 /* 100169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35343 /* 100171 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35344 /* 100173 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35345 /* 100175 */ GIR_RootConstrainSelectedInstOperands,
35346 /* 100176 */ // GIR_Coverage, 3254,
35347 /* 100176 */ GIR_EraseRootFromParent_Done,
35348 /* 100177 */ // Label 2133: @100177
35349 /* 100177 */ GIM_Try, /*On fail goto*//*Label 2134*/ GIMT_Encode4(100227), // Rule ID 3256 //
35350 /* 100182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35351 /* 100185 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
35352 /* 100190 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
35353 /* 100193 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
35354 /* 100196 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
35355 /* 100199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35356 /* 100203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35357 /* 100207 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35358 /* 100211 */ // MIs[0] src3
35359 /* 100211 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35360 /* 100214 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14489:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSYrri:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3)
35361 /* 100214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrri),
35362 /* 100217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35363 /* 100219 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35364 /* 100221 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35365 /* 100223 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35366 /* 100225 */ GIR_RootConstrainSelectedInstOperands,
35367 /* 100226 */ // GIR_Coverage, 3256,
35368 /* 100226 */ GIR_EraseRootFromParent_Done,
35369 /* 100227 */ // Label 2134: @100227
35370 /* 100227 */ GIM_Try, /*On fail goto*//*Label 2135*/ GIMT_Encode4(100277), // Rule ID 3262 //
35371 /* 100232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
35372 /* 100235 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
35373 /* 100240 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35374 /* 100243 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35375 /* 100246 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35376 /* 100249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35377 /* 100253 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35378 /* 100257 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35379 /* 100261 */ // MIs[0] src3
35380 /* 100261 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35381 /* 100264 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15879:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
35382 /* 100264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPSrri),
35383 /* 100267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35384 /* 100269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35385 /* 100271 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35386 /* 100273 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35387 /* 100275 */ GIR_RootConstrainSelectedInstOperands,
35388 /* 100276 */ // GIR_Coverage, 3262,
35389 /* 100276 */ GIR_EraseRootFromParent_Done,
35390 /* 100277 */ // Label 2135: @100277
35391 /* 100277 */ GIM_Try, /*On fail goto*//*Label 2136*/ GIMT_Encode4(100327), // Rule ID 3264 //
35392 /* 100282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
35393 /* 100285 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
35394 /* 100290 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35395 /* 100293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
35396 /* 100296 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
35397 /* 100299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35398 /* 100303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35399 /* 100307 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35400 /* 100311 */ // MIs[0] src3
35401 /* 100311 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35402 /* 100314 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15878:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
35403 /* 100314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPDrri),
35404 /* 100317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35405 /* 100319 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35406 /* 100321 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35407 /* 100323 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35408 /* 100325 */ GIR_RootConstrainSelectedInstOperands,
35409 /* 100326 */ // GIR_Coverage, 3264,
35410 /* 100326 */ GIR_EraseRootFromParent_Done,
35411 /* 100327 */ // Label 2136: @100327
35412 /* 100327 */ GIM_Try, /*On fail goto*//*Label 2137*/ GIMT_Encode4(100377), // Rule ID 3324 //
35413 /* 100332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
35414 /* 100335 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1rnds4),
35415 /* 100340 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35416 /* 100343 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35417 /* 100346 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35418 /* 100349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35419 /* 100353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35420 /* 100357 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35421 /* 100361 */ // MIs[0] src3
35422 /* 100361 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
35423 /* 100364 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15765:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3) => (SHA1RNDS4rri:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3)
35424 /* 100364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1RNDS4rri),
35425 /* 100367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35426 /* 100369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35427 /* 100371 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35428 /* 100373 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35429 /* 100375 */ GIR_RootConstrainSelectedInstOperands,
35430 /* 100376 */ // GIR_Coverage, 3324,
35431 /* 100376 */ GIR_EraseRootFromParent_Done,
35432 /* 100377 */ // Label 2137: @100377
35433 /* 100377 */ GIM_Try, /*On fail goto*//*Label 2138*/ GIMT_Encode4(100431), // Rule ID 1618 //
35434 /* 100382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35435 /* 100385 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
35436 /* 100390 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35437 /* 100393 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35438 /* 100396 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35439 /* 100399 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35440 /* 100402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35441 /* 100406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35442 /* 100410 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35443 /* 100414 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35444 /* 100418 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16098:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35445 /* 100418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrr),
35446 /* 100421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35447 /* 100423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35448 /* 100425 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35449 /* 100427 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35450 /* 100429 */ GIR_RootConstrainSelectedInstOperands,
35451 /* 100430 */ // GIR_Coverage, 1618,
35452 /* 100430 */ GIR_EraseRootFromParent_Done,
35453 /* 100431 */ // Label 2138: @100431
35454 /* 100431 */ GIM_Try, /*On fail goto*//*Label 2139*/ GIMT_Encode4(100485), // Rule ID 1620 //
35455 /* 100436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35456 /* 100439 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
35457 /* 100444 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35458 /* 100447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35459 /* 100450 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35460 /* 100453 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35461 /* 100456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35462 /* 100460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35463 /* 100464 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35464 /* 100468 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35465 /* 100472 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16097:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35466 /* 100472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrr),
35467 /* 100475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35468 /* 100477 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35469 /* 100479 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35470 /* 100481 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35471 /* 100483 */ GIR_RootConstrainSelectedInstOperands,
35472 /* 100484 */ // GIR_Coverage, 1620,
35473 /* 100484 */ GIR_EraseRootFromParent_Done,
35474 /* 100485 */ // Label 2139: @100485
35475 /* 100485 */ GIM_Try, /*On fail goto*//*Label 2140*/ GIMT_Encode4(100539), // Rule ID 1622 //
35476 /* 100490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35477 /* 100493 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
35478 /* 100498 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
35479 /* 100501 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35480 /* 100504 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35481 /* 100507 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
35482 /* 100510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35483 /* 100514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35484 /* 100518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35485 /* 100522 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35486 /* 100526 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16096:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
35487 /* 100526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
35488 /* 100529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35489 /* 100531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35490 /* 100533 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35491 /* 100535 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35492 /* 100537 */ GIR_RootConstrainSelectedInstOperands,
35493 /* 100538 */ // GIR_Coverage, 1622,
35494 /* 100538 */ GIR_EraseRootFromParent_Done,
35495 /* 100539 */ // Label 2140: @100539
35496 /* 100539 */ GIM_Try, /*On fail goto*//*Label 2141*/ GIMT_Encode4(100593), // Rule ID 1624 //
35497 /* 100544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35498 /* 100547 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
35499 /* 100552 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35500 /* 100555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35501 /* 100558 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35502 /* 100561 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35503 /* 100564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35504 /* 100568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35505 /* 100572 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35506 /* 100576 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35507 /* 100580 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16095:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35508 /* 100580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrr),
35509 /* 100583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35510 /* 100585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35511 /* 100587 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35512 /* 100589 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35513 /* 100591 */ GIR_RootConstrainSelectedInstOperands,
35514 /* 100592 */ // GIR_Coverage, 1624,
35515 /* 100592 */ GIR_EraseRootFromParent_Done,
35516 /* 100593 */ // Label 2141: @100593
35517 /* 100593 */ GIM_Try, /*On fail goto*//*Label 2142*/ GIMT_Encode4(100647), // Rule ID 1626 //
35518 /* 100598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35519 /* 100601 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
35520 /* 100606 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
35521 /* 100609 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35522 /* 100612 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35523 /* 100615 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
35524 /* 100618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35525 /* 100622 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35526 /* 100626 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35527 /* 100630 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35528 /* 100634 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16094:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
35529 /* 100634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrr),
35530 /* 100637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35531 /* 100639 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35532 /* 100641 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35533 /* 100643 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35534 /* 100645 */ GIR_RootConstrainSelectedInstOperands,
35535 /* 100646 */ // GIR_Coverage, 1626,
35536 /* 100646 */ GIR_EraseRootFromParent_Done,
35537 /* 100647 */ // Label 2142: @100647
35538 /* 100647 */ GIM_Try, /*On fail goto*//*Label 2143*/ GIMT_Encode4(100701), // Rule ID 1628 //
35539 /* 100652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35540 /* 100655 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
35541 /* 100660 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35542 /* 100663 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
35543 /* 100666 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
35544 /* 100669 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35545 /* 100672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35546 /* 100676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35547 /* 100680 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35548 /* 100684 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35549 /* 100688 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16093:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
35550 /* 100688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrr),
35551 /* 100691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35552 /* 100693 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35553 /* 100695 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35554 /* 100697 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35555 /* 100699 */ GIR_RootConstrainSelectedInstOperands,
35556 /* 100700 */ // GIR_Coverage, 1628,
35557 /* 100700 */ GIR_EraseRootFromParent_Done,
35558 /* 100701 */ // Label 2143: @100701
35559 /* 100701 */ GIM_Try, /*On fail goto*//*Label 2144*/ GIMT_Encode4(100755), // Rule ID 1630 //
35560 /* 100706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35561 /* 100709 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
35562 /* 100714 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35563 /* 100717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35564 /* 100720 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35565 /* 100723 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35566 /* 100726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35567 /* 100730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35568 /* 100734 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35569 /* 100738 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35570 /* 100742 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16092:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35571 /* 100742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrr),
35572 /* 100745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35573 /* 100747 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35574 /* 100749 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35575 /* 100751 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35576 /* 100753 */ GIR_RootConstrainSelectedInstOperands,
35577 /* 100754 */ // GIR_Coverage, 1630,
35578 /* 100754 */ GIR_EraseRootFromParent_Done,
35579 /* 100755 */ // Label 2144: @100755
35580 /* 100755 */ GIM_Try, /*On fail goto*//*Label 2145*/ GIMT_Encode4(100809), // Rule ID 1632 //
35581 /* 100760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35582 /* 100763 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
35583 /* 100768 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35584 /* 100771 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35585 /* 100774 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35586 /* 100777 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35587 /* 100780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35588 /* 100784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35589 /* 100788 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35590 /* 100792 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35591 /* 100796 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16091:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35592 /* 100796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrr),
35593 /* 100799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35594 /* 100801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35595 /* 100803 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35596 /* 100805 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35597 /* 100807 */ GIR_RootConstrainSelectedInstOperands,
35598 /* 100808 */ // GIR_Coverage, 1632,
35599 /* 100808 */ GIR_EraseRootFromParent_Done,
35600 /* 100809 */ // Label 2145: @100809
35601 /* 100809 */ GIM_Try, /*On fail goto*//*Label 2146*/ GIMT_Encode4(100863), // Rule ID 1634 //
35602 /* 100814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35603 /* 100817 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
35604 /* 100822 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35605 /* 100825 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35606 /* 100828 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35607 /* 100831 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35608 /* 100834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35609 /* 100838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35610 /* 100842 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35611 /* 100846 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35612 /* 100850 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16090:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35613 /* 100850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrr),
35614 /* 100853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35615 /* 100855 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35616 /* 100857 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35617 /* 100859 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35618 /* 100861 */ GIR_RootConstrainSelectedInstOperands,
35619 /* 100862 */ // GIR_Coverage, 1634,
35620 /* 100862 */ GIR_EraseRootFromParent_Done,
35621 /* 100863 */ // Label 2146: @100863
35622 /* 100863 */ GIM_Try, /*On fail goto*//*Label 2147*/ GIMT_Encode4(100917), // Rule ID 1636 //
35623 /* 100868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35624 /* 100871 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
35625 /* 100876 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35626 /* 100879 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35627 /* 100882 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35628 /* 100885 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35629 /* 100888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35630 /* 100892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35631 /* 100896 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35632 /* 100900 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35633 /* 100904 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16089:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35634 /* 100904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrr),
35635 /* 100907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35636 /* 100909 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35637 /* 100911 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35638 /* 100913 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35639 /* 100915 */ GIR_RootConstrainSelectedInstOperands,
35640 /* 100916 */ // GIR_Coverage, 1636,
35641 /* 100916 */ GIR_EraseRootFromParent_Done,
35642 /* 100917 */ // Label 2147: @100917
35643 /* 100917 */ GIM_Try, /*On fail goto*//*Label 2148*/ GIMT_Encode4(100971), // Rule ID 1638 //
35644 /* 100922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35645 /* 100925 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
35646 /* 100930 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
35647 /* 100933 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35648 /* 100936 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35649 /* 100939 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35650 /* 100942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35651 /* 100946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35652 /* 100950 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35653 /* 100954 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35654 /* 100958 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16088:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
35655 /* 100958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrr),
35656 /* 100961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35657 /* 100963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35658 /* 100965 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35659 /* 100967 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35660 /* 100969 */ GIR_RootConstrainSelectedInstOperands,
35661 /* 100970 */ // GIR_Coverage, 1638,
35662 /* 100970 */ GIR_EraseRootFromParent_Done,
35663 /* 100971 */ // Label 2148: @100971
35664 /* 100971 */ GIM_Try, /*On fail goto*//*Label 2149*/ GIMT_Encode4(101025), // Rule ID 1640 //
35665 /* 100976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
35666 /* 100979 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
35667 /* 100984 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35668 /* 100987 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35669 /* 100990 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35670 /* 100993 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35671 /* 100996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35672 /* 101000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35673 /* 101004 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35674 /* 101008 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35675 /* 101012 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16087:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35676 /* 101012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
35677 /* 101015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35678 /* 101017 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35679 /* 101019 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35680 /* 101021 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35681 /* 101023 */ GIR_RootConstrainSelectedInstOperands,
35682 /* 101024 */ // GIR_Coverage, 1640,
35683 /* 101024 */ GIR_EraseRootFromParent_Done,
35684 /* 101025 */ // Label 2149: @101025
35685 /* 101025 */ GIM_Try, /*On fail goto*//*Label 2150*/ GIMT_Encode4(101091), // Rule ID 3332 //
35686 /* 101030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
35687 /* 101033 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256rnds2),
35688 /* 101038 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35689 /* 101041 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35690 /* 101044 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35691 /* 101047 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35692 /* 101050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35693 /* 101054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35694 /* 101058 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35695 /* 101062 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35696 /* 101066 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15768:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, XMM0:{ *:[v4i32] }) => (SHA256RNDS2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
35697 /* 101066 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
35698 /* 101070 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35699 /* 101076 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/4, // XMM0
35700 /* 101080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256RNDS2rr),
35701 /* 101083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35702 /* 101085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35703 /* 101087 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35704 /* 101089 */ GIR_RootConstrainSelectedInstOperands,
35705 /* 101090 */ // GIR_Coverage, 3332,
35706 /* 101090 */ GIR_EraseRootFromParent_Done,
35707 /* 101091 */ // Label 2150: @101091
35708 /* 101091 */ GIM_Try, /*On fail goto*//*Label 2151*/ GIMT_Encode4(101145), // Rule ID 3556 //
35709 /* 101096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
35710 /* 101099 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512rnds2),
35711 /* 101104 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
35712 /* 101107 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
35713 /* 101110 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
35714 /* 101113 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
35715 /* 101116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35716 /* 101120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35717 /* 101124 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
35718 /* 101128 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35719 /* 101132 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16037:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VSHA512RNDS2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3)
35720 /* 101132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512RNDS2rr),
35721 /* 101135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35722 /* 101137 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35723 /* 101139 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35724 /* 101141 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35725 /* 101143 */ GIR_RootConstrainSelectedInstOperands,
35726 /* 101144 */ // GIR_Coverage, 3556,
35727 /* 101144 */ GIR_EraseRootFromParent_Done,
35728 /* 101145 */ // Label 2151: @101145
35729 /* 101145 */ GIM_Try, /*On fail goto*//*Label 2152*/ GIMT_Encode4(101199), // Rule ID 3557 //
35730 /* 101150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35731 /* 101153 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
35732 /* 101158 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35733 /* 101161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35734 /* 101164 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35735 /* 101167 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35736 /* 101170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35737 /* 101174 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35738 /* 101178 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35739 /* 101182 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35740 /* 101186 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16038:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35741 /* 101186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rr),
35742 /* 101189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35743 /* 101191 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35744 /* 101193 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35745 /* 101195 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35746 /* 101197 */ GIR_RootConstrainSelectedInstOperands,
35747 /* 101198 */ // GIR_Coverage, 3557,
35748 /* 101198 */ GIR_EraseRootFromParent_Done,
35749 /* 101199 */ // Label 2152: @101199
35750 /* 101199 */ GIM_Try, /*On fail goto*//*Label 2153*/ GIMT_Encode4(101253), // Rule ID 3559 //
35751 /* 101204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35752 /* 101207 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
35753 /* 101212 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35754 /* 101215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35755 /* 101218 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35756 /* 101221 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35757 /* 101224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35758 /* 101228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35759 /* 101232 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35760 /* 101236 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35761 /* 101240 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16039:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
35762 /* 101240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rr),
35763 /* 101243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35764 /* 101245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35765 /* 101247 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35766 /* 101249 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35767 /* 101251 */ GIR_RootConstrainSelectedInstOperands,
35768 /* 101252 */ // GIR_Coverage, 3559,
35769 /* 101252 */ GIR_EraseRootFromParent_Done,
35770 /* 101253 */ // Label 2153: @101253
35771 /* 101253 */ GIM_Reject,
35772 /* 101254 */ // Label 2099: @101254
35773 /* 101254 */ GIM_Try, /*On fail goto*//*Label 2154*/ GIMT_Encode4(101383),
35774 /* 101259 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/6,
35775 /* 101262 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3rnds2),
35776 /* 101267 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
35777 /* 101270 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
35778 /* 101273 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
35779 /* 101276 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
35780 /* 101279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35781 /* 101283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35782 /* 101287 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35783 /* 101291 */ GIM_Try, /*On fail goto*//*Label 2155*/ GIMT_Encode4(101352), // Rule ID 3562 //
35784 /* 101296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35785 /* 101299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
35786 /* 101303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35787 /* 101307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35788 /* 101310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35789 /* 101314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35790 /* 101318 */ // MIs[0] src4
35791 /* 101318 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
35792 /* 101321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35793 /* 101323 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35794 /* 101330 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16040:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i32] }):$src4) => (VSM3RNDS2rmi:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, addr:{ *:[iPTR] }:$src3, (timm:{ *:[i32] }):$src4)
35795 /* 101330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rmi),
35796 /* 101333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35797 /* 101335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35798 /* 101337 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35799 /* 101339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
35800 /* 101343 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
35801 /* 101345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35802 /* 101350 */ GIR_RootConstrainSelectedInstOperands,
35803 /* 101351 */ // GIR_Coverage, 3562,
35804 /* 101351 */ GIR_EraseRootFromParent_Done,
35805 /* 101352 */ // Label 2155: @101352
35806 /* 101352 */ GIM_Try, /*On fail goto*//*Label 2156*/ GIMT_Encode4(101382), // Rule ID 3561 //
35807 /* 101357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35808 /* 101360 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35809 /* 101364 */ // MIs[0] src4
35810 /* 101364 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
35811 /* 101367 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16040:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3, (timm:{ *:[i32] }):$src4) => (VSM3RNDS2rri:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3, (timm:{ *:[i32] }):$src4)
35812 /* 101367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rri),
35813 /* 101370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35814 /* 101372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35815 /* 101374 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35816 /* 101376 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35817 /* 101378 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
35818 /* 101380 */ GIR_RootConstrainSelectedInstOperands,
35819 /* 101381 */ // GIR_Coverage, 3561,
35820 /* 101381 */ GIR_EraseRootFromParent_Done,
35821 /* 101382 */ // Label 2156: @101382
35822 /* 101382 */ GIM_Reject,
35823 /* 101383 */ // Label 2154: @101383
35824 /* 101383 */ GIM_Reject,
35825 /* 101384 */ // Label 19: @101384
35826 /* 101384 */ GIM_Try, /*On fail goto*//*Label 2157*/ GIMT_Encode4(101943),
35827 /* 101389 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/1,
35828 /* 101392 */ GIM_Try, /*On fail goto*//*Label 2158*/ GIMT_Encode4(101414), // Rule ID 149 //
35829 /* 101397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSERIALIZE),
35830 /* 101400 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_serialize),
35831 /* 101405 */ // (intrinsic_void 15760:{ *:[iPTR] }) => (SERIALIZE)
35832 /* 101405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SERIALIZE),
35833 /* 101408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35834 /* 101412 */ GIR_RootConstrainSelectedInstOperands,
35835 /* 101413 */ // GIR_Coverage, 149,
35836 /* 101413 */ GIR_EraseRootFromParent_Done,
35837 /* 101414 */ // Label 2158: @101414
35838 /* 101414 */ GIM_Try, /*On fail goto*//*Label 2159*/ GIMT_Encode4(101436), // Rule ID 150 //
35839 /* 101419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
35840 /* 101422 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsusldtrk),
35841 /* 101427 */ // (intrinsic_void 16122:{ *:[iPTR] }) => (XSUSLDTRK)
35842 /* 101427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSUSLDTRK),
35843 /* 101430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35844 /* 101434 */ GIR_RootConstrainSelectedInstOperands,
35845 /* 101435 */ // GIR_Coverage, 150,
35846 /* 101435 */ GIR_EraseRootFromParent_Done,
35847 /* 101436 */ // Label 2159: @101436
35848 /* 101436 */ GIM_Try, /*On fail goto*//*Label 2160*/ GIMT_Encode4(101458), // Rule ID 151 //
35849 /* 101441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
35850 /* 101444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xresldtrk),
35851 /* 101449 */ // (intrinsic_void 16108:{ *:[iPTR] }) => (XRESLDTRK)
35852 /* 101449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRESLDTRK),
35853 /* 101452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35854 /* 101456 */ GIR_RootConstrainSelectedInstOperands,
35855 /* 101457 */ // GIR_Coverage, 151,
35856 /* 101457 */ GIR_EraseRootFromParent_Done,
35857 /* 101458 */ // Label 2160: @101458
35858 /* 101458 */ GIM_Try, /*On fail goto*//*Label 2161*/ GIMT_Encode4(101480), // Rule ID 152 //
35859 /* 101463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35860 /* 101466 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clui),
35861 /* 101471 */ // (intrinsic_void 15618:{ *:[iPTR] }) => (CLUI)
35862 /* 101471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLUI),
35863 /* 101474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35864 /* 101478 */ GIR_RootConstrainSelectedInstOperands,
35865 /* 101479 */ // GIR_Coverage, 152,
35866 /* 101479 */ GIR_EraseRootFromParent_Done,
35867 /* 101480 */ // Label 2161: @101480
35868 /* 101480 */ GIM_Try, /*On fail goto*//*Label 2162*/ GIMT_Encode4(101502), // Rule ID 153 //
35869 /* 101485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35870 /* 101488 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_stui),
35871 /* 101493 */ // (intrinsic_void 15942:{ *:[iPTR] }) => (STUI)
35872 /* 101493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STUI),
35873 /* 101496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35874 /* 101500 */ GIR_RootConstrainSelectedInstOperands,
35875 /* 101501 */ // GIR_Coverage, 153,
35876 /* 101501 */ GIR_EraseRootFromParent_Done,
35877 /* 101502 */ // Label 2162: @101502
35878 /* 101502 */ GIM_Try, /*On fail goto*//*Label 2163*/ GIMT_Encode4(101521), // Rule ID 2509 //
35879 /* 101507 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_pause),
35880 /* 101512 */ // (intrinsic_void 15837:{ *:[iPTR] }) => (PAUSE)
35881 /* 101512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PAUSE),
35882 /* 101515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35883 /* 101519 */ GIR_RootConstrainSelectedInstOperands,
35884 /* 101520 */ // GIR_Coverage, 2509,
35885 /* 101520 */ GIR_EraseRootFromParent_Done,
35886 /* 101521 */ // Label 2163: @101521
35887 /* 101521 */ GIM_Try, /*On fail goto*//*Label 2164*/ GIMT_Encode4(101543), // Rule ID 2510 //
35888 /* 101526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE1),
35889 /* 101529 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_sfence),
35890 /* 101534 */ // (intrinsic_void 15799:{ *:[iPTR] }) => (SFENCE)
35891 /* 101534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SFENCE),
35892 /* 101537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35893 /* 101541 */ GIR_RootConstrainSelectedInstOperands,
35894 /* 101542 */ // GIR_Coverage, 2510,
35895 /* 101542 */ GIR_EraseRootFromParent_Done,
35896 /* 101543 */ // Label 2164: @101543
35897 /* 101543 */ GIM_Try, /*On fail goto*//*Label 2165*/ GIMT_Encode4(101565), // Rule ID 2511 //
35898 /* 101548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE2),
35899 /* 101551 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_lfence),
35900 /* 101556 */ // (intrinsic_void 15826:{ *:[iPTR] }) => (LFENCE)
35901 /* 101556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LFENCE),
35902 /* 101559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35903 /* 101563 */ GIR_RootConstrainSelectedInstOperands,
35904 /* 101564 */ // GIR_Coverage, 2511,
35905 /* 101564 */ GIR_EraseRootFromParent_Done,
35906 /* 101565 */ // Label 2165: @101565
35907 /* 101565 */ GIM_Try, /*On fail goto*//*Label 2166*/ GIMT_Encode4(101587), // Rule ID 2512 //
35908 /* 101570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMFence),
35909 /* 101573 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_mfence),
35910 /* 101578 */ // (intrinsic_void 15830:{ *:[iPTR] }) => (MFENCE)
35911 /* 101578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MFENCE),
35912 /* 101581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35913 /* 101585 */ GIR_RootConstrainSelectedInstOperands,
35914 /* 101586 */ // GIR_Coverage, 2512,
35915 /* 101586 */ GIR_EraseRootFromParent_Done,
35916 /* 101587 */ // Label 2166: @101587
35917 /* 101587 */ GIM_Try, /*On fail goto*//*Label 2167*/ GIMT_Encode4(101653), // Rule ID 3426 //
35918 /* 101592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35919 /* 101595 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroall),
35920 /* 101600 */ // (intrinsic_void 14532:{ *:[iPTR] }) => (VZEROALL)
35921 /* 101600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROALL),
35922 /* 101603 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
35923 /* 101606 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
35924 /* 101609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
35925 /* 101612 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
35926 /* 101615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
35927 /* 101618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
35928 /* 101621 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
35929 /* 101624 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
35930 /* 101627 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
35931 /* 101630 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
35932 /* 101633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
35933 /* 101636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
35934 /* 101639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
35935 /* 101642 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
35936 /* 101645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
35937 /* 101648 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
35938 /* 101651 */ GIR_RootConstrainSelectedInstOperands,
35939 /* 101652 */ // GIR_Coverage, 3426,
35940 /* 101652 */ GIR_EraseRootFromParent_Done,
35941 /* 101653 */ // Label 2167: @101653
35942 /* 101653 */ GIM_Try, /*On fail goto*//*Label 2168*/ GIMT_Encode4(101719), // Rule ID 3427 //
35943 /* 101658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35944 /* 101661 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroupper),
35945 /* 101666 */ // (intrinsic_void 14533:{ *:[iPTR] }) => (VZEROUPPER)
35946 /* 101666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROUPPER),
35947 /* 101669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
35948 /* 101672 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
35949 /* 101675 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
35950 /* 101678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
35951 /* 101681 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
35952 /* 101684 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
35953 /* 101687 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
35954 /* 101690 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
35955 /* 101693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
35956 /* 101696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
35957 /* 101699 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
35958 /* 101702 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
35959 /* 101705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
35960 /* 101708 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
35961 /* 101711 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
35962 /* 101714 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
35963 /* 101717 */ GIR_RootConstrainSelectedInstOperands,
35964 /* 101718 */ // GIR_Coverage, 3427,
35965 /* 101718 */ GIR_EraseRootFromParent_Done,
35966 /* 101719 */ // Label 2168: @101719
35967 /* 101719 */ GIM_Try, /*On fail goto*//*Label 2169*/ GIMT_Encode4(101789), // Rule ID 16805 //
35968 /* 101724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMMX),
35969 /* 101727 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mmx_emms),
35970 /* 101732 */ // (intrinsic_void 15653:{ *:[iPTR] }) => (MMX_EMMS:{ *:[x86mmx] })
35971 /* 101732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MMX_EMMS),
35972 /* 101735 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM0*/0,
35973 /* 101738 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM1*/1,
35974 /* 101741 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM2*/2,
35975 /* 101744 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM3*/3,
35976 /* 101747 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM4*/4,
35977 /* 101750 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM5*/5,
35978 /* 101753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM6*/6,
35979 /* 101756 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM7*/7,
35980 /* 101759 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST0*/8,
35981 /* 101762 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST1*/9,
35982 /* 101765 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST2*/10,
35983 /* 101768 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST3*/11,
35984 /* 101771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST4*/12,
35985 /* 101774 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST5*/13,
35986 /* 101777 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST6*/14,
35987 /* 101780 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST7*/15,
35988 /* 101783 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35989 /* 101787 */ GIR_RootConstrainSelectedInstOperands,
35990 /* 101788 */ // GIR_Coverage, 16805,
35991 /* 101788 */ GIR_EraseRootFromParent_Done,
35992 /* 101789 */ // Label 2169: @101789
35993 /* 101789 */ GIM_Try, /*On fail goto*//*Label 2170*/ GIMT_Encode4(101811), // Rule ID 16988 //
35994 /* 101794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
35995 /* 101797 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xend),
35996 /* 101802 */ // (intrinsic_void 16060:{ *:[iPTR] }) => (XEND)
35997 /* 101802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XEND),
35998 /* 101805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35999 /* 101809 */ GIR_RootConstrainSelectedInstOperands,
36000 /* 101810 */ // GIR_Coverage, 16988,
36001 /* 101810 */ GIR_EraseRootFromParent_Done,
36002 /* 101811 */ // Label 2170: @101811
36003 /* 101811 */ GIM_Try, /*On fail goto*//*Label 2171*/ GIMT_Encode4(101857), // Rule ID 17000 //
36004 /* 101816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
36005 /* 101819 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilerelease),
36006 /* 101824 */ // (intrinsic_void 15998:{ *:[iPTR] }) => (TILERELEASE:{ *:[x86amx] })
36007 /* 101824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TILERELEASE),
36008 /* 101827 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
36009 /* 101830 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
36010 /* 101833 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
36011 /* 101836 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
36012 /* 101839 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
36013 /* 101842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
36014 /* 101845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
36015 /* 101848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
36016 /* 101851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36017 /* 101855 */ GIR_RootConstrainSelectedInstOperands,
36018 /* 101856 */ // GIR_Coverage, 17000,
36019 /* 101856 */ GIR_EraseRootFromParent_Done,
36020 /* 101857 */ // Label 2171: @101857
36021 /* 101857 */ GIM_Try, /*On fail goto*//*Label 2172*/ GIMT_Encode4(101876), // Rule ID 17073 //
36022 /* 101862 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbinvd),
36023 /* 101867 */ // (intrinsic_void 16047:{ *:[iPTR] }) => (WBINVD)
36024 /* 101867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBINVD),
36025 /* 101870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36026 /* 101874 */ GIR_RootConstrainSelectedInstOperands,
36027 /* 101875 */ // GIR_Coverage, 17073,
36028 /* 101875 */ GIR_EraseRootFromParent_Done,
36029 /* 101876 */ // Label 2172: @101876
36030 /* 101876 */ GIM_Try, /*On fail goto*//*Label 2173*/ GIMT_Encode4(101898), // Rule ID 17074 //
36031 /* 101881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWBNOINVD),
36032 /* 101884 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbnoinvd),
36033 /* 101889 */ // (intrinsic_void 16048:{ *:[iPTR] }) => (WBNOINVD)
36034 /* 101889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBNOINVD),
36035 /* 101892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36036 /* 101896 */ GIR_RootConstrainSelectedInstOperands,
36037 /* 101897 */ // GIR_Coverage, 17074,
36038 /* 101897 */ GIR_EraseRootFromParent_Done,
36039 /* 101898 */ // Label 2173: @101898
36040 /* 101898 */ GIM_Try, /*On fail goto*//*Label 2174*/ GIMT_Encode4(101920), // Rule ID 17079 //
36041 /* 101903 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_saveprevssp),
36042 /* 101908 */ // (intrinsic_void 15755:{ *:[iPTR] }) => (SAVEPREVSSP)
36043 /* 101908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAVEPREVSSP),
36044 /* 101911 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36045 /* 101914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36046 /* 101918 */ GIR_RootConstrainSelectedInstOperands,
36047 /* 101919 */ // GIR_Coverage, 17079,
36048 /* 101919 */ GIR_EraseRootFromParent_Done,
36049 /* 101920 */ // Label 2174: @101920
36050 /* 101920 */ GIM_Try, /*On fail goto*//*Label 2175*/ GIMT_Encode4(101942), // Rule ID 17089 //
36051 /* 101925 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_setssbsy),
36052 /* 101930 */ // (intrinsic_void 15761:{ *:[iPTR] }) => (SETSSBSY)
36053 /* 101930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SETSSBSY),
36054 /* 101933 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36055 /* 101936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36056 /* 101940 */ GIR_RootConstrainSelectedInstOperands,
36057 /* 101941 */ // GIR_Coverage, 17089,
36058 /* 101941 */ GIR_EraseRootFromParent_Done,
36059 /* 101942 */ // Label 2175: @101942
36060 /* 101942 */ GIM_Reject,
36061 /* 101943 */ // Label 2157: @101943
36062 /* 101943 */ GIM_Try, /*On fail goto*//*Label 2176*/ GIMT_Encode4(103831),
36063 /* 101948 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
36064 /* 101951 */ GIM_Try, /*On fail goto*//*Label 2177*/ GIMT_Encode4(102009), // Rule ID 17117 //
36065 /* 101956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
36066 /* 101959 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
36067 /* 101964 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36068 /* 101967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
36069 /* 101971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36070 /* 101975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36071 /* 101978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
36072 /* 101982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36073 /* 101986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36074 /* 101988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36075 /* 101995 */ // (intrinsic_void 15735:{ *:[iPTR] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (PTWRITE64m addr:{ *:[iPTR] }:$dst)
36076 /* 101995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64m),
36077 /* 101998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36078 /* 102002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36079 /* 102007 */ GIR_RootConstrainSelectedInstOperands,
36080 /* 102008 */ // GIR_Coverage, 17117,
36081 /* 102008 */ GIR_EraseRootFromParent_Done,
36082 /* 102009 */ // Label 2177: @102009
36083 /* 102009 */ GIM_Try, /*On fail goto*//*Label 2178*/ GIMT_Encode4(102067), // Rule ID 17116 //
36084 /* 102014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
36085 /* 102017 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
36086 /* 102022 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36087 /* 102025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
36088 /* 102029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
36089 /* 102033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
36090 /* 102036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
36091 /* 102040 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
36092 /* 102044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
36093 /* 102046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36094 /* 102053 */ // (intrinsic_void 15734:{ *:[iPTR] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (PTWRITEm addr:{ *:[iPTR] }:$dst)
36095 /* 102053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEm),
36096 /* 102056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36097 /* 102060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
36098 /* 102065 */ GIR_RootConstrainSelectedInstOperands,
36099 /* 102066 */ // GIR_Coverage, 17116,
36100 /* 102066 */ GIR_EraseRootFromParent_Done,
36101 /* 102067 */ // Label 2178: @102067
36102 /* 102067 */ GIM_Try, /*On fail goto*//*Label 2179*/ GIMT_Encode4(102104), // Rule ID 162 //
36103 /* 102072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSHOPT),
36104 /* 102075 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clflushopt),
36105 /* 102080 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36106 /* 102084 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36107 /* 102091 */ // (intrinsic_void 15616:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSHOPT addr:{ *:[iPTR] }:$src)
36108 /* 102091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSHOPT),
36109 /* 102094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36110 /* 102098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36111 /* 102102 */ GIR_RootConstrainSelectedInstOperands,
36112 /* 102103 */ // GIR_Coverage, 162,
36113 /* 102103 */ GIR_EraseRootFromParent_Done,
36114 /* 102104 */ // Label 2179: @102104
36115 /* 102104 */ GIM_Try, /*On fail goto*//*Label 2180*/ GIMT_Encode4(102141), // Rule ID 163 //
36116 /* 102109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLWB),
36117 /* 102112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clwb),
36118 /* 102117 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36119 /* 102121 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36120 /* 102128 */ // (intrinsic_void 15619:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLWB addr:{ *:[iPTR] }:$src)
36121 /* 102128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLWB),
36122 /* 102131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36123 /* 102135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36124 /* 102139 */ GIR_RootConstrainSelectedInstOperands,
36125 /* 102140 */ // GIR_Coverage, 163,
36126 /* 102140 */ GIR_EraseRootFromParent_Done,
36127 /* 102141 */ // Label 2180: @102141
36128 /* 102141 */ GIM_Try, /*On fail goto*//*Label 2181*/ GIMT_Encode4(102178), // Rule ID 164 //
36129 /* 102146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLDEMOTE),
36130 /* 102149 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_cldemote),
36131 /* 102154 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36132 /* 102158 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36133 /* 102165 */ // (intrinsic_void 15615:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLDEMOTE addr:{ *:[iPTR] }:$src)
36134 /* 102165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLDEMOTE),
36135 /* 102168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36136 /* 102172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36137 /* 102176 */ GIR_RootConstrainSelectedInstOperands,
36138 /* 102177 */ // GIR_Coverage, 164,
36139 /* 102177 */ GIR_EraseRootFromParent_Done,
36140 /* 102178 */ // Label 2181: @102178
36141 /* 102178 */ GIM_Try, /*On fail goto*//*Label 2182*/ GIMT_Encode4(102215), // Rule ID 169 //
36142 /* 102183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS),
36143 /* 102186 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_prefetchrs),
36144 /* 102191 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36145 /* 102195 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36146 /* 102202 */ // (intrinsic_void 15733:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (PREFETCHRST2 addr:{ *:[iPTR] }:$src)
36147 /* 102202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHRST2),
36148 /* 102205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36149 /* 102209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36150 /* 102213 */ GIR_RootConstrainSelectedInstOperands,
36151 /* 102214 */ // GIR_Coverage, 169,
36152 /* 102214 */ GIR_EraseRootFromParent_Done,
36153 /* 102215 */ // Label 2182: @102215
36154 /* 102215 */ GIM_Try, /*On fail goto*//*Label 2183*/ GIMT_Encode4(102252), // Rule ID 1132 //
36155 /* 102220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
36156 /* 102223 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave),
36157 /* 102228 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36158 /* 102232 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36159 /* 102239 */ // (intrinsic_void 15639:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE addr:{ *:[iPTR] }:$dst)
36160 /* 102239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE),
36161 /* 102242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36162 /* 102246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36163 /* 102250 */ GIR_RootConstrainSelectedInstOperands,
36164 /* 102251 */ // GIR_Coverage, 1132,
36165 /* 102251 */ GIR_EraseRootFromParent_Done,
36166 /* 102252 */ // Label 2183: @102252
36167 /* 102252 */ GIM_Try, /*On fail goto*//*Label 2184*/ GIMT_Encode4(102289), // Rule ID 1133 //
36168 /* 102257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
36169 /* 102260 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave64),
36170 /* 102265 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36171 /* 102269 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36172 /* 102276 */ // (intrinsic_void 15640:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE64 addr:{ *:[iPTR] }:$dst)
36173 /* 102276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE64),
36174 /* 102279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36175 /* 102283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36176 /* 102287 */ GIR_RootConstrainSelectedInstOperands,
36177 /* 102288 */ // GIR_Coverage, 1133,
36178 /* 102288 */ GIR_EraseRootFromParent_Done,
36179 /* 102289 */ // Label 2184: @102289
36180 /* 102289 */ GIM_Try, /*On fail goto*//*Label 2185*/ GIMT_Encode4(102332), // Rule ID 1134 //
36181 /* 102294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
36182 /* 102297 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor),
36183 /* 102302 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36184 /* 102306 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36185 /* 102313 */ // (intrinsic_void 15637:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36186 /* 102313 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR),
36187 /* 102316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36188 /* 102320 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
36189 /* 102323 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
36190 /* 102326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36191 /* 102330 */ GIR_RootConstrainSelectedInstOperands,
36192 /* 102331 */ // GIR_Coverage, 1134,
36193 /* 102331 */ GIR_EraseRootFromParent_Done,
36194 /* 102332 */ // Label 2185: @102332
36195 /* 102332 */ GIM_Try, /*On fail goto*//*Label 2186*/ GIMT_Encode4(102375), // Rule ID 1135 //
36196 /* 102337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
36197 /* 102340 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor64),
36198 /* 102345 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36199 /* 102349 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36200 /* 102356 */ // (intrinsic_void 15638:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR64:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36201 /* 102356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR64),
36202 /* 102359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36203 /* 102363 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
36204 /* 102366 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
36205 /* 102369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36206 /* 102373 */ GIR_RootConstrainSelectedInstOperands,
36207 /* 102374 */ // GIR_Coverage, 1135,
36208 /* 102374 */ GIR_EraseRootFromParent_Done,
36209 /* 102375 */ // Label 2186: @102375
36210 /* 102375 */ GIM_Try, /*On fail goto*//*Label 2187*/ GIMT_Encode4(102412), // Rule ID 2508 //
36211 /* 102380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSH),
36212 /* 102383 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_clflush),
36213 /* 102388 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36214 /* 102392 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36215 /* 102399 */ // (intrinsic_void 15807:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSH addr:{ *:[iPTR] }:$src)
36216 /* 102399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSH),
36217 /* 102402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36218 /* 102406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36219 /* 102410 */ GIR_RootConstrainSelectedInstOperands,
36220 /* 102411 */ // GIR_Coverage, 2508,
36221 /* 102411 */ GIR_EraseRootFromParent_Done,
36222 /* 102412 */ // Label 2187: @102412
36223 /* 102412 */ GIM_Try, /*On fail goto*//*Label 2188*/ GIMT_Encode4(102452), // Rule ID 2513 //
36224 /* 102417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36225 /* 102420 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
36226 /* 102425 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36227 /* 102429 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36228 /* 102436 */ // (intrinsic_void 15788:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDMXCSR addr:{ *:[iPTR] }:$src)
36229 /* 102436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDMXCSR),
36230 /* 102439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36231 /* 102443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
36232 /* 102446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36233 /* 102450 */ GIR_RootConstrainSelectedInstOperands,
36234 /* 102451 */ // GIR_Coverage, 2513,
36235 /* 102451 */ GIR_EraseRootFromParent_Done,
36236 /* 102452 */ // Label 2188: @102452
36237 /* 102452 */ GIM_Try, /*On fail goto*//*Label 2189*/ GIMT_Encode4(102489), // Rule ID 2514 //
36238 /* 102457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36239 /* 102460 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
36240 /* 102465 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36241 /* 102469 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36242 /* 102476 */ // (intrinsic_void 15800:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (VSTMXCSR addr:{ *:[iPTR] }:$dst)
36243 /* 102476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSTMXCSR),
36244 /* 102479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36245 /* 102483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36246 /* 102487 */ GIR_RootConstrainSelectedInstOperands,
36247 /* 102488 */ // GIR_Coverage, 2514,
36248 /* 102488 */ GIR_EraseRootFromParent_Done,
36249 /* 102489 */ // Label 2189: @102489
36250 /* 102489 */ GIM_Try, /*On fail goto*//*Label 2190*/ GIMT_Encode4(102526), // Rule ID 2515 //
36251 /* 102494 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
36252 /* 102499 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36253 /* 102503 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36254 /* 102510 */ // (intrinsic_void 15788:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDMXCSR addr:{ *:[iPTR] }:$src)
36255 /* 102510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDMXCSR),
36256 /* 102513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36257 /* 102517 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
36258 /* 102520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36259 /* 102524 */ GIR_RootConstrainSelectedInstOperands,
36260 /* 102525 */ // GIR_Coverage, 2515,
36261 /* 102525 */ GIR_EraseRootFromParent_Done,
36262 /* 102526 */ // Label 2190: @102526
36263 /* 102526 */ GIM_Try, /*On fail goto*//*Label 2191*/ GIMT_Encode4(102560), // Rule ID 2516 //
36264 /* 102531 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
36265 /* 102536 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36266 /* 102540 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36267 /* 102547 */ // (intrinsic_void 15800:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (STMXCSR addr:{ *:[iPTR] }:$dst)
36268 /* 102547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STMXCSR),
36269 /* 102550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36270 /* 102554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36271 /* 102558 */ GIR_RootConstrainSelectedInstOperands,
36272 /* 102559 */ // GIR_Coverage, 2516,
36273 /* 102559 */ GIR_EraseRootFromParent_Done,
36274 /* 102560 */ // Label 2191: @102560
36275 /* 102560 */ GIM_Try, /*On fail goto*//*Label 2192*/ GIMT_Encode4(102621), // Rule ID 16996 //
36276 /* 102565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
36277 /* 102568 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
36278 /* 102573 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36279 /* 102577 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36280 /* 102584 */ // (intrinsic_void 15645:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
36281 /* 102584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG),
36282 /* 102587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36283 /* 102591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
36284 /* 102594 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
36285 /* 102597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
36286 /* 102600 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
36287 /* 102603 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
36288 /* 102606 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
36289 /* 102609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
36290 /* 102612 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
36291 /* 102615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36292 /* 102619 */ GIR_RootConstrainSelectedInstOperands,
36293 /* 102620 */ // GIR_Coverage, 16996,
36294 /* 102620 */ GIR_EraseRootFromParent_Done,
36295 /* 102621 */ // Label 2192: @102621
36296 /* 102621 */ GIM_Try, /*On fail goto*//*Label 2193*/ GIMT_Encode4(102658), // Rule ID 16997 //
36297 /* 102626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
36298 /* 102629 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
36299 /* 102634 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36300 /* 102638 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36301 /* 102645 */ // (intrinsic_void 15941:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG addr:{ *:[iPTR] }:$src)
36302 /* 102645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG),
36303 /* 102648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36304 /* 102652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36305 /* 102656 */ GIR_RootConstrainSelectedInstOperands,
36306 /* 102657 */ // GIR_Coverage, 16997,
36307 /* 102657 */ GIR_EraseRootFromParent_Done,
36308 /* 102658 */ // Label 2193: @102658
36309 /* 102658 */ GIM_Try, /*On fail goto*//*Label 2194*/ GIMT_Encode4(102719), // Rule ID 16998 //
36310 /* 102663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
36311 /* 102666 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
36312 /* 102671 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36313 /* 102675 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36314 /* 102682 */ // (intrinsic_void 15645:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG_EVEX:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
36315 /* 102682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG_EVEX),
36316 /* 102685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36317 /* 102689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
36318 /* 102692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
36319 /* 102695 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
36320 /* 102698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
36321 /* 102701 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
36322 /* 102704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
36323 /* 102707 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
36324 /* 102710 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
36325 /* 102713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36326 /* 102717 */ GIR_RootConstrainSelectedInstOperands,
36327 /* 102718 */ // GIR_Coverage, 16998,
36328 /* 102718 */ GIR_EraseRootFromParent_Done,
36329 /* 102719 */ // Label 2194: @102719
36330 /* 102719 */ GIM_Try, /*On fail goto*//*Label 2195*/ GIMT_Encode4(102756), // Rule ID 16999 //
36331 /* 102724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
36332 /* 102727 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
36333 /* 102732 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36334 /* 102736 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36335 /* 102743 */ // (intrinsic_void 15941:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG_EVEX addr:{ *:[iPTR] }:$src)
36336 /* 102743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG_EVEX),
36337 /* 102746 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36338 /* 102750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36339 /* 102754 */ GIR_RootConstrainSelectedInstOperands,
36340 /* 102755 */ // GIR_Coverage, 16999,
36341 /* 102755 */ GIR_EraseRootFromParent_Done,
36342 /* 102756 */ // Label 2195: @102756
36343 /* 102756 */ GIM_Try, /*On fail goto*//*Label 2196*/ GIMT_Encode4(102793), // Rule ID 17080 //
36344 /* 102761 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_rstorssp),
36345 /* 102766 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36346 /* 102770 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36347 /* 102777 */ // (intrinsic_void 15754:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (RSTORSSP addr:{ *:[iPTR] }:$src)
36348 /* 102777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSTORSSP),
36349 /* 102780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36350 /* 102784 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36351 /* 102787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36352 /* 102791 */ GIR_RootConstrainSelectedInstOperands,
36353 /* 102792 */ // GIR_Coverage, 17080,
36354 /* 102792 */ GIR_EraseRootFromParent_Done,
36355 /* 102793 */ // Label 2196: @102793
36356 /* 102793 */ GIM_Try, /*On fail goto*//*Label 2197*/ GIMT_Encode4(102830), // Rule ID 17090 //
36357 /* 102798 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clrssbsy),
36358 /* 102803 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36359 /* 102807 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36360 /* 102814 */ // (intrinsic_void 15617:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLRSSBSY addr:{ *:[iPTR] }:$src)
36361 /* 102814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLRSSBSY),
36362 /* 102817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36363 /* 102821 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36364 /* 102824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36365 /* 102828 */ GIR_RootConstrainSelectedInstOperands,
36366 /* 102829 */ // GIR_Coverage, 17090,
36367 /* 102829 */ GIR_EraseRootFromParent_Done,
36368 /* 102830 */ // Label 2197: @102830
36369 /* 102830 */ GIM_Try, /*On fail goto*//*Label 2198*/ GIMT_Encode4(102860), // Rule ID 17062 //
36370 /* 102835 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
36371 /* 102840 */ // MIs[0] Operand 1
36372 /* 102840 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(3),
36373 /* 102851 */ // (intrinsic_void 15643:{ *:[iPTR] }, 3:{ *:[i8] }) => (INT3)
36374 /* 102851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT3),
36375 /* 102854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36376 /* 102858 */ GIR_RootConstrainSelectedInstOperands,
36377 /* 102859 */ // GIR_Coverage, 17062,
36378 /* 102859 */ GIR_EraseRootFromParent_Done,
36379 /* 102860 */ // Label 2198: @102860
36380 /* 102860 */ GIM_Try, /*On fail goto*//*Label 2199*/ GIMT_Encode4(102887), // Rule ID 16990 //
36381 /* 102865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
36382 /* 102868 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xabort),
36383 /* 102873 */ // MIs[0] imm
36384 /* 102873 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36385 /* 102876 */ // (intrinsic_void 16058:{ *:[iPTR] }, (timm:{ *:[i8] }):$imm) => (XABORT (timm:{ *:[i8] }):$imm)
36386 /* 102876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XABORT),
36387 /* 102879 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm
36388 /* 102881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36389 /* 102885 */ GIR_RootConstrainSelectedInstOperands,
36390 /* 102886 */ // GIR_Coverage, 16990,
36391 /* 102886 */ GIR_EraseRootFromParent_Done,
36392 /* 102887 */ // Label 2199: @102887
36393 /* 102887 */ GIM_Try, /*On fail goto*//*Label 2200*/ GIMT_Encode4(102914), // Rule ID 17002 //
36394 /* 102892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
36395 /* 102895 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilezero),
36396 /* 102900 */ // MIs[0] src
36397 /* 102900 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36398 /* 102903 */ // (intrinsic_void 16001:{ *:[iPTR] }, (timm:{ *:[i8] }):$src) => (PTILEZERO (timm:{ *:[i8] }):$src)
36399 /* 102903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEZERO),
36400 /* 102906 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36401 /* 102908 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36402 /* 102912 */ GIR_RootConstrainSelectedInstOperands,
36403 /* 102913 */ // GIR_Coverage, 17002,
36404 /* 102913 */ GIR_EraseRootFromParent_Done,
36405 /* 102914 */ // Label 2200: @102914
36406 /* 102914 */ GIM_Try, /*On fail goto*//*Label 2201*/ GIMT_Encode4(102938), // Rule ID 17064 //
36407 /* 102919 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
36408 /* 102924 */ // MIs[0] trap
36409 /* 102924 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
36410 /* 102927 */ // (intrinsic_void 15643:{ *:[iPTR] }, (timm:{ *:[i8] }):$trap) => (INT (timm:{ *:[i8] }):$trap)
36411 /* 102927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
36412 /* 102930 */ GIR_RootToRootCopy, /*OpIdx*/1, // trap
36413 /* 102932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36414 /* 102936 */ GIR_RootConstrainSelectedInstOperands,
36415 /* 102937 */ // GIR_Coverage, 17064,
36416 /* 102937 */ GIR_EraseRootFromParent_Done,
36417 /* 102938 */ // Label 2201: @102938
36418 /* 102938 */ GIM_Try, /*On fail goto*//*Label 2202*/ GIMT_Encode4(102972), // Rule ID 1 //
36419 /* 102943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
36420 /* 102946 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u32),
36421 /* 102951 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36422 /* 102954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36423 /* 102958 */ // (intrinsic_w_chain:{ *:[i32] } 15629:{ *:[iPTR] }) => (RDFLAGS32:{ *:[i32] }:{ *:[i32] })
36424 /* 102958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS32),
36425 /* 102961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36426 /* 102963 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
36427 /* 102966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36428 /* 102970 */ GIR_RootConstrainSelectedInstOperands,
36429 /* 102971 */ // GIR_Coverage, 1,
36430 /* 102971 */ GIR_EraseRootFromParent_Done,
36431 /* 102972 */ // Label 2202: @102972
36432 /* 102972 */ GIM_Try, /*On fail goto*//*Label 2203*/ GIMT_Encode4(103006), // Rule ID 2 //
36433 /* 102977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
36434 /* 102980 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u64),
36435 /* 102985 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36436 /* 102988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36437 /* 102992 */ // (intrinsic_w_chain:{ *:[i64] } 15630:{ *:[iPTR] }) => (RDFLAGS64:{ *:[i64] }:{ *:[i32] })
36438 /* 102992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS64),
36439 /* 102995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36440 /* 102997 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
36441 /* 103000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36442 /* 103004 */ GIR_RootConstrainSelectedInstOperands,
36443 /* 103005 */ // GIR_Coverage, 2,
36444 /* 103005 */ GIR_EraseRootFromParent_Done,
36445 /* 103006 */ // Label 2203: @103006
36446 /* 103006 */ GIM_Try, /*On fail goto*//*Label 2204*/ GIMT_Encode4(103037), // Rule ID 115 //
36447 /* 103011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36448 /* 103014 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
36449 /* 103019 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36450 /* 103022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36451 /* 103026 */ // (intrinsic_w_chain:{ *:[i32] } 15769:{ *:[iPTR] }) => (SLWPCB:{ *:[i32] })
36452 /* 103026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB),
36453 /* 103029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36454 /* 103031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36455 /* 103035 */ GIR_RootConstrainSelectedInstOperands,
36456 /* 103036 */ // GIR_Coverage, 115,
36457 /* 103036 */ GIR_EraseRootFromParent_Done,
36458 /* 103037 */ // Label 2204: @103037
36459 /* 103037 */ GIM_Try, /*On fail goto*//*Label 2205*/ GIMT_Encode4(103068), // Rule ID 117 //
36460 /* 103042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36461 /* 103045 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
36462 /* 103050 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36463 /* 103053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36464 /* 103057 */ // (intrinsic_w_chain:{ *:[i64] } 15769:{ *:[iPTR] }) => (SLWPCB64:{ *:[i64] })
36465 /* 103057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB64),
36466 /* 103060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36467 /* 103062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36468 /* 103066 */ GIR_RootConstrainSelectedInstOperands,
36469 /* 103067 */ // GIR_Coverage, 117,
36470 /* 103067 */ GIR_EraseRootFromParent_Done,
36471 /* 103068 */ // Label 2205: @103068
36472 /* 103068 */ GIM_Try, /*On fail goto*//*Label 2206*/ GIMT_Encode4(103099), // Rule ID 16987 //
36473 /* 103073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
36474 /* 103076 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xbegin),
36475 /* 103081 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36476 /* 103084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36477 /* 103088 */ // (intrinsic_w_chain:{ *:[i32] } 16059:{ *:[iPTR] }) => (XBEGIN:{ *:[i32] })
36478 /* 103088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XBEGIN),
36479 /* 103091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36480 /* 103093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36481 /* 103097 */ GIR_RootConstrainSelectedInstOperands,
36482 /* 103098 */ // GIR_Coverage, 16987,
36483 /* 103098 */ GIR_EraseRootFromParent_Done,
36484 /* 103099 */ // Label 2206: @103099
36485 /* 103099 */ GIM_Try, /*On fail goto*//*Label 2207*/ GIMT_Encode4(103130), // Rule ID 17106 //
36486 /* 103104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36487 /* 103107 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_32),
36488 /* 103112 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36489 /* 103115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36490 /* 103119 */ // (intrinsic_w_chain:{ *:[i32] } 15736:{ *:[iPTR] }) => (RDFSBASE:{ *:[i32] })
36491 /* 103119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE),
36492 /* 103122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36493 /* 103124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36494 /* 103128 */ GIR_RootConstrainSelectedInstOperands,
36495 /* 103129 */ // GIR_Coverage, 17106,
36496 /* 103129 */ GIR_EraseRootFromParent_Done,
36497 /* 103130 */ // Label 2207: @103130
36498 /* 103130 */ GIM_Try, /*On fail goto*//*Label 2208*/ GIMT_Encode4(103161), // Rule ID 17107 //
36499 /* 103135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36500 /* 103138 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_64),
36501 /* 103143 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36502 /* 103146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36503 /* 103150 */ // (intrinsic_w_chain:{ *:[i64] } 15737:{ *:[iPTR] }) => (RDFSBASE64:{ *:[i64] })
36504 /* 103150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE64),
36505 /* 103153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36506 /* 103155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36507 /* 103159 */ GIR_RootConstrainSelectedInstOperands,
36508 /* 103160 */ // GIR_Coverage, 17107,
36509 /* 103160 */ GIR_EraseRootFromParent_Done,
36510 /* 103161 */ // Label 2208: @103161
36511 /* 103161 */ GIM_Try, /*On fail goto*//*Label 2209*/ GIMT_Encode4(103192), // Rule ID 17108 //
36512 /* 103166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36513 /* 103169 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_32),
36514 /* 103174 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36515 /* 103177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36516 /* 103181 */ // (intrinsic_w_chain:{ *:[i32] } 15738:{ *:[iPTR] }) => (RDGSBASE:{ *:[i32] })
36517 /* 103181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE),
36518 /* 103184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36519 /* 103186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36520 /* 103190 */ GIR_RootConstrainSelectedInstOperands,
36521 /* 103191 */ // GIR_Coverage, 17108,
36522 /* 103191 */ GIR_EraseRootFromParent_Done,
36523 /* 103192 */ // Label 2209: @103192
36524 /* 103192 */ GIM_Try, /*On fail goto*//*Label 2210*/ GIMT_Encode4(103223), // Rule ID 17109 //
36525 /* 103197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36526 /* 103200 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_64),
36527 /* 103205 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36528 /* 103208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36529 /* 103212 */ // (intrinsic_w_chain:{ *:[i64] } 15739:{ *:[iPTR] }) => (RDGSBASE64:{ *:[i64] })
36530 /* 103212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE64),
36531 /* 103215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36532 /* 103217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36533 /* 103221 */ GIR_RootConstrainSelectedInstOperands,
36534 /* 103222 */ // GIR_Coverage, 17109,
36535 /* 103222 */ GIR_EraseRootFromParent_Done,
36536 /* 103223 */ // Label 2210: @103223
36537 /* 103223 */ GIM_Try, /*On fail goto*//*Label 2211*/ GIMT_Encode4(103254), // Rule ID 17115 //
36538 /* 103228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_Not64BitMode),
36539 /* 103231 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
36540 /* 103236 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36541 /* 103239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36542 /* 103243 */ // (intrinsic_w_chain:{ *:[i32] } 15740:{ *:[iPTR] }) => (RDPID32:{ *:[i32] })
36543 /* 103243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDPID32),
36544 /* 103246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36545 /* 103248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36546 /* 103252 */ GIR_RootConstrainSelectedInstOperands,
36547 /* 103253 */ // GIR_Coverage, 17115,
36548 /* 103253 */ GIR_EraseRootFromParent_Done,
36549 /* 103254 */ // Label 2211: @103254
36550 /* 103254 */ GIM_Try, /*On fail goto*//*Label 2212*/ GIMT_Encode4(103311), // Rule ID 22395 //
36551 /* 103259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_In64BitMode),
36552 /* 103262 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
36553 /* 103267 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36554 /* 103270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36555 /* 103274 */ // (intrinsic_w_chain:{ *:[i32] } 15740:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[i32] } (RDPID64:{ *:[i64] }), sub_32bit:{ *:[i32] })
36556 /* 103274 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36557 /* 103277 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::RDPID64),
36558 /* 103281 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36559 /* 103286 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
36560 /* 103288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36561 /* 103291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36562 /* 103293 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_32bit),
36563 /* 103300 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
36564 /* 103305 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
36565 /* 103310 */ // GIR_Coverage, 22395,
36566 /* 103310 */ GIR_EraseRootFromParent_Done,
36567 /* 103311 */ // Label 2212: @103311
36568 /* 103311 */ GIM_Try, /*On fail goto*//*Label 2213*/ GIMT_Encode4(103351), // Rule ID 3 //
36569 /* 103316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
36570 /* 103319 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u32),
36571 /* 103324 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36572 /* 103327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36573 /* 103331 */ // (intrinsic_void 15631:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFLAGS32:{ *:[i32] } GR32:{ *:[i32] }:$src)
36574 /* 103331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS32),
36575 /* 103334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36576 /* 103336 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
36577 /* 103339 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
36578 /* 103342 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
36579 /* 103345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36580 /* 103349 */ GIR_RootConstrainSelectedInstOperands,
36581 /* 103350 */ // GIR_Coverage, 3,
36582 /* 103350 */ GIR_EraseRootFromParent_Done,
36583 /* 103351 */ // Label 2213: @103351
36584 /* 103351 */ GIM_Try, /*On fail goto*//*Label 2214*/ GIMT_Encode4(103391), // Rule ID 4 //
36585 /* 103356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
36586 /* 103359 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u64),
36587 /* 103364 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36588 /* 103367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36589 /* 103371 */ // (intrinsic_void 15632:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFLAGS64:{ *:[i64] } GR64:{ *:[i64] }:$src)
36590 /* 103371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS64),
36591 /* 103374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36592 /* 103376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::RSP*/0,
36593 /* 103379 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
36594 /* 103382 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
36595 /* 103385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36596 /* 103389 */ GIR_RootConstrainSelectedInstOperands,
36597 /* 103390 */ // GIR_Coverage, 4,
36598 /* 103390 */ GIR_EraseRootFromParent_Done,
36599 /* 103391 */ // Label 2214: @103391
36600 /* 103391 */ GIM_Try, /*On fail goto*//*Label 2215*/ GIMT_Encode4(103422), // Rule ID 154 //
36601 /* 103396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
36602 /* 103399 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_senduipi),
36603 /* 103404 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36604 /* 103407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36605 /* 103411 */ // (intrinsic_void 15759:{ *:[iPTR] }, GR64:{ *:[i64] }:$arg) => (SENDUIPI GR64:{ *:[i64] }:$arg)
36606 /* 103411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SENDUIPI),
36607 /* 103414 */ GIR_RootToRootCopy, /*OpIdx*/1, // arg
36608 /* 103416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36609 /* 103420 */ GIR_RootConstrainSelectedInstOperands,
36610 /* 103421 */ // GIR_Coverage, 154,
36611 /* 103421 */ GIR_EraseRootFromParent_Done,
36612 /* 103422 */ // Label 2215: @103422
36613 /* 103422 */ GIM_Try, /*On fail goto*//*Label 2216*/ GIMT_Encode4(103453), // Rule ID 17075 //
36614 /* 103427 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspd),
36615 /* 103432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36616 /* 103435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36617 /* 103439 */ // (intrinsic_void 15641:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (INCSSPD GR32:{ *:[i32] }:$src)
36618 /* 103439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPD),
36619 /* 103442 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36620 /* 103444 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36621 /* 103447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36622 /* 103451 */ GIR_RootConstrainSelectedInstOperands,
36623 /* 103452 */ // GIR_Coverage, 17075,
36624 /* 103452 */ GIR_EraseRootFromParent_Done,
36625 /* 103453 */ // Label 2216: @103453
36626 /* 103453 */ GIM_Try, /*On fail goto*//*Label 2217*/ GIMT_Encode4(103484), // Rule ID 17076 //
36627 /* 103458 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspq),
36628 /* 103463 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36629 /* 103466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36630 /* 103470 */ // (intrinsic_void 15642:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (INCSSPQ GR64:{ *:[i64] }:$src)
36631 /* 103470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPQ),
36632 /* 103473 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36633 /* 103475 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
36634 /* 103478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36635 /* 103482 */ GIR_RootConstrainSelectedInstOperands,
36636 /* 103483 */ // GIR_Coverage, 17076,
36637 /* 103483 */ GIR_EraseRootFromParent_Done,
36638 /* 103484 */ // Label 2217: @103484
36639 /* 103484 */ GIM_Try, /*On fail goto*//*Label 2218*/ GIMT_Encode4(103515), // Rule ID 17110 //
36640 /* 103489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36641 /* 103492 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_32),
36642 /* 103497 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36643 /* 103500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36644 /* 103504 */ // (intrinsic_void 16049:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFSBASE GR32:{ *:[i32] }:$src)
36645 /* 103504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE),
36646 /* 103507 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36647 /* 103509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36648 /* 103513 */ GIR_RootConstrainSelectedInstOperands,
36649 /* 103514 */ // GIR_Coverage, 17110,
36650 /* 103514 */ GIR_EraseRootFromParent_Done,
36651 /* 103515 */ // Label 2218: @103515
36652 /* 103515 */ GIM_Try, /*On fail goto*//*Label 2219*/ GIMT_Encode4(103546), // Rule ID 17111 //
36653 /* 103520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36654 /* 103523 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_64),
36655 /* 103528 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36656 /* 103531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36657 /* 103535 */ // (intrinsic_void 16050:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFSBASE64 GR64:{ *:[i64] }:$src)
36658 /* 103535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE64),
36659 /* 103538 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36660 /* 103540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36661 /* 103544 */ GIR_RootConstrainSelectedInstOperands,
36662 /* 103545 */ // GIR_Coverage, 17111,
36663 /* 103545 */ GIR_EraseRootFromParent_Done,
36664 /* 103546 */ // Label 2219: @103546
36665 /* 103546 */ GIM_Try, /*On fail goto*//*Label 2220*/ GIMT_Encode4(103577), // Rule ID 17112 //
36666 /* 103551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36667 /* 103554 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_32),
36668 /* 103559 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36669 /* 103562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36670 /* 103566 */ // (intrinsic_void 16051:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRGSBASE GR32:{ *:[i32] }:$src)
36671 /* 103566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE),
36672 /* 103569 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36673 /* 103571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36674 /* 103575 */ GIR_RootConstrainSelectedInstOperands,
36675 /* 103576 */ // GIR_Coverage, 17112,
36676 /* 103576 */ GIR_EraseRootFromParent_Done,
36677 /* 103577 */ // Label 2220: @103577
36678 /* 103577 */ GIM_Try, /*On fail goto*//*Label 2221*/ GIMT_Encode4(103608), // Rule ID 17113 //
36679 /* 103582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
36680 /* 103585 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_64),
36681 /* 103590 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36682 /* 103593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36683 /* 103597 */ // (intrinsic_void 16052:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRGSBASE64 GR64:{ *:[i64] }:$src)
36684 /* 103597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE64),
36685 /* 103600 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36686 /* 103602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36687 /* 103606 */ GIR_RootConstrainSelectedInstOperands,
36688 /* 103607 */ // GIR_Coverage, 17113,
36689 /* 103607 */ GIR_EraseRootFromParent_Done,
36690 /* 103608 */ // Label 2221: @103608
36691 /* 103608 */ GIM_Try, /*On fail goto*//*Label 2222*/ GIMT_Encode4(103639), // Rule ID 17118 //
36692 /* 103613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
36693 /* 103616 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
36694 /* 103621 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36695 /* 103624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36696 /* 103628 */ // (intrinsic_void 15734:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst) => (PTWRITEr GR32:{ *:[i32] }:$dst)
36697 /* 103628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEr),
36698 /* 103631 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36699 /* 103633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36700 /* 103637 */ GIR_RootConstrainSelectedInstOperands,
36701 /* 103638 */ // GIR_Coverage, 17118,
36702 /* 103638 */ GIR_EraseRootFromParent_Done,
36703 /* 103639 */ // Label 2222: @103639
36704 /* 103639 */ GIM_Try, /*On fail goto*//*Label 2223*/ GIMT_Encode4(103670), // Rule ID 17119 //
36705 /* 103644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
36706 /* 103647 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
36707 /* 103652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36708 /* 103655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36709 /* 103659 */ // (intrinsic_void 15735:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst) => (PTWRITE64r GR64:{ *:[i64] }:$dst)
36710 /* 103659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64r),
36711 /* 103662 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36712 /* 103664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36713 /* 103668 */ GIR_RootConstrainSelectedInstOperands,
36714 /* 103669 */ // GIR_Coverage, 17119,
36715 /* 103669 */ GIR_EraseRootFromParent_Done,
36716 /* 103670 */ // Label 2223: @103670
36717 /* 103670 */ GIM_Try, /*On fail goto*//*Label 2224*/ GIMT_Encode4(103702), // Rule ID 114 //
36718 /* 103675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36719 /* 103678 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
36720 /* 103683 */ // MIs[0] src
36721 /* 103683 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36722 /* 103687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36723 /* 103691 */ // (intrinsic_void 15647:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (LLWPCB GR32:{ *:[i32] }:$src)
36724 /* 103691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB),
36725 /* 103694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36726 /* 103696 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36727 /* 103700 */ GIR_RootConstrainSelectedInstOperands,
36728 /* 103701 */ // GIR_Coverage, 114,
36729 /* 103701 */ GIR_EraseRootFromParent_Done,
36730 /* 103702 */ // Label 2224: @103702
36731 /* 103702 */ GIM_Try, /*On fail goto*//*Label 2225*/ GIMT_Encode4(103734), // Rule ID 116 //
36732 /* 103707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
36733 /* 103710 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
36734 /* 103715 */ // MIs[0] src
36735 /* 103715 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36736 /* 103719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36737 /* 103723 */ // (intrinsic_void 15647:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (LLWPCB64 GR64:{ *:[i64] }:$src)
36738 /* 103723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB64),
36739 /* 103726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36740 /* 103728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36741 /* 103732 */ GIR_RootConstrainSelectedInstOperands,
36742 /* 103733 */ // GIR_Coverage, 116,
36743 /* 103733 */ GIR_EraseRootFromParent_Done,
36744 /* 103734 */ // Label 2225: @103734
36745 /* 103734 */ GIM_Try, /*On fail goto*//*Label 2226*/ GIMT_Encode4(103766), // Rule ID 126 //
36746 /* 103739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_Not64BitMode),
36747 /* 103742 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
36748 /* 103747 */ // MIs[0] src
36749 /* 103747 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/16,
36750 /* 103751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36751 /* 103755 */ // (intrinsic_void 16006:{ *:[iPTR] }, GR16:{ *:[i16] }:$src) => (UMONITOR16 GR16:{ *:[i16] }:$src)
36752 /* 103755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR16),
36753 /* 103758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36754 /* 103760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36755 /* 103764 */ GIR_RootConstrainSelectedInstOperands,
36756 /* 103765 */ // GIR_Coverage, 126,
36757 /* 103765 */ GIR_EraseRootFromParent_Done,
36758 /* 103766 */ // Label 2226: @103766
36759 /* 103766 */ GIM_Try, /*On fail goto*//*Label 2227*/ GIMT_Encode4(103798), // Rule ID 127 //
36760 /* 103771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG),
36761 /* 103774 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
36762 /* 103779 */ // MIs[0] src
36763 /* 103779 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36764 /* 103783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36765 /* 103787 */ // (intrinsic_void 16006:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (UMONITOR32 GR32:{ *:[i32] }:$src)
36766 /* 103787 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR32),
36767 /* 103790 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36768 /* 103792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36769 /* 103796 */ GIR_RootConstrainSelectedInstOperands,
36770 /* 103797 */ // GIR_Coverage, 127,
36771 /* 103797 */ GIR_EraseRootFromParent_Done,
36772 /* 103798 */ // Label 2227: @103798
36773 /* 103798 */ GIM_Try, /*On fail goto*//*Label 2228*/ GIMT_Encode4(103830), // Rule ID 128 //
36774 /* 103803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_In64BitMode),
36775 /* 103806 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
36776 /* 103811 */ // MIs[0] src
36777 /* 103811 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36778 /* 103815 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36779 /* 103819 */ // (intrinsic_void 16006:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (UMONITOR64 GR64:{ *:[i64] }:$src)
36780 /* 103819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR64),
36781 /* 103822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36782 /* 103824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36783 /* 103828 */ GIR_RootConstrainSelectedInstOperands,
36784 /* 103829 */ // GIR_Coverage, 128,
36785 /* 103829 */ GIR_EraseRootFromParent_Done,
36786 /* 103830 */ // Label 2228: @103830
36787 /* 103830 */ GIM_Reject,
36788 /* 103831 */ // Label 2176: @103831
36789 /* 103831 */ GIM_Try, /*On fail goto*//*Label 2229*/ GIMT_Encode4(106761),
36790 /* 103836 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
36791 /* 103839 */ GIM_Try, /*On fail goto*//*Label 2230*/ GIMT_Encode4(103885), // Rule ID 165 //
36792 /* 103844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36793 /* 103847 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
36794 /* 103852 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
36795 /* 103855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
36796 /* 103859 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36797 /* 103863 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36798 /* 103870 */ // (intrinsic_w_chain:{ *:[i8] } 15727:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
36799 /* 103870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm),
36800 /* 103873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36801 /* 103875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36802 /* 103879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36803 /* 103883 */ GIR_RootConstrainSelectedInstOperands,
36804 /* 103884 */ // GIR_Coverage, 165,
36805 /* 103884 */ GIR_EraseRootFromParent_Done,
36806 /* 103885 */ // Label 2230: @103885
36807 /* 103885 */ GIM_Try, /*On fail goto*//*Label 2231*/ GIMT_Encode4(103931), // Rule ID 166 //
36808 /* 103890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36809 /* 103893 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
36810 /* 103898 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
36811 /* 103901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36812 /* 103905 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36813 /* 103909 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36814 /* 103916 */ // (intrinsic_w_chain:{ *:[i16] } 15726:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36815 /* 103916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm),
36816 /* 103919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36817 /* 103921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36818 /* 103925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36819 /* 103929 */ GIR_RootConstrainSelectedInstOperands,
36820 /* 103930 */ // GIR_Coverage, 166,
36821 /* 103930 */ GIR_EraseRootFromParent_Done,
36822 /* 103931 */ // Label 2231: @103931
36823 /* 103931 */ GIM_Try, /*On fail goto*//*Label 2232*/ GIMT_Encode4(103977), // Rule ID 167 //
36824 /* 103936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36825 /* 103939 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
36826 /* 103944 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36827 /* 103947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36828 /* 103951 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36829 /* 103955 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36830 /* 103962 */ // (intrinsic_w_chain:{ *:[i32] } 15728:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
36831 /* 103962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm),
36832 /* 103965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36833 /* 103967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36834 /* 103971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36835 /* 103975 */ GIR_RootConstrainSelectedInstOperands,
36836 /* 103976 */ // GIR_Coverage, 167,
36837 /* 103976 */ GIR_EraseRootFromParent_Done,
36838 /* 103977 */ // Label 2232: @103977
36839 /* 103977 */ GIM_Try, /*On fail goto*//*Label 2233*/ GIMT_Encode4(104023), // Rule ID 168 //
36840 /* 103982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36841 /* 103985 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
36842 /* 103990 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36843 /* 103993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36844 /* 103997 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36845 /* 104001 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36846 /* 104008 */ // (intrinsic_w_chain:{ *:[i64] } 15725:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
36847 /* 104008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm),
36848 /* 104011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36849 /* 104013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36850 /* 104017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36851 /* 104021 */ GIR_RootConstrainSelectedInstOperands,
36852 /* 104022 */ // GIR_Coverage, 168,
36853 /* 104022 */ GIR_EraseRootFromParent_Done,
36854 /* 104023 */ // Label 2233: @104023
36855 /* 104023 */ GIM_Try, /*On fail goto*//*Label 2234*/ GIMT_Encode4(104069), // Rule ID 170 //
36856 /* 104028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36857 /* 104031 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
36858 /* 104036 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
36859 /* 104039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
36860 /* 104043 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36861 /* 104047 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36862 /* 104054 */ // (intrinsic_w_chain:{ *:[i8] } 15727:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm_EVEX:{ *:[i8] } addr:{ *:[iPTR] }:$src)
36863 /* 104054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm_EVEX),
36864 /* 104057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36865 /* 104059 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36866 /* 104063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36867 /* 104067 */ GIR_RootConstrainSelectedInstOperands,
36868 /* 104068 */ // GIR_Coverage, 170,
36869 /* 104068 */ GIR_EraseRootFromParent_Done,
36870 /* 104069 */ // Label 2234: @104069
36871 /* 104069 */ GIM_Try, /*On fail goto*//*Label 2235*/ GIMT_Encode4(104115), // Rule ID 171 //
36872 /* 104074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36873 /* 104077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
36874 /* 104082 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
36875 /* 104085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36876 /* 104089 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36877 /* 104093 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36878 /* 104100 */ // (intrinsic_w_chain:{ *:[i16] } 15726:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36879 /* 104100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm_EVEX),
36880 /* 104103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36881 /* 104105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36882 /* 104109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36883 /* 104113 */ GIR_RootConstrainSelectedInstOperands,
36884 /* 104114 */ // GIR_Coverage, 171,
36885 /* 104114 */ GIR_EraseRootFromParent_Done,
36886 /* 104115 */ // Label 2235: @104115
36887 /* 104115 */ GIM_Try, /*On fail goto*//*Label 2236*/ GIMT_Encode4(104161), // Rule ID 172 //
36888 /* 104120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36889 /* 104123 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
36890 /* 104128 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36891 /* 104131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36892 /* 104135 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36893 /* 104139 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36894 /* 104146 */ // (intrinsic_w_chain:{ *:[i32] } 15728:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src)
36895 /* 104146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm_EVEX),
36896 /* 104149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36897 /* 104151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36898 /* 104155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36899 /* 104159 */ GIR_RootConstrainSelectedInstOperands,
36900 /* 104160 */ // GIR_Coverage, 172,
36901 /* 104160 */ GIR_EraseRootFromParent_Done,
36902 /* 104161 */ // Label 2236: @104161
36903 /* 104161 */ GIM_Try, /*On fail goto*//*Label 2237*/ GIMT_Encode4(104207), // Rule ID 173 //
36904 /* 104166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36905 /* 104169 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
36906 /* 104174 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36907 /* 104177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36908 /* 104181 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36909 /* 104185 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36910 /* 104192 */ // (intrinsic_w_chain:{ *:[i64] } 15725:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src)
36911 /* 104192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm_EVEX),
36912 /* 104195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36913 /* 104197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36914 /* 104201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36915 /* 104205 */ GIR_RootConstrainSelectedInstOperands,
36916 /* 104206 */ // GIR_Coverage, 173,
36917 /* 104206 */ GIR_EraseRootFromParent_Done,
36918 /* 104207 */ // Label 2237: @104207
36919 /* 104207 */ GIM_Try, /*On fail goto*//*Label 2238*/ GIMT_Encode4(104253), // Rule ID 2950 //
36920 /* 104212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36921 /* 104215 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
36922 /* 104220 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36923 /* 104223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36924 /* 104227 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36925 /* 104231 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36926 /* 104238 */ // (intrinsic_w_chain:{ *:[v16i8] } 15873:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36927 /* 104238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUrm),
36928 /* 104241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36929 /* 104243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36930 /* 104247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36931 /* 104251 */ GIR_RootConstrainSelectedInstOperands,
36932 /* 104252 */ // GIR_Coverage, 2950,
36933 /* 104252 */ GIR_EraseRootFromParent_Done,
36934 /* 104253 */ // Label 2238: @104253
36935 /* 104253 */ GIM_Try, /*On fail goto*//*Label 2239*/ GIMT_Encode4(104299), // Rule ID 2951 //
36936 /* 104258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36937 /* 104261 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_ldu_dq_256),
36938 /* 104266 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
36939 /* 104269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36940 /* 104273 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36941 /* 104277 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36942 /* 104284 */ // (intrinsic_w_chain:{ *:[v32i8] } 14494:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
36943 /* 104284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUYrm),
36944 /* 104287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36945 /* 104289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36946 /* 104293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36947 /* 104297 */ GIR_RootConstrainSelectedInstOperands,
36948 /* 104298 */ // GIR_Coverage, 2951,
36949 /* 104298 */ GIR_EraseRootFromParent_Done,
36950 /* 104299 */ // Label 2239: @104299
36951 /* 104299 */ GIM_Try, /*On fail goto*//*Label 2240*/ GIMT_Encode4(104345), // Rule ID 2952 //
36952 /* 104304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE3),
36953 /* 104307 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
36954 /* 104312 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36955 /* 104315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36956 /* 104319 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36957 /* 104323 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36958 /* 104330 */ // (intrinsic_w_chain:{ *:[v16i8] } 15873:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36959 /* 104330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDDQUrm),
36960 /* 104333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36961 /* 104335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36962 /* 104339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36963 /* 104343 */ GIR_RootConstrainSelectedInstOperands,
36964 /* 104344 */ // GIR_Coverage, 2952,
36965 /* 104344 */ GIR_EraseRootFromParent_Done,
36966 /* 104345 */ // Label 2240: @104345
36967 /* 104345 */ GIM_Try, /*On fail goto*//*Label 2241*/ GIMT_Encode4(104391), // Rule ID 3542 //
36968 /* 104350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36969 /* 104353 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps128),
36970 /* 104358 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36971 /* 104361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36972 /* 104365 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36973 /* 104369 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36974 /* 104376 */ // (intrinsic_w_chain:{ *:[v4f32] } 16010:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36975 /* 104376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSrm),
36976 /* 104379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36977 /* 104381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36978 /* 104385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36979 /* 104389 */ GIR_RootConstrainSelectedInstOperands,
36980 /* 104390 */ // GIR_Coverage, 3542,
36981 /* 104390 */ GIR_EraseRootFromParent_Done,
36982 /* 104391 */ // Label 2241: @104391
36983 /* 104391 */ GIM_Try, /*On fail goto*//*Label 2242*/ GIMT_Encode4(104437), // Rule ID 3543 //
36984 /* 104396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36985 /* 104399 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps256),
36986 /* 104404 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36987 /* 104407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36988 /* 104411 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36989 /* 104415 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36990 /* 104422 */ // (intrinsic_w_chain:{ *:[v8f32] } 16011:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36991 /* 104422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSYrm),
36992 /* 104425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36993 /* 104427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36994 /* 104431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36995 /* 104435 */ GIR_RootConstrainSelectedInstOperands,
36996 /* 104436 */ // GIR_Coverage, 3543,
36997 /* 104436 */ GIR_EraseRootFromParent_Done,
36998 /* 104437 */ // Label 2242: @104437
36999 /* 104437 */ GIM_Try, /*On fail goto*//*Label 2243*/ GIMT_Encode4(104483), // Rule ID 3544 //
37000 /* 104442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37001 /* 104445 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps128),
37002 /* 104450 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37003 /* 104453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37004 /* 104457 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37005 /* 104461 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37006 /* 104468 */ // (intrinsic_w_chain:{ *:[v4f32] } 16012:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
37007 /* 104468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSrm),
37008 /* 104471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37009 /* 104473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37010 /* 104477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37011 /* 104481 */ GIR_RootConstrainSelectedInstOperands,
37012 /* 104482 */ // GIR_Coverage, 3544,
37013 /* 104482 */ GIR_EraseRootFromParent_Done,
37014 /* 104483 */ // Label 2243: @104483
37015 /* 104483 */ GIM_Try, /*On fail goto*//*Label 2244*/ GIMT_Encode4(104529), // Rule ID 3545 //
37016 /* 104488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37017 /* 104491 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps256),
37018 /* 104496 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37019 /* 104499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37020 /* 104503 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37021 /* 104507 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37022 /* 104514 */ // (intrinsic_w_chain:{ *:[v8f32] } 16013:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
37023 /* 104514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSYrm),
37024 /* 104517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37025 /* 104519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37026 /* 104523 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37027 /* 104527 */ GIR_RootConstrainSelectedInstOperands,
37028 /* 104528 */ // GIR_Coverage, 3545,
37029 /* 104528 */ GIR_EraseRootFromParent_Done,
37030 /* 104529 */ // Label 2244: @104529
37031 /* 104529 */ GIM_Try, /*On fail goto*//*Label 2245*/ GIMT_Encode4(104575), // Rule ID 3546 //
37032 /* 104534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37033 /* 104537 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps128),
37034 /* 104542 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37035 /* 104545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37036 /* 104549 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37037 /* 104553 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37038 /* 104560 */ // (intrinsic_w_chain:{ *:[v4f32] } 16014:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
37039 /* 104560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSrm),
37040 /* 104563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37041 /* 104565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37042 /* 104569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37043 /* 104573 */ GIR_RootConstrainSelectedInstOperands,
37044 /* 104574 */ // GIR_Coverage, 3546,
37045 /* 104574 */ GIR_EraseRootFromParent_Done,
37046 /* 104575 */ // Label 2245: @104575
37047 /* 104575 */ GIM_Try, /*On fail goto*//*Label 2246*/ GIMT_Encode4(104621), // Rule ID 3547 //
37048 /* 104580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37049 /* 104583 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps256),
37050 /* 104588 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37051 /* 104591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37052 /* 104595 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37053 /* 104599 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37054 /* 104606 */ // (intrinsic_w_chain:{ *:[v8f32] } 16015:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
37055 /* 104606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSYrm),
37056 /* 104609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37057 /* 104611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37058 /* 104615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37059 /* 104619 */ GIR_RootConstrainSelectedInstOperands,
37060 /* 104620 */ // GIR_Coverage, 3547,
37061 /* 104620 */ GIR_EraseRootFromParent_Done,
37062 /* 104621 */ // Label 2246: @104621
37063 /* 104621 */ GIM_Try, /*On fail goto*//*Label 2247*/ GIMT_Encode4(104667), // Rule ID 3548 //
37064 /* 104626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37065 /* 104629 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps128),
37066 /* 104634 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37067 /* 104637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37068 /* 104641 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37069 /* 104645 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37070 /* 104652 */ // (intrinsic_w_chain:{ *:[v4f32] } 16016:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
37071 /* 104652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSrm),
37072 /* 104655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37073 /* 104657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37074 /* 104661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37075 /* 104665 */ GIR_RootConstrainSelectedInstOperands,
37076 /* 104666 */ // GIR_Coverage, 3548,
37077 /* 104666 */ GIR_EraseRootFromParent_Done,
37078 /* 104667 */ // Label 2247: @104667
37079 /* 104667 */ GIM_Try, /*On fail goto*//*Label 2248*/ GIMT_Encode4(104713), // Rule ID 3549 //
37080 /* 104672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37081 /* 104675 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps256),
37082 /* 104680 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37083 /* 104683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37084 /* 104687 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37085 /* 104691 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37086 /* 104698 */ // (intrinsic_w_chain:{ *:[v8f32] } 16017:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
37087 /* 104698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSYrm),
37088 /* 104701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37089 /* 104703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37090 /* 104707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37091 /* 104711 */ GIR_RootConstrainSelectedInstOperands,
37092 /* 104712 */ // GIR_Coverage, 3549,
37093 /* 104712 */ GIR_EraseRootFromParent_Done,
37094 /* 104713 */ // Label 2248: @104713
37095 /* 104713 */ GIM_Try, /*On fail goto*//*Label 2249*/ GIMT_Encode4(104759), // Rule ID 3550 //
37096 /* 104718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37097 /* 104721 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps128),
37098 /* 104726 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37099 /* 104729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37100 /* 104733 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37101 /* 104737 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37102 /* 104744 */ // (intrinsic_w_chain:{ *:[v4f32] } 16018:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
37103 /* 104744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSrm),
37104 /* 104747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37105 /* 104749 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37106 /* 104753 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37107 /* 104757 */ GIR_RootConstrainSelectedInstOperands,
37108 /* 104758 */ // GIR_Coverage, 3550,
37109 /* 104758 */ GIR_EraseRootFromParent_Done,
37110 /* 104759 */ // Label 2249: @104759
37111 /* 104759 */ GIM_Try, /*On fail goto*//*Label 2250*/ GIMT_Encode4(104805), // Rule ID 3551 //
37112 /* 104764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37113 /* 104767 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps256),
37114 /* 104772 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37115 /* 104775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37116 /* 104779 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37117 /* 104783 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37118 /* 104790 */ // (intrinsic_w_chain:{ *:[v8f32] } 16019:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
37119 /* 104790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSYrm),
37120 /* 104793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37121 /* 104795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37122 /* 104799 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37123 /* 104803 */ GIR_RootConstrainSelectedInstOperands,
37124 /* 104804 */ // GIR_Coverage, 3551,
37125 /* 104804 */ GIR_EraseRootFromParent_Done,
37126 /* 104805 */ // Label 2250: @104805
37127 /* 104805 */ GIM_Try, /*On fail goto*//*Label 2251*/ GIMT_Encode4(104851), // Rule ID 3552 //
37128 /* 104810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37129 /* 104813 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps128),
37130 /* 104818 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37131 /* 104821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37132 /* 104825 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37133 /* 104829 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37134 /* 104836 */ // (intrinsic_w_chain:{ *:[v4f32] } 16020:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
37135 /* 104836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSrm),
37136 /* 104839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37137 /* 104841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37138 /* 104845 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37139 /* 104849 */ GIR_RootConstrainSelectedInstOperands,
37140 /* 104850 */ // GIR_Coverage, 3552,
37141 /* 104850 */ GIR_EraseRootFromParent_Done,
37142 /* 104851 */ // Label 2251: @104851
37143 /* 104851 */ GIM_Try, /*On fail goto*//*Label 2252*/ GIMT_Encode4(104897), // Rule ID 3553 //
37144 /* 104856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
37145 /* 104859 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps256),
37146 /* 104864 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37147 /* 104867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37148 /* 104871 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37149 /* 104875 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37150 /* 104882 */ // (intrinsic_w_chain:{ *:[v8f32] } 16021:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
37151 /* 104882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSYrm),
37152 /* 104885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37153 /* 104887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37154 /* 104891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37155 /* 104895 */ GIR_RootConstrainSelectedInstOperands,
37156 /* 104896 */ // GIR_Coverage, 3553,
37157 /* 104896 */ GIR_EraseRootFromParent_Done,
37158 /* 104897 */ // Label 2252: @104897
37159 /* 104897 */ GIM_Try, /*On fail goto*//*Label 2253*/ GIMT_Encode4(104943), // Rule ID 16756 //
37160 /* 104902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37161 /* 104905 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb512),
37162 /* 104910 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v64s8,
37163 /* 104913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37164 /* 104917 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37165 /* 104921 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37166 /* 104928 */ // (intrinsic_w_chain:{ *:[v64i8] } 14750:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
37167 /* 104928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZm),
37168 /* 104931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37169 /* 104933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37170 /* 104937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37171 /* 104941 */ GIR_RootConstrainSelectedInstOperands,
37172 /* 104942 */ // GIR_Coverage, 16756,
37173 /* 104942 */ GIR_EraseRootFromParent_Done,
37174 /* 104943 */ // Label 2253: @104943
37175 /* 104943 */ GIM_Try, /*On fail goto*//*Label 2254*/ GIMT_Encode4(104989), // Rule ID 16759 //
37176 /* 104948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37177 /* 104951 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb128),
37178 /* 104956 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
37179 /* 104959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37180 /* 104963 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37181 /* 104967 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37182 /* 104974 */ // (intrinsic_w_chain:{ *:[v16i8] } 14748:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ128m:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
37183 /* 104974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ128m),
37184 /* 104977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37185 /* 104979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37186 /* 104983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37187 /* 104987 */ GIR_RootConstrainSelectedInstOperands,
37188 /* 104988 */ // GIR_Coverage, 16759,
37189 /* 104988 */ GIR_EraseRootFromParent_Done,
37190 /* 104989 */ // Label 2254: @104989
37191 /* 104989 */ GIM_Try, /*On fail goto*//*Label 2255*/ GIMT_Encode4(105035), // Rule ID 16762 //
37192 /* 104994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37193 /* 104997 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb256),
37194 /* 105002 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
37195 /* 105005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37196 /* 105009 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37197 /* 105013 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37198 /* 105020 */ // (intrinsic_w_chain:{ *:[v32i8] } 14749:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ256m:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
37199 /* 105020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ256m),
37200 /* 105023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37201 /* 105025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37202 /* 105029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37203 /* 105033 */ GIR_RootConstrainSelectedInstOperands,
37204 /* 105034 */ // GIR_Coverage, 16762,
37205 /* 105034 */ GIR_EraseRootFromParent_Done,
37206 /* 105035 */ // Label 2255: @105035
37207 /* 105035 */ GIM_Try, /*On fail goto*//*Label 2256*/ GIMT_Encode4(105081), // Rule ID 16765 //
37208 /* 105040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37209 /* 105043 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw512),
37210 /* 105048 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37211 /* 105051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37212 /* 105055 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37213 /* 105059 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37214 /* 105066 */ // (intrinsic_w_chain:{ *:[v32i16] } 14759:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
37215 /* 105066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZm),
37216 /* 105069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37217 /* 105071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37218 /* 105075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37219 /* 105079 */ GIR_RootConstrainSelectedInstOperands,
37220 /* 105080 */ // GIR_Coverage, 16765,
37221 /* 105080 */ GIR_EraseRootFromParent_Done,
37222 /* 105081 */ // Label 2256: @105081
37223 /* 105081 */ GIM_Try, /*On fail goto*//*Label 2257*/ GIMT_Encode4(105127), // Rule ID 16768 //
37224 /* 105086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37225 /* 105089 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw128),
37226 /* 105094 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
37227 /* 105097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37228 /* 105101 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37229 /* 105105 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37230 /* 105112 */ // (intrinsic_w_chain:{ *:[v8i16] } 14757:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ128m:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
37231 /* 105112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ128m),
37232 /* 105115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37233 /* 105117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37234 /* 105121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37235 /* 105125 */ GIR_RootConstrainSelectedInstOperands,
37236 /* 105126 */ // GIR_Coverage, 16768,
37237 /* 105126 */ GIR_EraseRootFromParent_Done,
37238 /* 105127 */ // Label 2257: @105127
37239 /* 105127 */ GIM_Try, /*On fail goto*//*Label 2258*/ GIMT_Encode4(105173), // Rule ID 16771 //
37240 /* 105132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37241 /* 105135 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw256),
37242 /* 105140 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
37243 /* 105143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37244 /* 105147 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37245 /* 105151 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37246 /* 105158 */ // (intrinsic_w_chain:{ *:[v16i16] } 14758:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ256m:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
37247 /* 105158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ256m),
37248 /* 105161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37249 /* 105163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37250 /* 105167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37251 /* 105171 */ GIR_RootConstrainSelectedInstOperands,
37252 /* 105172 */ // GIR_Coverage, 16771,
37253 /* 105172 */ GIR_EraseRootFromParent_Done,
37254 /* 105173 */ // Label 2258: @105173
37255 /* 105173 */ GIM_Try, /*On fail goto*//*Label 2259*/ GIMT_Encode4(105219), // Rule ID 16774 //
37256 /* 105178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37257 /* 105181 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd512),
37258 /* 105186 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37259 /* 105189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37260 /* 105193 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37261 /* 105197 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37262 /* 105204 */ // (intrinsic_w_chain:{ *:[v16i32] } 14753:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
37263 /* 105204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZm),
37264 /* 105207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37265 /* 105209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37266 /* 105213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37267 /* 105217 */ GIR_RootConstrainSelectedInstOperands,
37268 /* 105218 */ // GIR_Coverage, 16774,
37269 /* 105218 */ GIR_EraseRootFromParent_Done,
37270 /* 105219 */ // Label 2259: @105219
37271 /* 105219 */ GIM_Try, /*On fail goto*//*Label 2260*/ GIMT_Encode4(105265), // Rule ID 16777 //
37272 /* 105224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37273 /* 105227 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd128),
37274 /* 105232 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37275 /* 105235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37276 /* 105239 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37277 /* 105243 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37278 /* 105250 */ // (intrinsic_w_chain:{ *:[v4i32] } 14751:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ128m:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
37279 /* 105250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ128m),
37280 /* 105253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37281 /* 105255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37282 /* 105259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37283 /* 105263 */ GIR_RootConstrainSelectedInstOperands,
37284 /* 105264 */ // GIR_Coverage, 16777,
37285 /* 105264 */ GIR_EraseRootFromParent_Done,
37286 /* 105265 */ // Label 2260: @105265
37287 /* 105265 */ GIM_Try, /*On fail goto*//*Label 2261*/ GIMT_Encode4(105311), // Rule ID 16780 //
37288 /* 105270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37289 /* 105273 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd256),
37290 /* 105278 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37291 /* 105281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37292 /* 105285 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37293 /* 105289 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37294 /* 105296 */ // (intrinsic_w_chain:{ *:[v8i32] } 14752:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ256m:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
37295 /* 105296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ256m),
37296 /* 105299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37297 /* 105301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37298 /* 105305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37299 /* 105309 */ GIR_RootConstrainSelectedInstOperands,
37300 /* 105310 */ // GIR_Coverage, 16780,
37301 /* 105310 */ GIR_EraseRootFromParent_Done,
37302 /* 105311 */ // Label 2261: @105311
37303 /* 105311 */ GIM_Try, /*On fail goto*//*Label 2262*/ GIMT_Encode4(105357), // Rule ID 16783 //
37304 /* 105316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37305 /* 105319 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq512),
37306 /* 105324 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
37307 /* 105327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37308 /* 105331 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37309 /* 105335 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37310 /* 105342 */ // (intrinsic_w_chain:{ *:[v8i64] } 14756:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
37311 /* 105342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZm),
37312 /* 105345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37313 /* 105347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37314 /* 105351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37315 /* 105355 */ GIR_RootConstrainSelectedInstOperands,
37316 /* 105356 */ // GIR_Coverage, 16783,
37317 /* 105356 */ GIR_EraseRootFromParent_Done,
37318 /* 105357 */ // Label 2262: @105357
37319 /* 105357 */ GIM_Try, /*On fail goto*//*Label 2263*/ GIMT_Encode4(105403), // Rule ID 16786 //
37320 /* 105362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37321 /* 105365 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq128),
37322 /* 105370 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37323 /* 105373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
37324 /* 105377 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37325 /* 105381 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37326 /* 105388 */ // (intrinsic_w_chain:{ *:[v2i64] } 14754:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ128m:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
37327 /* 105388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ128m),
37328 /* 105391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37329 /* 105393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37330 /* 105397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37331 /* 105401 */ GIR_RootConstrainSelectedInstOperands,
37332 /* 105402 */ // GIR_Coverage, 16786,
37333 /* 105402 */ GIR_EraseRootFromParent_Done,
37334 /* 105403 */ // Label 2263: @105403
37335 /* 105403 */ GIM_Try, /*On fail goto*//*Label 2264*/ GIMT_Encode4(105449), // Rule ID 16789 //
37336 /* 105408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
37337 /* 105411 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq256),
37338 /* 105416 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
37339 /* 105419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
37340 /* 105423 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37341 /* 105427 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37342 /* 105434 */ // (intrinsic_w_chain:{ *:[v4i64] } 14755:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ256m:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
37343 /* 105434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ256m),
37344 /* 105437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37345 /* 105439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37346 /* 105443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37347 /* 105447 */ GIR_RootConstrainSelectedInstOperands,
37348 /* 105448 */ // GIR_Coverage, 16789,
37349 /* 105448 */ GIR_EraseRootFromParent_Done,
37350 /* 105449 */ // Label 2264: @105449
37351 /* 105449 */ GIM_Try, /*On fail goto*//*Label 2265*/ GIMT_Encode4(105495), // Rule ID 17081 //
37352 /* 105454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37353 /* 105457 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
37354 /* 105462 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37355 /* 105465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37356 /* 105469 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37357 /* 105473 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37358 /* 105480 */ // (intrinsic_void 16054:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37359 /* 105480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD),
37360 /* 105483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37361 /* 105487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37362 /* 105489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37363 /* 105493 */ GIR_RootConstrainSelectedInstOperands,
37364 /* 105494 */ // GIR_Coverage, 17081,
37365 /* 105494 */ GIR_EraseRootFromParent_Done,
37366 /* 105495 */ // Label 2265: @105495
37367 /* 105495 */ GIM_Try, /*On fail goto*//*Label 2266*/ GIMT_Encode4(105541), // Rule ID 17082 //
37368 /* 105500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37369 /* 105503 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
37370 /* 105508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37371 /* 105511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37372 /* 105515 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37373 /* 105519 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37374 /* 105526 */ // (intrinsic_void 16055:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37375 /* 105526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ),
37376 /* 105529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37377 /* 105533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37378 /* 105535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37379 /* 105539 */ GIR_RootConstrainSelectedInstOperands,
37380 /* 105540 */ // GIR_Coverage, 17082,
37381 /* 105540 */ GIR_EraseRootFromParent_Done,
37382 /* 105541 */ // Label 2266: @105541
37383 /* 105541 */ GIM_Try, /*On fail goto*//*Label 2267*/ GIMT_Encode4(105587), // Rule ID 17083 //
37384 /* 105546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37385 /* 105549 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
37386 /* 105554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37387 /* 105557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37388 /* 105561 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37389 /* 105565 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37390 /* 105572 */ // (intrinsic_void 16056:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37391 /* 105572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD),
37392 /* 105575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37393 /* 105579 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37394 /* 105581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37395 /* 105585 */ GIR_RootConstrainSelectedInstOperands,
37396 /* 105586 */ // GIR_Coverage, 17083,
37397 /* 105586 */ GIR_EraseRootFromParent_Done,
37398 /* 105587 */ // Label 2267: @105587
37399 /* 105587 */ GIM_Try, /*On fail goto*//*Label 2268*/ GIMT_Encode4(105633), // Rule ID 17084 //
37400 /* 105592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
37401 /* 105595 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
37402 /* 105600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37403 /* 105603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37404 /* 105607 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37405 /* 105611 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37406 /* 105618 */ // (intrinsic_void 16057:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37407 /* 105618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ),
37408 /* 105621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37409 /* 105625 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37410 /* 105627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37411 /* 105631 */ GIR_RootConstrainSelectedInstOperands,
37412 /* 105632 */ // GIR_Coverage, 17084,
37413 /* 105632 */ GIR_EraseRootFromParent_Done,
37414 /* 105633 */ // Label 2268: @105633
37415 /* 105633 */ GIM_Try, /*On fail goto*//*Label 2269*/ GIMT_Encode4(105679), // Rule ID 17085 //
37416 /* 105638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37417 /* 105641 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
37418 /* 105646 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37419 /* 105649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37420 /* 105653 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37421 /* 105657 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37422 /* 105664 */ // (intrinsic_void 16054:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37423 /* 105664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD_EVEX),
37424 /* 105667 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37425 /* 105671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37426 /* 105673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37427 /* 105677 */ GIR_RootConstrainSelectedInstOperands,
37428 /* 105678 */ // GIR_Coverage, 17085,
37429 /* 105678 */ GIR_EraseRootFromParent_Done,
37430 /* 105679 */ // Label 2269: @105679
37431 /* 105679 */ GIM_Try, /*On fail goto*//*Label 2270*/ GIMT_Encode4(105725), // Rule ID 17086 //
37432 /* 105684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37433 /* 105687 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
37434 /* 105692 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37435 /* 105695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37436 /* 105699 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37437 /* 105703 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37438 /* 105710 */ // (intrinsic_void 16055:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37439 /* 105710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ_EVEX),
37440 /* 105713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37441 /* 105717 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37442 /* 105719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37443 /* 105723 */ GIR_RootConstrainSelectedInstOperands,
37444 /* 105724 */ // GIR_Coverage, 17086,
37445 /* 105724 */ GIR_EraseRootFromParent_Done,
37446 /* 105725 */ // Label 2270: @105725
37447 /* 105725 */ GIM_Try, /*On fail goto*//*Label 2271*/ GIMT_Encode4(105771), // Rule ID 17087 //
37448 /* 105730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37449 /* 105733 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
37450 /* 105738 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37451 /* 105741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37452 /* 105745 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37453 /* 105749 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37454 /* 105756 */ // (intrinsic_void 16056:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37455 /* 105756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD_EVEX),
37456 /* 105759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37457 /* 105763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37458 /* 105765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37459 /* 105769 */ GIR_RootConstrainSelectedInstOperands,
37460 /* 105770 */ // GIR_Coverage, 17087,
37461 /* 105770 */ GIR_EraseRootFromParent_Done,
37462 /* 105771 */ // Label 2271: @105771
37463 /* 105771 */ GIM_Try, /*On fail goto*//*Label 2272*/ GIMT_Encode4(105817), // Rule ID 17088 //
37464 /* 105776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
37465 /* 105779 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
37466 /* 105784 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37467 /* 105787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37468 /* 105791 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37469 /* 105795 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37470 /* 105802 */ // (intrinsic_void 16057:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37471 /* 105802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ_EVEX),
37472 /* 105805 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37473 /* 105809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
37474 /* 105811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37475 /* 105815 */ GIR_RootConstrainSelectedInstOperands,
37476 /* 105816 */ // GIR_Coverage, 17088,
37477 /* 105816 */ GIR_EraseRootFromParent_Done,
37478 /* 105817 */ // Label 2272: @105817
37479 /* 105817 */ GIM_Try, /*On fail goto*//*Label 2273*/ GIMT_Encode4(105863), // Rule ID 17114 //
37480 /* 105822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_Not64BitMode),
37481 /* 105825 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
37482 /* 105830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37483 /* 105833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37484 /* 105837 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37485 /* 105841 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37486 /* 105848 */ // (intrinsic_void 15644:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID32 GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37487 /* 105848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID32),
37488 /* 105851 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37489 /* 105853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37490 /* 105857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37491 /* 105861 */ GIR_RootConstrainSelectedInstOperands,
37492 /* 105862 */ // GIR_Coverage, 17114,
37493 /* 105862 */ GIR_EraseRootFromParent_Done,
37494 /* 105863 */ // Label 2273: @105863
37495 /* 105863 */ GIM_Try, /*On fail goto*//*Label 2274*/ GIMT_Encode4(105955), // Rule ID 22393 //
37496 /* 105868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_NoEGPR),
37497 /* 105871 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
37498 /* 105876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37499 /* 105879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37500 /* 105883 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37501 /* 105887 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37502 /* 105894 */ // (intrinsic_void 15644:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64 (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
37503 /* 105894 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
37504 /* 105897 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
37505 /* 105901 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37506 /* 105906 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
37507 /* 105910 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
37508 /* 105912 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
37509 /* 105915 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37510 /* 105919 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37511 /* 105924 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
37512 /* 105927 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37513 /* 105930 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
37514 /* 105933 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37515 /* 105938 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
37516 /* 105943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64),
37517 /* 105946 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37518 /* 105949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37519 /* 105953 */ GIR_RootConstrainSelectedInstOperands,
37520 /* 105954 */ // GIR_Coverage, 22393,
37521 /* 105954 */ GIR_EraseRootFromParent_Done,
37522 /* 105955 */ // Label 2274: @105955
37523 /* 105955 */ GIM_Try, /*On fail goto*//*Label 2275*/ GIMT_Encode4(106047), // Rule ID 22394 //
37524 /* 105960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasINVPCID),
37525 /* 105963 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
37526 /* 105968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37527 /* 105971 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37528 /* 105975 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37529 /* 105979 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37530 /* 105986 */ // (intrinsic_void 15644:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64_EVEX (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
37531 /* 105986 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
37532 /* 105989 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
37533 /* 105993 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37534 /* 105998 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
37535 /* 106002 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
37536 /* 106004 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
37537 /* 106007 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
37538 /* 106011 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37539 /* 106016 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
37540 /* 106019 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
37541 /* 106022 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
37542 /* 106025 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
37543 /* 106030 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
37544 /* 106035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64_EVEX),
37545 /* 106038 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
37546 /* 106041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37547 /* 106045 */ GIR_RootConstrainSelectedInstOperands,
37548 /* 106046 */ // GIR_Coverage, 22394,
37549 /* 106046 */ GIR_EraseRootFromParent_Done,
37550 /* 106047 */ // Label 2275: @106047
37551 /* 106047 */ GIM_Try, /*On fail goto*//*Label 2276*/ GIMT_Encode4(106093), // Rule ID 131 //
37552 /* 106052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_NoEGPR),
37553 /* 106055 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
37554 /* 106060 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37555 /* 106063 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37556 /* 106067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37557 /* 106071 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37558 /* 106078 */ // (intrinsic_void 15623:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32 addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37559 /* 106078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32),
37560 /* 106081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37561 /* 106085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37562 /* 106087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37563 /* 106091 */ GIR_RootConstrainSelectedInstOperands,
37564 /* 106092 */ // GIR_Coverage, 131,
37565 /* 106092 */ GIR_EraseRootFromParent_Done,
37566 /* 106093 */ // Label 2276: @106093
37567 /* 106093 */ GIM_Try, /*On fail goto*//*Label 2277*/ GIMT_Encode4(106139), // Rule ID 132 //
37568 /* 106098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_In64BitMode_NoEGPR),
37569 /* 106101 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
37570 /* 106106 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37571 /* 106109 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37572 /* 106113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37573 /* 106117 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37574 /* 106124 */ // (intrinsic_void 15624:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64 addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37575 /* 106124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64),
37576 /* 106127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37577 /* 106131 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37578 /* 106133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37579 /* 106137 */ GIR_RootConstrainSelectedInstOperands,
37580 /* 106138 */ // GIR_Coverage, 132,
37581 /* 106138 */ GIR_EraseRootFromParent_Done,
37582 /* 106139 */ // Label 2277: @106139
37583 /* 106139 */ GIM_Try, /*On fail goto*//*Label 2278*/ GIMT_Encode4(106185), // Rule ID 133 //
37584 /* 106144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
37585 /* 106147 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
37586 /* 106152 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37587 /* 106155 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37588 /* 106159 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37589 /* 106163 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37590 /* 106170 */ // (intrinsic_void 15623:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
37591 /* 106170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32_EVEX),
37592 /* 106173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37593 /* 106177 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37594 /* 106179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37595 /* 106183 */ GIR_RootConstrainSelectedInstOperands,
37596 /* 106184 */ // GIR_Coverage, 133,
37597 /* 106184 */ GIR_EraseRootFromParent_Done,
37598 /* 106185 */ // Label 2278: @106185
37599 /* 106185 */ GIM_Try, /*On fail goto*//*Label 2279*/ GIMT_Encode4(106231), // Rule ID 134 //
37600 /* 106190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
37601 /* 106193 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
37602 /* 106198 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37603 /* 106201 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37604 /* 106205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37605 /* 106209 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37606 /* 106216 */ // (intrinsic_void 15624:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
37607 /* 106216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64_EVEX),
37608 /* 106219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37609 /* 106223 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37610 /* 106225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37611 /* 106229 */ GIR_RootConstrainSelectedInstOperands,
37612 /* 106230 */ // GIR_Coverage, 134,
37613 /* 106230 */ GIR_EraseRootFromParent_Done,
37614 /* 106231 */ // Label 2279: @106231
37615 /* 106231 */ GIM_Try, /*On fail goto*//*Label 2280*/ GIMT_Encode4(106278), // Rule ID 135 //
37616 /* 106236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_NoEGPR),
37617 /* 106239 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37618 /* 106244 */ // MIs[0] dst
37619 /* 106244 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
37620 /* 106248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37621 /* 106252 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37622 /* 106256 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37623 /* 106263 */ // (intrinsic_void 15724:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32 GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
37624 /* 106263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32),
37625 /* 106266 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37626 /* 106268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37627 /* 106272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37628 /* 106276 */ GIR_RootConstrainSelectedInstOperands,
37629 /* 106277 */ // GIR_Coverage, 135,
37630 /* 106277 */ GIR_EraseRootFromParent_Done,
37631 /* 106278 */ // Label 2280: @106278
37632 /* 106278 */ GIM_Try, /*On fail goto*//*Label 2281*/ GIMT_Encode4(106325), // Rule ID 136 //
37633 /* 106283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR),
37634 /* 106286 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37635 /* 106291 */ // MIs[0] dst
37636 /* 106291 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
37637 /* 106295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37638 /* 106299 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37639 /* 106303 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37640 /* 106310 */ // (intrinsic_void 15724:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64 GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
37641 /* 106310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64),
37642 /* 106313 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37643 /* 106315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37644 /* 106319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37645 /* 106323 */ GIR_RootConstrainSelectedInstOperands,
37646 /* 106324 */ // GIR_Coverage, 136,
37647 /* 106324 */ GIR_EraseRootFromParent_Done,
37648 /* 106325 */ // Label 2281: @106325
37649 /* 106325 */ GIM_Try, /*On fail goto*//*Label 2282*/ GIMT_Encode4(106372), // Rule ID 137 //
37650 /* 106330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
37651 /* 106333 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37652 /* 106338 */ // MIs[0] dst
37653 /* 106338 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
37654 /* 106342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37655 /* 106346 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37656 /* 106350 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37657 /* 106357 */ // (intrinsic_void 15724:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32_EVEX GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
37658 /* 106357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32_EVEX),
37659 /* 106360 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37660 /* 106362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37661 /* 106366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37662 /* 106370 */ GIR_RootConstrainSelectedInstOperands,
37663 /* 106371 */ // GIR_Coverage, 137,
37664 /* 106371 */ GIR_EraseRootFromParent_Done,
37665 /* 106372 */ // Label 2282: @106372
37666 /* 106372 */ GIM_Try, /*On fail goto*//*Label 2283*/ GIMT_Encode4(106419), // Rule ID 138 //
37667 /* 106377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
37668 /* 106380 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
37669 /* 106385 */ // MIs[0] dst
37670 /* 106385 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
37671 /* 106389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37672 /* 106393 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37673 /* 106397 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37674 /* 106404 */ // (intrinsic_void 15724:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64_EVEX GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
37675 /* 106404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64_EVEX),
37676 /* 106407 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
37677 /* 106409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
37678 /* 106413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37679 /* 106417 */ GIR_RootConstrainSelectedInstOperands,
37680 /* 106418 */ // GIR_Coverage, 138,
37681 /* 106418 */ GIR_EraseRootFromParent_Done,
37682 /* 106419 */ // Label 2283: @106419
37683 /* 106419 */ GIM_Try, /*On fail goto*//*Label 2284*/ GIMT_Encode4(106462), // Rule ID 17139 //
37684 /* 106424 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::asan_check_memaccess),
37685 /* 106429 */ // MIs[0] addr
37686 /* 106429 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
37687 /* 106433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64PLTSafeRegClassID),
37688 /* 106437 */ // MIs[0] accessinfo
37689 /* 106437 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37690 /* 106440 */ // (intrinsic_void 14:{ *:[iPTR] }, GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo) => (ASAN_CHECK_MEMACCESS:{ *:[i64] } GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo)
37691 /* 106440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ASAN_CHECK_MEMACCESS),
37692 /* 106443 */ GIR_RootToRootCopy, /*OpIdx*/1, // addr
37693 /* 106445 */ GIR_RootToRootCopy, /*OpIdx*/2, // accessinfo
37694 /* 106447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R10*/0,
37695 /* 106450 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R11*/1,
37696 /* 106453 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/2,
37697 /* 106456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37698 /* 106460 */ GIR_RootConstrainSelectedInstOperands,
37699 /* 106461 */ // GIR_Coverage, 17139,
37700 /* 106461 */ GIR_EraseRootFromParent_Done,
37701 /* 106462 */ // Label 2284: @106462
37702 /* 106462 */ GIM_Try, /*On fail goto*//*Label 2285*/ GIMT_Encode4(106502), // Rule ID 17065 //
37703 /* 106467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
37704 /* 106470 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
37705 /* 106475 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
37706 /* 106478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37707 /* 106481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37708 /* 106485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37709 /* 106489 */ // (intrinsic_w_chain:{ *:[i64] } 16008:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr:{ *:[i64] } GR64:{ *:[i64] }:$src)
37710 /* 106489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr),
37711 /* 106492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37712 /* 106494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37713 /* 106496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37714 /* 106500 */ GIR_RootConstrainSelectedInstOperands,
37715 /* 106501 */ // GIR_Coverage, 17065,
37716 /* 106501 */ GIR_EraseRootFromParent_Done,
37717 /* 106502 */ // Label 2285: @106502
37718 /* 106502 */ GIM_Try, /*On fail goto*//*Label 2286*/ GIMT_Encode4(106542), // Rule ID 17069 //
37719 /* 106507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
37720 /* 106510 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
37721 /* 106515 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
37722 /* 106518 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37723 /* 106521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37724 /* 106525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37725 /* 106529 */ // (intrinsic_w_chain:{ *:[i64] } 16008:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src)
37726 /* 106529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr_EVEX),
37727 /* 106532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37728 /* 106534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37729 /* 106536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37730 /* 106540 */ GIR_RootConstrainSelectedInstOperands,
37731 /* 106541 */ // GIR_Coverage, 17069,
37732 /* 106541 */ GIR_EraseRootFromParent_Done,
37733 /* 106542 */ // Label 2286: @106542
37734 /* 106542 */ GIM_Try, /*On fail goto*//*Label 2287*/ GIMT_Encode4(106579), // Rule ID 17077 //
37735 /* 106547 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspd),
37736 /* 106552 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
37737 /* 106555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37738 /* 106558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37739 /* 106562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37740 /* 106566 */ // (intrinsic_w_chain:{ *:[i32] } 15750:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (RDSSPD:{ *:[i32] } GR32:{ *:[i32] }:$src)
37741 /* 106566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPD),
37742 /* 106569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37743 /* 106571 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37744 /* 106573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37745 /* 106577 */ GIR_RootConstrainSelectedInstOperands,
37746 /* 106578 */ // GIR_Coverage, 17077,
37747 /* 106578 */ GIR_EraseRootFromParent_Done,
37748 /* 106579 */ // Label 2287: @106579
37749 /* 106579 */ GIM_Try, /*On fail goto*//*Label 2288*/ GIMT_Encode4(106616), // Rule ID 17078 //
37750 /* 106584 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspq),
37751 /* 106589 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
37752 /* 106592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37753 /* 106595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37754 /* 106599 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37755 /* 106603 */ // (intrinsic_w_chain:{ *:[i64] } 15751:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (RDSSPQ:{ *:[i64] } GR64:{ *:[i64] }:$src)
37756 /* 106603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPQ),
37757 /* 106606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37758 /* 106608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
37759 /* 106610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37760 /* 106614 */ GIR_RootConstrainSelectedInstOperands,
37761 /* 106615 */ // GIR_Coverage, 17078,
37762 /* 106615 */ GIR_EraseRootFromParent_Done,
37763 /* 106616 */ // Label 2288: @106616
37764 /* 106616 */ GIM_Try, /*On fail goto*//*Label 2289*/ GIMT_Encode4(106680), // Rule ID 3085 //
37765 /* 106621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
37766 /* 106624 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse3_mwait),
37767 /* 106629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37768 /* 106632 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37769 /* 106635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
37770 /* 106639 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37771 /* 106643 */ // (intrinsic_void 15875:{ *:[iPTR] }, ECX:{ *:[i32] }, EAX:{ *:[i32] }) => (MWAITrr)
37772 /* 106643 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37773 /* 106647 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37774 /* 106653 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EAX
37775 /* 106657 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37776 /* 106661 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37777 /* 106667 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
37778 /* 106671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITrr),
37779 /* 106674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37780 /* 106678 */ GIR_RootConstrainSelectedInstOperands,
37781 /* 106679 */ // GIR_Coverage, 3085,
37782 /* 106679 */ GIR_EraseRootFromParent_Done,
37783 /* 106680 */ // Label 2289: @106680
37784 /* 106680 */ GIM_Try, /*On fail goto*//*Label 2290*/ GIMT_Encode4(106720), // Rule ID 17067 //
37785 /* 106685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
37786 /* 106688 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
37787 /* 106693 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37788 /* 106696 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37789 /* 106699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37790 /* 106703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37791 /* 106707 */ // (intrinsic_void 16009:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
37792 /* 106707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr),
37793 /* 106710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37794 /* 106712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37795 /* 106714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37796 /* 106718 */ GIR_RootConstrainSelectedInstOperands,
37797 /* 106719 */ // GIR_Coverage, 17067,
37798 /* 106719 */ GIR_EraseRootFromParent_Done,
37799 /* 106720 */ // Label 2290: @106720
37800 /* 106720 */ GIM_Try, /*On fail goto*//*Label 2291*/ GIMT_Encode4(106760), // Rule ID 17071 //
37801 /* 106725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
37802 /* 106728 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
37803 /* 106733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37804 /* 106736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37805 /* 106739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37806 /* 106743 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37807 /* 106747 */ // (intrinsic_void 16009:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr_EVEX GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
37808 /* 106747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr_EVEX),
37809 /* 106750 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37810 /* 106752 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37811 /* 106754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37812 /* 106758 */ GIR_RootConstrainSelectedInstOperands,
37813 /* 106759 */ // GIR_Coverage, 17071,
37814 /* 106759 */ GIR_EraseRootFromParent_Done,
37815 /* 106760 */ // Label 2291: @106760
37816 /* 106760 */ GIM_Reject,
37817 /* 106761 */ // Label 2229: @106761
37818 /* 106761 */ GIM_Try, /*On fail goto*//*Label 2292*/ GIMT_Encode4(110036),
37819 /* 106766 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
37820 /* 106769 */ GIM_Try, /*On fail goto*//*Label 2293*/ GIMT_Encode4(106841), // Rule ID 123 //
37821 /* 106774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37822 /* 106777 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
37823 /* 106782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37824 /* 106785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37825 /* 106788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37826 /* 106792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
37827 /* 106796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37828 /* 106800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37829 /* 106803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37830 /* 106807 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
37831 /* 106811 */ // MIs[0] cntl
37832 /* 106811 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37833 /* 106814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37834 /* 106816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37835 /* 106823 */ // (intrinsic_void 15651:{ *:[iPTR] }, GR32:{ *:[i32] }:$src0, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (timm:{ *:[i32] }):$cntl) => (LWPVAL32rmi GR32:{ *:[i32] }:$src0, addr:{ *:[iPTR] }:$src1, (timm:{ *:[i32] }):$cntl)
37836 /* 106823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rmi),
37837 /* 106826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37838 /* 106828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
37839 /* 106832 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37840 /* 106834 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37841 /* 106839 */ GIR_RootConstrainSelectedInstOperands,
37842 /* 106840 */ // GIR_Coverage, 123,
37843 /* 106840 */ GIR_EraseRootFromParent_Done,
37844 /* 106841 */ // Label 2293: @106841
37845 /* 106841 */ GIM_Try, /*On fail goto*//*Label 2294*/ GIMT_Encode4(106913), // Rule ID 125 //
37846 /* 106846 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37847 /* 106849 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
37848 /* 106854 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37849 /* 106857 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37850 /* 106860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37851 /* 106864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
37852 /* 106868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37853 /* 106872 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37854 /* 106875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37855 /* 106879 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
37856 /* 106883 */ // MIs[0] cntl
37857 /* 106883 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37858 /* 106886 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37859 /* 106888 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37860 /* 106895 */ // (intrinsic_void 15652:{ *:[iPTR] }, GR64:{ *:[i64] }:$src0, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (timm:{ *:[i32] }):$cntl) => (LWPVAL64rmi GR64:{ *:[i64] }:$src0, addr:{ *:[iPTR] }:$src1, (timm:{ *:[i32] }):$cntl)
37861 /* 106895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rmi),
37862 /* 106898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37863 /* 106900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
37864 /* 106904 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37865 /* 106906 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37866 /* 106911 */ GIR_RootConstrainSelectedInstOperands,
37867 /* 106912 */ // GIR_Coverage, 125,
37868 /* 106912 */ GIR_EraseRootFromParent_Done,
37869 /* 106913 */ // Label 2294: @106913
37870 /* 106913 */ GIM_Try, /*On fail goto*//*Label 2295*/ GIMT_Encode4(106968), // Rule ID 3386 //
37871 /* 106918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37872 /* 106921 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps),
37873 /* 106926 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37874 /* 106929 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37875 /* 106932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37876 /* 106936 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37877 /* 106940 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37878 /* 106944 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37879 /* 106951 */ // (intrinsic_w_chain:{ *:[v4f32] } 14497:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VMASKMOVPSrm:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37880 /* 106951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSrm),
37881 /* 106954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37882 /* 106956 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37883 /* 106958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37884 /* 106962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37885 /* 106966 */ GIR_RootConstrainSelectedInstOperands,
37886 /* 106967 */ // GIR_Coverage, 3386,
37887 /* 106967 */ GIR_EraseRootFromParent_Done,
37888 /* 106968 */ // Label 2295: @106968
37889 /* 106968 */ GIM_Try, /*On fail goto*//*Label 2296*/ GIMT_Encode4(107023), // Rule ID 3387 //
37890 /* 106973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37891 /* 106976 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps_256),
37892 /* 106981 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37893 /* 106984 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37894 /* 106987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37895 /* 106991 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37896 /* 106995 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37897 /* 106999 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37898 /* 107006 */ // (intrinsic_w_chain:{ *:[v8f32] } 14498:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VMASKMOVPSYrm:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37899 /* 107006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYrm),
37900 /* 107009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37901 /* 107011 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37902 /* 107013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37903 /* 107017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37904 /* 107021 */ GIR_RootConstrainSelectedInstOperands,
37905 /* 107022 */ // GIR_Coverage, 3387,
37906 /* 107022 */ GIR_EraseRootFromParent_Done,
37907 /* 107023 */ // Label 2296: @107023
37908 /* 107023 */ GIM_Try, /*On fail goto*//*Label 2297*/ GIMT_Encode4(107078), // Rule ID 3390 //
37909 /* 107028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37910 /* 107031 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd),
37911 /* 107036 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37912 /* 107039 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37913 /* 107042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37914 /* 107046 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37915 /* 107050 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37916 /* 107054 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37917 /* 107061 */ // (intrinsic_w_chain:{ *:[v2f64] } 14495:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VMASKMOVPDrm:{ *:[v2f64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37918 /* 107061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDrm),
37919 /* 107064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37920 /* 107066 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37921 /* 107068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37922 /* 107072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37923 /* 107076 */ GIR_RootConstrainSelectedInstOperands,
37924 /* 107077 */ // GIR_Coverage, 3390,
37925 /* 107077 */ GIR_EraseRootFromParent_Done,
37926 /* 107078 */ // Label 2297: @107078
37927 /* 107078 */ GIM_Try, /*On fail goto*//*Label 2298*/ GIMT_Encode4(107133), // Rule ID 3391 //
37928 /* 107083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37929 /* 107086 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd_256),
37930 /* 107091 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
37931 /* 107094 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37932 /* 107097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37933 /* 107101 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37934 /* 107105 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37935 /* 107109 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37936 /* 107116 */ // (intrinsic_w_chain:{ *:[v4f64] } 14496:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VMASKMOVPDYrm:{ *:[v4f64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37937 /* 107116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYrm),
37938 /* 107119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37939 /* 107121 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37940 /* 107123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37941 /* 107127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37942 /* 107131 */ GIR_RootConstrainSelectedInstOperands,
37943 /* 107132 */ // GIR_Coverage, 3391,
37944 /* 107132 */ GIR_EraseRootFromParent_Done,
37945 /* 107133 */ // Label 2298: @107133
37946 /* 107133 */ GIM_Try, /*On fail goto*//*Label 2299*/ GIMT_Encode4(107188), // Rule ID 3464 //
37947 /* 107138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37948 /* 107141 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d),
37949 /* 107146 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37950 /* 107149 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37951 /* 107152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37952 /* 107156 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37953 /* 107160 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37954 /* 107164 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37955 /* 107171 */ // (intrinsic_w_chain:{ *:[v4i32] } 14795:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VPMASKMOVDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37956 /* 107171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDrm),
37957 /* 107174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37958 /* 107176 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37959 /* 107178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37960 /* 107182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37961 /* 107186 */ GIR_RootConstrainSelectedInstOperands,
37962 /* 107187 */ // GIR_Coverage, 3464,
37963 /* 107187 */ GIR_EraseRootFromParent_Done,
37964 /* 107188 */ // Label 2299: @107188
37965 /* 107188 */ GIM_Try, /*On fail goto*//*Label 2300*/ GIMT_Encode4(107243), // Rule ID 3465 //
37966 /* 107193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37967 /* 107196 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d_256),
37968 /* 107201 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37969 /* 107204 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37970 /* 107207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37971 /* 107211 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37972 /* 107215 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37973 /* 107219 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37974 /* 107226 */ // (intrinsic_w_chain:{ *:[v8i32] } 14796:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VPMASKMOVDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37975 /* 107226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYrm),
37976 /* 107229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37977 /* 107231 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37978 /* 107233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37979 /* 107237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37980 /* 107241 */ GIR_RootConstrainSelectedInstOperands,
37981 /* 107242 */ // GIR_Coverage, 3465,
37982 /* 107242 */ GIR_EraseRootFromParent_Done,
37983 /* 107243 */ // Label 2300: @107243
37984 /* 107243 */ GIM_Try, /*On fail goto*//*Label 2301*/ GIMT_Encode4(107298), // Rule ID 3468 //
37985 /* 107248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37986 /* 107251 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q),
37987 /* 107256 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37988 /* 107259 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37989 /* 107262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37990 /* 107266 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37991 /* 107270 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37992 /* 107274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37993 /* 107281 */ // (intrinsic_w_chain:{ *:[v2i64] } 14797:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VPMASKMOVQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37994 /* 107281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQrm),
37995 /* 107284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37996 /* 107286 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37997 /* 107288 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37998 /* 107292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37999 /* 107296 */ GIR_RootConstrainSelectedInstOperands,
38000 /* 107297 */ // GIR_Coverage, 3468,
38001 /* 107297 */ GIR_EraseRootFromParent_Done,
38002 /* 107298 */ // Label 2301: @107298
38003 /* 107298 */ GIM_Try, /*On fail goto*//*Label 2302*/ GIMT_Encode4(107353), // Rule ID 3469 //
38004 /* 107303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
38005 /* 107306 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q_256),
38006 /* 107311 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
38007 /* 107314 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
38008 /* 107317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38009 /* 107321 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
38010 /* 107325 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38011 /* 107329 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38012 /* 107336 */ // (intrinsic_w_chain:{ *:[v4i64] } 14798:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VPMASKMOVQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
38013 /* 107336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYrm),
38014 /* 107339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38015 /* 107341 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
38016 /* 107343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
38017 /* 107347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38018 /* 107351 */ GIR_RootConstrainSelectedInstOperands,
38019 /* 107352 */ // GIR_Coverage, 3469,
38020 /* 107352 */ GIR_EraseRootFromParent_Done,
38021 /* 107353 */ // Label 2302: @107353
38022 /* 107353 */ GIM_Try, /*On fail goto*//*Label 2303*/ GIMT_Encode4(107408), // Rule ID 3388 //
38023 /* 107358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
38024 /* 107361 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps),
38025 /* 107366 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
38026 /* 107369 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
38027 /* 107372 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38028 /* 107376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38029 /* 107380 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38030 /* 107384 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38031 /* 107391 */ // (intrinsic_void 14501:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMASKMOVPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2)
38032 /* 107391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSmr),
38033 /* 107394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38034 /* 107398 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38035 /* 107400 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38036 /* 107402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38037 /* 107406 */ GIR_RootConstrainSelectedInstOperands,
38038 /* 107407 */ // GIR_Coverage, 3388,
38039 /* 107407 */ GIR_EraseRootFromParent_Done,
38040 /* 107408 */ // Label 2303: @107408
38041 /* 107408 */ GIM_Try, /*On fail goto*//*Label 2304*/ GIMT_Encode4(107463), // Rule ID 3389 //
38042 /* 107413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
38043 /* 107416 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps_256),
38044 /* 107421 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
38045 /* 107424 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
38046 /* 107427 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38047 /* 107431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38048 /* 107435 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38049 /* 107439 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38050 /* 107446 */ // (intrinsic_void 14502:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMASKMOVPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2)
38051 /* 107446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYmr),
38052 /* 107449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38053 /* 107453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38054 /* 107455 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38055 /* 107457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38056 /* 107461 */ GIR_RootConstrainSelectedInstOperands,
38057 /* 107462 */ // GIR_Coverage, 3389,
38058 /* 107462 */ GIR_EraseRootFromParent_Done,
38059 /* 107463 */ // Label 2304: @107463
38060 /* 107463 */ GIM_Try, /*On fail goto*//*Label 2305*/ GIMT_Encode4(107518), // Rule ID 3392 //
38061 /* 107468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
38062 /* 107471 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd),
38063 /* 107476 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
38064 /* 107479 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
38065 /* 107482 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38066 /* 107486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38067 /* 107490 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38068 /* 107494 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38069 /* 107501 */ // (intrinsic_void 14499:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMASKMOVPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2)
38070 /* 107501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDmr),
38071 /* 107504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38072 /* 107508 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38073 /* 107510 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38074 /* 107512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38075 /* 107516 */ GIR_RootConstrainSelectedInstOperands,
38076 /* 107517 */ // GIR_Coverage, 3392,
38077 /* 107517 */ GIR_EraseRootFromParent_Done,
38078 /* 107518 */ // Label 2305: @107518
38079 /* 107518 */ GIM_Try, /*On fail goto*//*Label 2306*/ GIMT_Encode4(107573), // Rule ID 3393 //
38080 /* 107523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
38081 /* 107526 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd_256),
38082 /* 107531 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
38083 /* 107534 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
38084 /* 107537 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38085 /* 107541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38086 /* 107545 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38087 /* 107549 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38088 /* 107556 */ // (intrinsic_void 14500:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMASKMOVPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2)
38089 /* 107556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYmr),
38090 /* 107559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38091 /* 107563 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38092 /* 107565 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38093 /* 107567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38094 /* 107571 */ GIR_RootConstrainSelectedInstOperands,
38095 /* 107572 */ // GIR_Coverage, 3393,
38096 /* 107572 */ GIR_EraseRootFromParent_Done,
38097 /* 107573 */ // Label 2306: @107573
38098 /* 107573 */ GIM_Try, /*On fail goto*//*Label 2307*/ GIMT_Encode4(107628), // Rule ID 3466 //
38099 /* 107578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
38100 /* 107581 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d),
38101 /* 107586 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
38102 /* 107589 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
38103 /* 107592 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38104 /* 107596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38105 /* 107600 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38106 /* 107604 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38107 /* 107611 */ // (intrinsic_void 14799:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMASKMOVDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
38108 /* 107611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDmr),
38109 /* 107614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38110 /* 107618 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38111 /* 107620 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38112 /* 107622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38113 /* 107626 */ GIR_RootConstrainSelectedInstOperands,
38114 /* 107627 */ // GIR_Coverage, 3466,
38115 /* 107627 */ GIR_EraseRootFromParent_Done,
38116 /* 107628 */ // Label 2307: @107628
38117 /* 107628 */ GIM_Try, /*On fail goto*//*Label 2308*/ GIMT_Encode4(107683), // Rule ID 3467 //
38118 /* 107633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
38119 /* 107636 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d_256),
38120 /* 107641 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
38121 /* 107644 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
38122 /* 107647 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38123 /* 107651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38124 /* 107655 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38125 /* 107659 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38126 /* 107666 */ // (intrinsic_void 14800:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMASKMOVDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
38127 /* 107666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYmr),
38128 /* 107669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38129 /* 107673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38130 /* 107675 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38131 /* 107677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38132 /* 107681 */ GIR_RootConstrainSelectedInstOperands,
38133 /* 107682 */ // GIR_Coverage, 3467,
38134 /* 107682 */ GIR_EraseRootFromParent_Done,
38135 /* 107683 */ // Label 2308: @107683
38136 /* 107683 */ GIM_Try, /*On fail goto*//*Label 2309*/ GIMT_Encode4(107738), // Rule ID 3470 //
38137 /* 107688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
38138 /* 107691 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q),
38139 /* 107696 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
38140 /* 107699 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
38141 /* 107702 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38142 /* 107706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38143 /* 107710 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38144 /* 107714 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38145 /* 107721 */ // (intrinsic_void 14801:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPMASKMOVQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
38146 /* 107721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQmr),
38147 /* 107724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38148 /* 107728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38149 /* 107730 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38150 /* 107732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38151 /* 107736 */ GIR_RootConstrainSelectedInstOperands,
38152 /* 107737 */ // GIR_Coverage, 3470,
38153 /* 107737 */ GIR_EraseRootFromParent_Done,
38154 /* 107738 */ // Label 2309: @107738
38155 /* 107738 */ GIM_Try, /*On fail goto*//*Label 2310*/ GIMT_Encode4(107793), // Rule ID 3471 //
38156 /* 107743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
38157 /* 107746 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q_256),
38158 /* 107751 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
38159 /* 107754 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
38160 /* 107757 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38161 /* 107761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38162 /* 107765 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
38163 /* 107769 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38164 /* 107776 */ // (intrinsic_void 14802:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPMASKMOVQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
38165 /* 107776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYmr),
38166 /* 107779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38167 /* 107783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38168 /* 107785 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38169 /* 107787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38170 /* 107791 */ GIR_RootConstrainSelectedInstOperands,
38171 /* 107792 */ // GIR_Coverage, 3471,
38172 /* 107792 */ GIR_EraseRootFromParent_Done,
38173 /* 107793 */ // Label 2310: @107793
38174 /* 107793 */ GIM_Try, /*On fail goto*//*Label 2311*/ GIMT_Encode4(107872), // Rule ID 17092 //
38175 /* 107798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
38176 /* 107801 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave),
38177 /* 107806 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38178 /* 107809 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38179 /* 107812 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38180 /* 107816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38181 /* 107820 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38182 /* 107824 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38183 /* 107831 */ // (intrinsic_void 16113:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE addr:{ *:[iPTR] }:$dst)
38184 /* 107831 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38185 /* 107835 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38186 /* 107841 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38187 /* 107845 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38188 /* 107849 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38189 /* 107855 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38190 /* 107859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE),
38191 /* 107862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38192 /* 107866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38193 /* 107870 */ GIR_RootConstrainSelectedInstOperands,
38194 /* 107871 */ // GIR_Coverage, 17092,
38195 /* 107871 */ GIR_EraseRootFromParent_Done,
38196 /* 107872 */ // Label 2311: @107872
38197 /* 107872 */ GIM_Try, /*On fail goto*//*Label 2312*/ GIMT_Encode4(107951), // Rule ID 17093 //
38198 /* 107877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
38199 /* 107880 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave64),
38200 /* 107885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38201 /* 107888 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38202 /* 107891 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38203 /* 107895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38204 /* 107899 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38205 /* 107903 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38206 /* 107910 */ // (intrinsic_void 16114:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE64 addr:{ *:[iPTR] }:$dst)
38207 /* 107910 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38208 /* 107914 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38209 /* 107920 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38210 /* 107924 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38211 /* 107928 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38212 /* 107934 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38213 /* 107938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE64),
38214 /* 107941 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38215 /* 107945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38216 /* 107949 */ GIR_RootConstrainSelectedInstOperands,
38217 /* 107950 */ // GIR_Coverage, 17093,
38218 /* 107950 */ GIR_EraseRootFromParent_Done,
38219 /* 107951 */ // Label 2312: @107951
38220 /* 107951 */ GIM_Try, /*On fail goto*//*Label 2313*/ GIMT_Encode4(108030), // Rule ID 17094 //
38221 /* 107956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
38222 /* 107959 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor),
38223 /* 107964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38224 /* 107967 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38225 /* 107970 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38226 /* 107974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38227 /* 107978 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38228 /* 107982 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38229 /* 107989 */ // (intrinsic_void 16109:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR addr:{ *:[iPTR] }:$dst)
38230 /* 107989 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38231 /* 107993 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38232 /* 107999 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38233 /* 108003 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38234 /* 108007 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38235 /* 108013 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38236 /* 108017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR),
38237 /* 108020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38238 /* 108024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38239 /* 108028 */ GIR_RootConstrainSelectedInstOperands,
38240 /* 108029 */ // GIR_Coverage, 17094,
38241 /* 108029 */ GIR_EraseRootFromParent_Done,
38242 /* 108030 */ // Label 2313: @108030
38243 /* 108030 */ GIM_Try, /*On fail goto*//*Label 2314*/ GIMT_Encode4(108109), // Rule ID 17095 //
38244 /* 108035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
38245 /* 108038 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor64),
38246 /* 108043 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38247 /* 108046 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38248 /* 108049 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38249 /* 108053 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38250 /* 108057 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38251 /* 108061 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38252 /* 108068 */ // (intrinsic_void 16110:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR64 addr:{ *:[iPTR] }:$dst)
38253 /* 108068 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38254 /* 108072 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38255 /* 108078 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38256 /* 108082 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38257 /* 108086 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38258 /* 108092 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38259 /* 108096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR64),
38260 /* 108099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38261 /* 108103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38262 /* 108107 */ GIR_RootConstrainSelectedInstOperands,
38263 /* 108108 */ // GIR_Coverage, 17095,
38264 /* 108108 */ GIR_EraseRootFromParent_Done,
38265 /* 108109 */ // Label 2314: @108109
38266 /* 108109 */ GIM_Try, /*On fail goto*//*Label 2315*/ GIMT_Encode4(108188), // Rule ID 17096 //
38267 /* 108114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT),
38268 /* 108117 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt),
38269 /* 108122 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38270 /* 108125 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38271 /* 108128 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38272 /* 108132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38273 /* 108136 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38274 /* 108140 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38275 /* 108147 */ // (intrinsic_void 16117:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT addr:{ *:[iPTR] }:$dst)
38276 /* 108147 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38277 /* 108151 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38278 /* 108157 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38279 /* 108161 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38280 /* 108165 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38281 /* 108171 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38282 /* 108175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT),
38283 /* 108178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38284 /* 108182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38285 /* 108186 */ GIR_RootConstrainSelectedInstOperands,
38286 /* 108187 */ // GIR_Coverage, 17096,
38287 /* 108187 */ GIR_EraseRootFromParent_Done,
38288 /* 108188 */ // Label 2315: @108188
38289 /* 108188 */ GIM_Try, /*On fail goto*//*Label 2316*/ GIMT_Encode4(108267), // Rule ID 17097 //
38290 /* 108193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT_In64BitMode),
38291 /* 108196 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt64),
38292 /* 108201 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38293 /* 108204 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38294 /* 108207 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38295 /* 108211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38296 /* 108215 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38297 /* 108219 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38298 /* 108226 */ // (intrinsic_void 16118:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT64 addr:{ *:[iPTR] }:$dst)
38299 /* 108226 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38300 /* 108230 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38301 /* 108236 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38302 /* 108240 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38303 /* 108244 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38304 /* 108250 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38305 /* 108254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT64),
38306 /* 108257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38307 /* 108261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38308 /* 108265 */ GIR_RootConstrainSelectedInstOperands,
38309 /* 108266 */ // GIR_Coverage, 17097,
38310 /* 108266 */ GIR_EraseRootFromParent_Done,
38311 /* 108267 */ // Label 2316: @108267
38312 /* 108267 */ GIM_Try, /*On fail goto*//*Label 2317*/ GIMT_Encode4(108346), // Rule ID 17098 //
38313 /* 108272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC),
38314 /* 108275 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec),
38315 /* 108280 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38316 /* 108283 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38317 /* 108286 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38318 /* 108290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38319 /* 108294 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38320 /* 108298 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38321 /* 108305 */ // (intrinsic_void 16115:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC addr:{ *:[iPTR] }:$dst)
38322 /* 108305 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38323 /* 108309 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38324 /* 108315 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38325 /* 108319 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38326 /* 108323 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38327 /* 108329 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38328 /* 108333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC),
38329 /* 108336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38330 /* 108340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38331 /* 108344 */ GIR_RootConstrainSelectedInstOperands,
38332 /* 108345 */ // GIR_Coverage, 17098,
38333 /* 108345 */ GIR_EraseRootFromParent_Done,
38334 /* 108346 */ // Label 2317: @108346
38335 /* 108346 */ GIM_Try, /*On fail goto*//*Label 2318*/ GIMT_Encode4(108425), // Rule ID 17099 //
38336 /* 108351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC_In64BitMode),
38337 /* 108354 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec64),
38338 /* 108359 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38339 /* 108362 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38340 /* 108365 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38341 /* 108369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38342 /* 108373 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38343 /* 108377 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38344 /* 108384 */ // (intrinsic_void 16116:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC64 addr:{ *:[iPTR] }:$dst)
38345 /* 108384 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38346 /* 108388 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38347 /* 108394 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38348 /* 108398 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38349 /* 108402 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38350 /* 108408 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38351 /* 108412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC64),
38352 /* 108415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38353 /* 108419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38354 /* 108423 */ GIR_RootConstrainSelectedInstOperands,
38355 /* 108424 */ // GIR_Coverage, 17099,
38356 /* 108424 */ GIR_EraseRootFromParent_Done,
38357 /* 108425 */ // Label 2318: @108425
38358 /* 108425 */ GIM_Try, /*On fail goto*//*Label 2319*/ GIMT_Encode4(108504), // Rule ID 17100 //
38359 /* 108430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
38360 /* 108433 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves),
38361 /* 108438 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38362 /* 108441 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38363 /* 108444 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38364 /* 108448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38365 /* 108452 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38366 /* 108456 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38367 /* 108463 */ // (intrinsic_void 16119:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES addr:{ *:[iPTR] }:$dst)
38368 /* 108463 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38369 /* 108467 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38370 /* 108473 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38371 /* 108477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38372 /* 108481 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38373 /* 108487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38374 /* 108491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES),
38375 /* 108494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38376 /* 108498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38377 /* 108502 */ GIR_RootConstrainSelectedInstOperands,
38378 /* 108503 */ // GIR_Coverage, 17100,
38379 /* 108503 */ GIR_EraseRootFromParent_Done,
38380 /* 108504 */ // Label 2319: @108504
38381 /* 108504 */ GIM_Try, /*On fail goto*//*Label 2320*/ GIMT_Encode4(108583), // Rule ID 17101 //
38382 /* 108509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
38383 /* 108512 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves64),
38384 /* 108517 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38385 /* 108520 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38386 /* 108523 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38387 /* 108527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38388 /* 108531 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38389 /* 108535 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38390 /* 108542 */ // (intrinsic_void 16120:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES64 addr:{ *:[iPTR] }:$dst)
38391 /* 108542 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38392 /* 108546 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38393 /* 108552 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38394 /* 108556 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38395 /* 108560 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38396 /* 108566 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38397 /* 108570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES64),
38398 /* 108573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38399 /* 108577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38400 /* 108581 */ GIR_RootConstrainSelectedInstOperands,
38401 /* 108582 */ // GIR_Coverage, 17101,
38402 /* 108582 */ GIR_EraseRootFromParent_Done,
38403 /* 108583 */ // Label 2320: @108583
38404 /* 108583 */ GIM_Try, /*On fail goto*//*Label 2321*/ GIMT_Encode4(108662), // Rule ID 17102 //
38405 /* 108588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
38406 /* 108591 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors),
38407 /* 108596 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38408 /* 108599 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38409 /* 108602 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38410 /* 108606 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38411 /* 108610 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38412 /* 108614 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38413 /* 108621 */ // (intrinsic_void 16111:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS addr:{ *:[iPTR] }:$dst)
38414 /* 108621 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38415 /* 108625 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38416 /* 108631 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38417 /* 108635 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38418 /* 108639 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38419 /* 108645 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38420 /* 108649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS),
38421 /* 108652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38422 /* 108656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38423 /* 108660 */ GIR_RootConstrainSelectedInstOperands,
38424 /* 108661 */ // GIR_Coverage, 17102,
38425 /* 108661 */ GIR_EraseRootFromParent_Done,
38426 /* 108662 */ // Label 2321: @108662
38427 /* 108662 */ GIM_Try, /*On fail goto*//*Label 2322*/ GIMT_Encode4(108741), // Rule ID 17103 //
38428 /* 108667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES_In64BitMode),
38429 /* 108670 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors64),
38430 /* 108675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38431 /* 108678 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38432 /* 108681 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
38433 /* 108685 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38434 /* 108689 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38435 /* 108693 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38436 /* 108700 */ // (intrinsic_void 16112:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS64 addr:{ *:[iPTR] }:$dst)
38437 /* 108700 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38438 /* 108704 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38439 /* 108710 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38440 /* 108714 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38441 /* 108718 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38442 /* 108724 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38443 /* 108728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS64),
38444 /* 108731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
38445 /* 108735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38446 /* 108739 */ GIR_RootConstrainSelectedInstOperands,
38447 /* 108740 */ // GIR_Coverage, 17103,
38448 /* 108740 */ GIR_EraseRootFromParent_Done,
38449 /* 108741 */ // Label 2322: @108741
38450 /* 108741 */ GIM_Try, /*On fail goto*//*Label 2323*/ GIMT_Encode4(108778), // Rule ID 17007 //
38451 /* 108746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38452 /* 108749 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbssd),
38453 /* 108754 */ // MIs[0] src1
38454 /* 108754 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38455 /* 108757 */ // MIs[0] src2
38456 /* 108757 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38457 /* 108760 */ // MIs[0] src3
38458 /* 108760 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38459 /* 108763 */ // (intrinsic_void 15972:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38460 /* 108763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSSD),
38461 /* 108766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38462 /* 108768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38463 /* 108770 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38464 /* 108772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38465 /* 108776 */ GIR_RootConstrainSelectedInstOperands,
38466 /* 108777 */ // GIR_Coverage, 17007,
38467 /* 108777 */ GIR_EraseRootFromParent_Done,
38468 /* 108778 */ // Label 2323: @108778
38469 /* 108778 */ GIM_Try, /*On fail goto*//*Label 2324*/ GIMT_Encode4(108815), // Rule ID 17008 //
38470 /* 108783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38471 /* 108786 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbsud),
38472 /* 108791 */ // MIs[0] src1
38473 /* 108791 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38474 /* 108794 */ // MIs[0] src2
38475 /* 108794 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38476 /* 108797 */ // MIs[0] src3
38477 /* 108797 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38478 /* 108800 */ // (intrinsic_void 15974:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38479 /* 108800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSUD),
38480 /* 108803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38481 /* 108805 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38482 /* 108807 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38483 /* 108809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38484 /* 108813 */ GIR_RootConstrainSelectedInstOperands,
38485 /* 108814 */ // GIR_Coverage, 17008,
38486 /* 108814 */ GIR_EraseRootFromParent_Done,
38487 /* 108815 */ // Label 2324: @108815
38488 /* 108815 */ GIM_Try, /*On fail goto*//*Label 2325*/ GIMT_Encode4(108852), // Rule ID 17009 //
38489 /* 108820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38490 /* 108823 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbusd),
38491 /* 108828 */ // MIs[0] src1
38492 /* 108828 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38493 /* 108831 */ // MIs[0] src2
38494 /* 108831 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38495 /* 108834 */ // MIs[0] src3
38496 /* 108834 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38497 /* 108837 */ // (intrinsic_void 15976:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38498 /* 108837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUSD),
38499 /* 108840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38500 /* 108842 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38501 /* 108844 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38502 /* 108846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38503 /* 108850 */ GIR_RootConstrainSelectedInstOperands,
38504 /* 108851 */ // GIR_Coverage, 17009,
38505 /* 108851 */ GIR_EraseRootFromParent_Done,
38506 /* 108852 */ // Label 2325: @108852
38507 /* 108852 */ GIM_Try, /*On fail goto*//*Label 2326*/ GIMT_Encode4(108889), // Rule ID 17010 //
38508 /* 108857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
38509 /* 108860 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbuud),
38510 /* 108865 */ // MIs[0] src1
38511 /* 108865 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38512 /* 108868 */ // MIs[0] src2
38513 /* 108868 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38514 /* 108871 */ // MIs[0] src3
38515 /* 108871 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38516 /* 108874 */ // (intrinsic_void 15978:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38517 /* 108874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUUD),
38518 /* 108877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38519 /* 108879 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38520 /* 108881 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38521 /* 108883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38522 /* 108887 */ GIR_RootConstrainSelectedInstOperands,
38523 /* 108888 */ // GIR_Coverage, 17010,
38524 /* 108888 */ GIR_EraseRootFromParent_Done,
38525 /* 108889 */ // Label 2326: @108889
38526 /* 108889 */ GIM_Try, /*On fail goto*//*Label 2327*/ GIMT_Encode4(108926), // Rule ID 17012 //
38527 /* 108894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXBF16_In64BitMode),
38528 /* 108897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf16ps),
38529 /* 108902 */ // MIs[0] src1
38530 /* 108902 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38531 /* 108905 */ // MIs[0] src2
38532 /* 108905 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38533 /* 108908 */ // MIs[0] src3
38534 /* 108908 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38535 /* 108911 */ // (intrinsic_void 15966:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38536 /* 108911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF16PS),
38537 /* 108914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38538 /* 108916 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38539 /* 108918 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38540 /* 108920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38541 /* 108924 */ GIR_RootConstrainSelectedInstOperands,
38542 /* 108925 */ // GIR_Coverage, 17012,
38543 /* 108925 */ GIR_EraseRootFromParent_Done,
38544 /* 108926 */ // Label 2327: @108926
38545 /* 108926 */ GIM_Try, /*On fail goto*//*Label 2328*/ GIMT_Encode4(108963), // Rule ID 17014 //
38546 /* 108931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP16_In64BitMode),
38547 /* 108934 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpfp16ps),
38548 /* 108939 */ // MIs[0] src1
38549 /* 108939 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38550 /* 108942 */ // MIs[0] src2
38551 /* 108942 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38552 /* 108945 */ // MIs[0] src3
38553 /* 108945 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38554 /* 108948 */ // (intrinsic_void 15980:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38555 /* 108948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPFP16PS),
38556 /* 108951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38557 /* 108953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38558 /* 108955 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38559 /* 108957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38560 /* 108961 */ GIR_RootConstrainSelectedInstOperands,
38561 /* 108962 */ // GIR_Coverage, 17014,
38562 /* 108962 */ GIR_EraseRootFromParent_Done,
38563 /* 108963 */ // Label 2328: @108963
38564 /* 108963 */ GIM_Try, /*On fail goto*//*Label 2329*/ GIMT_Encode4(109000), // Rule ID 17017 //
38565 /* 108968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
38566 /* 108971 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmimfp16ps),
38567 /* 108976 */ // MIs[0] src1
38568 /* 108976 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38569 /* 108979 */ // MIs[0] src2
38570 /* 108979 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38571 /* 108982 */ // MIs[0] src3
38572 /* 108982 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38573 /* 108985 */ // (intrinsic_void 15947:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38574 /* 108985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMIMFP16PS),
38575 /* 108988 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38576 /* 108990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38577 /* 108992 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38578 /* 108994 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38579 /* 108998 */ GIR_RootConstrainSelectedInstOperands,
38580 /* 108999 */ // GIR_Coverage, 17017,
38581 /* 108999 */ GIR_EraseRootFromParent_Done,
38582 /* 109000 */ // Label 2329: @109000
38583 /* 109000 */ GIM_Try, /*On fail goto*//*Label 2330*/ GIMT_Encode4(109037), // Rule ID 17018 //
38584 /* 109005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
38585 /* 109008 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmrlfp16ps),
38586 /* 109013 */ // MIs[0] src1
38587 /* 109013 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38588 /* 109016 */ // MIs[0] src2
38589 /* 109016 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38590 /* 109019 */ // MIs[0] src3
38591 /* 109019 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38592 /* 109022 */ // (intrinsic_void 15949:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMRLFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38593 /* 109022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMRLFP16PS),
38594 /* 109025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38595 /* 109027 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38596 /* 109029 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38597 /* 109031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38598 /* 109035 */ GIR_RootConstrainSelectedInstOperands,
38599 /* 109036 */ // GIR_Coverage, 17018,
38600 /* 109036 */ GIR_EraseRootFromParent_Done,
38601 /* 109037 */ // Label 2330: @109037
38602 /* 109037 */ GIM_Try, /*On fail goto*//*Label 2331*/ GIMT_Encode4(109074), // Rule ID 17019 //
38603 /* 109042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38604 /* 109045 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf8ps),
38605 /* 109050 */ // MIs[0] src1
38606 /* 109050 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38607 /* 109053 */ // MIs[0] src2
38608 /* 109053 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38609 /* 109056 */ // MIs[0] src3
38610 /* 109056 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38611 /* 109059 */ // (intrinsic_void 15968:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38612 /* 109059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF8PS),
38613 /* 109062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38614 /* 109064 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38615 /* 109066 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38616 /* 109068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38617 /* 109072 */ GIR_RootConstrainSelectedInstOperands,
38618 /* 109073 */ // GIR_Coverage, 17019,
38619 /* 109073 */ GIR_EraseRootFromParent_Done,
38620 /* 109074 */ // Label 2331: @109074
38621 /* 109074 */ GIM_Try, /*On fail goto*//*Label 2332*/ GIMT_Encode4(109111), // Rule ID 17020 //
38622 /* 109079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38623 /* 109082 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbhf8ps),
38624 /* 109087 */ // MIs[0] src1
38625 /* 109087 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38626 /* 109090 */ // MIs[0] src2
38627 /* 109090 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38628 /* 109093 */ // MIs[0] src3
38629 /* 109093 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38630 /* 109096 */ // (intrinsic_void 15970:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38631 /* 109096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBHF8PS),
38632 /* 109099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38633 /* 109101 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38634 /* 109103 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38635 /* 109105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38636 /* 109109 */ GIR_RootConstrainSelectedInstOperands,
38637 /* 109110 */ // GIR_Coverage, 17020,
38638 /* 109110 */ GIR_EraseRootFromParent_Done,
38639 /* 109111 */ // Label 2332: @109111
38640 /* 109111 */ GIM_Try, /*On fail goto*//*Label 2333*/ GIMT_Encode4(109148), // Rule ID 17021 //
38641 /* 109116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38642 /* 109119 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphbf8ps),
38643 /* 109124 */ // MIs[0] src1
38644 /* 109124 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38645 /* 109127 */ // MIs[0] src2
38646 /* 109127 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38647 /* 109130 */ // MIs[0] src3
38648 /* 109130 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38649 /* 109133 */ // (intrinsic_void 15982:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38650 /* 109133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHBF8PS),
38651 /* 109136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38652 /* 109138 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38653 /* 109140 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38654 /* 109142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38655 /* 109146 */ GIR_RootConstrainSelectedInstOperands,
38656 /* 109147 */ // GIR_Coverage, 17021,
38657 /* 109147 */ GIR_EraseRootFromParent_Done,
38658 /* 109148 */ // Label 2333: @109148
38659 /* 109148 */ GIM_Try, /*On fail goto*//*Label 2334*/ GIMT_Encode4(109185), // Rule ID 17022 //
38660 /* 109153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
38661 /* 109156 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphf8ps),
38662 /* 109161 */ // MIs[0] src1
38663 /* 109161 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38664 /* 109164 */ // MIs[0] src2
38665 /* 109164 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38666 /* 109167 */ // MIs[0] src3
38667 /* 109167 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38668 /* 109170 */ // (intrinsic_void 15984:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38669 /* 109170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHF8PS),
38670 /* 109173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38671 /* 109175 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38672 /* 109177 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38673 /* 109179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38674 /* 109183 */ GIR_RootConstrainSelectedInstOperands,
38675 /* 109184 */ // GIR_Coverage, 17022,
38676 /* 109184 */ GIR_EraseRootFromParent_Done,
38677 /* 109185 */ // Label 2334: @109185
38678 /* 109185 */ GIM_Try, /*On fail goto*//*Label 2335*/ GIMT_Encode4(109222), // Rule ID 17044 //
38679 /* 109190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTF32_In64BitMode),
38680 /* 109193 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tmmultf32ps),
38681 /* 109198 */ // MIs[0] src1
38682 /* 109198 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
38683 /* 109201 */ // MIs[0] src2
38684 /* 109201 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38685 /* 109204 */ // MIs[0] src3
38686 /* 109204 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38687 /* 109207 */ // (intrinsic_void 16003:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTMMULTF32PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
38688 /* 109207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTMMULTF32PS),
38689 /* 109210 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
38690 /* 109212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
38691 /* 109214 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
38692 /* 109216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38693 /* 109220 */ GIR_RootConstrainSelectedInstOperands,
38694 /* 109221 */ // GIR_Coverage, 17044,
38695 /* 109221 */ GIR_EraseRootFromParent_Done,
38696 /* 109222 */ // Label 2335: @109222
38697 /* 109222 */ GIM_Try, /*On fail goto*//*Label 2336*/ GIMT_Encode4(109263), // Rule ID 17027 //
38698 /* 109227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38699 /* 109230 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2psi),
38700 /* 109235 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38701 /* 109238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38702 /* 109242 */ // MIs[0] src1
38703 /* 109242 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38704 /* 109245 */ // MIs[0] src2
38705 /* 109245 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38706 /* 109248 */ // (intrinsic_w_chain:{ *:[v16f32] } 15953:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWD2PSrri:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
38707 /* 109248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrri),
38708 /* 109251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38709 /* 109253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38710 /* 109255 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38711 /* 109257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38712 /* 109261 */ GIR_RootConstrainSelectedInstOperands,
38713 /* 109262 */ // GIR_Coverage, 17027,
38714 /* 109262 */ GIR_EraseRootFromParent_Done,
38715 /* 109263 */ // Label 2336: @109263
38716 /* 109263 */ GIM_Try, /*On fail goto*//*Label 2337*/ GIMT_Encode4(109304), // Rule ID 17036 //
38717 /* 109268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38718 /* 109271 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phhi),
38719 /* 109276 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38720 /* 109279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38721 /* 109283 */ // MIs[0] src1
38722 /* 109283 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38723 /* 109286 */ // MIs[0] src2
38724 /* 109286 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38725 /* 109289 */ // (intrinsic_w_chain:{ *:[v32f16] } 15962:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHHrri:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
38726 /* 109289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrri),
38727 /* 109292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38728 /* 109294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38729 /* 109296 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38730 /* 109298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38731 /* 109302 */ GIR_RootConstrainSelectedInstOperands,
38732 /* 109303 */ // GIR_Coverage, 17036,
38733 /* 109303 */ GIR_EraseRootFromParent_Done,
38734 /* 109304 */ // Label 2337: @109304
38735 /* 109304 */ GIM_Try, /*On fail goto*//*Label 2338*/ GIMT_Encode4(109345), // Rule ID 17038 //
38736 /* 109309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38737 /* 109312 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phli),
38738 /* 109317 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38739 /* 109320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38740 /* 109324 */ // MIs[0] src1
38741 /* 109324 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38742 /* 109327 */ // MIs[0] src2
38743 /* 109327 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38744 /* 109330 */ // (intrinsic_w_chain:{ *:[v32f16] } 15965:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHLrri:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
38745 /* 109330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrri),
38746 /* 109333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38747 /* 109335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38748 /* 109337 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38749 /* 109339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38750 /* 109343 */ GIR_RootConstrainSelectedInstOperands,
38751 /* 109344 */ // GIR_Coverage, 17038,
38752 /* 109344 */ GIR_EraseRootFromParent_Done,
38753 /* 109345 */ // Label 2338: @109345
38754 /* 109345 */ GIM_Try, /*On fail goto*//*Label 2339*/ GIMT_Encode4(109386), // Rule ID 17039 //
38755 /* 109350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38756 /* 109353 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrowi),
38757 /* 109358 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38758 /* 109361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38759 /* 109365 */ // MIs[0] src1
38760 /* 109365 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38761 /* 109368 */ // MIs[0] src2
38762 /* 109368 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38763 /* 109371 */ // (intrinsic_w_chain:{ *:[v16i32] } 15997:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTILEMOVROWrri:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
38764 /* 109371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrri),
38765 /* 109374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38766 /* 109376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38767 /* 109378 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38768 /* 109380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38769 /* 109384 */ GIR_RootConstrainSelectedInstOperands,
38770 /* 109385 */ // GIR_Coverage, 17039,
38771 /* 109385 */ GIR_EraseRootFromParent_Done,
38772 /* 109386 */ // Label 2339: @109386
38773 /* 109386 */ GIM_Try, /*On fail goto*//*Label 2340*/ GIMT_Encode4(109431), // Rule ID 17028 //
38774 /* 109391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38775 /* 109394 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2ps),
38776 /* 109399 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38777 /* 109402 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38778 /* 109405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38779 /* 109409 */ // MIs[0] src1
38780 /* 109409 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38781 /* 109412 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38782 /* 109416 */ // (intrinsic_w_chain:{ *:[v16f32] } 15951:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWD2PSrre:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38783 /* 109416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrre),
38784 /* 109419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38785 /* 109421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38786 /* 109423 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38787 /* 109425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38788 /* 109429 */ GIR_RootConstrainSelectedInstOperands,
38789 /* 109430 */ // GIR_Coverage, 17028,
38790 /* 109430 */ GIR_EraseRootFromParent_Done,
38791 /* 109431 */ // Label 2340: @109431
38792 /* 109431 */ GIM_Try, /*On fail goto*//*Label 2341*/ GIMT_Encode4(109476), // Rule ID 17035 //
38793 /* 109436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38794 /* 109439 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phh),
38795 /* 109444 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38796 /* 109447 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38797 /* 109450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38798 /* 109454 */ // MIs[0] src1
38799 /* 109454 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38800 /* 109457 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38801 /* 109461 */ // (intrinsic_w_chain:{ *:[v32f16] } 15960:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHHrre:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38802 /* 109461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrre),
38803 /* 109464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38804 /* 109466 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38805 /* 109468 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38806 /* 109470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38807 /* 109474 */ GIR_RootConstrainSelectedInstOperands,
38808 /* 109475 */ // GIR_Coverage, 17035,
38809 /* 109475 */ GIR_EraseRootFromParent_Done,
38810 /* 109476 */ // Label 2341: @109476
38811 /* 109476 */ GIM_Try, /*On fail goto*//*Label 2342*/ GIMT_Encode4(109521), // Rule ID 17037 //
38812 /* 109481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38813 /* 109484 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phl),
38814 /* 109489 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38815 /* 109492 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38816 /* 109495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38817 /* 109499 */ // MIs[0] src1
38818 /* 109499 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38819 /* 109502 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38820 /* 109506 */ // (intrinsic_w_chain:{ *:[v32f16] } 15963:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHLrre:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38821 /* 109506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrre),
38822 /* 109509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38823 /* 109511 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38824 /* 109513 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38825 /* 109515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38826 /* 109519 */ GIR_RootConstrainSelectedInstOperands,
38827 /* 109520 */ // GIR_Coverage, 17037,
38828 /* 109520 */ GIR_EraseRootFromParent_Done,
38829 /* 109521 */ // Label 2342: @109521
38830 /* 109521 */ GIM_Try, /*On fail goto*//*Label 2343*/ GIMT_Encode4(109566), // Rule ID 17040 //
38831 /* 109526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38832 /* 109529 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrow),
38833 /* 109534 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38834 /* 109537 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38835 /* 109540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38836 /* 109544 */ // MIs[0] src1
38837 /* 109544 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38838 /* 109547 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38839 /* 109551 */ // (intrinsic_w_chain:{ *:[v16i32] } 15995:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTILEMOVROWrre:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38840 /* 109551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrre),
38841 /* 109554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38842 /* 109556 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38843 /* 109558 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38844 /* 109560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38845 /* 109564 */ GIR_RootConstrainSelectedInstOperands,
38846 /* 109565 */ // GIR_Coverage, 17040,
38847 /* 109565 */ GIR_EraseRootFromParent_Done,
38848 /* 109566 */ // Label 2343: @109566
38849 /* 109566 */ GIM_Try, /*On fail goto*//*Label 2344*/ GIMT_Encode4(109611), // Rule ID 122 //
38850 /* 109571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
38851 /* 109574 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
38852 /* 109579 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38853 /* 109582 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38854 /* 109585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38855 /* 109589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38856 /* 109593 */ // MIs[0] cntl
38857 /* 109593 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38858 /* 109596 */ // (intrinsic_void 15651:{ *:[iPTR] }, GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL32rri GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
38859 /* 109596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rri),
38860 /* 109599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
38861 /* 109601 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38862 /* 109603 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
38863 /* 109605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38864 /* 109609 */ GIR_RootConstrainSelectedInstOperands,
38865 /* 109610 */ // GIR_Coverage, 122,
38866 /* 109610 */ GIR_EraseRootFromParent_Done,
38867 /* 109611 */ // Label 2344: @109611
38868 /* 109611 */ GIM_Try, /*On fail goto*//*Label 2345*/ GIMT_Encode4(109656), // Rule ID 124 //
38869 /* 109616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
38870 /* 109619 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
38871 /* 109624 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
38872 /* 109627 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38873 /* 109630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38874 /* 109634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38875 /* 109638 */ // MIs[0] cntl
38876 /* 109638 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38877 /* 109641 */ // (intrinsic_void 15652:{ *:[iPTR] }, GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL64rri GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
38878 /* 109641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rri),
38879 /* 109644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
38880 /* 109646 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38881 /* 109648 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
38882 /* 109650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38883 /* 109654 */ GIR_RootConstrainSelectedInstOperands,
38884 /* 109655 */ // GIR_Coverage, 124,
38885 /* 109655 */ GIR_EraseRootFromParent_Done,
38886 /* 109656 */ // Label 2345: @109656
38887 /* 109656 */ GIM_Try, /*On fail goto*//*Label 2346*/ GIMT_Encode4(109738), // Rule ID 17091 //
38888 /* 109661 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsetbv),
38889 /* 109666 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38890 /* 109669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38891 /* 109672 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38892 /* 109675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
38893 /* 109679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38894 /* 109683 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38895 /* 109687 */ // (intrinsic_void 16121:{ *:[iPTR] }, ECX:{ *:[i32] }, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSETBV)
38896 /* 109687 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38897 /* 109691 */ GIR_AddRegister, /*InsnID*/3, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38898 /* 109697 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38899 /* 109701 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38900 /* 109705 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38901 /* 109711 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38902 /* 109715 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38903 /* 109719 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38904 /* 109725 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
38905 /* 109729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSETBV),
38906 /* 109732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38907 /* 109736 */ GIR_RootConstrainSelectedInstOperands,
38908 /* 109737 */ // GIR_Coverage, 17091,
38909 /* 109737 */ GIR_EraseRootFromParent_Done,
38910 /* 109738 */ // Label 2346: @109738
38911 /* 109738 */ GIM_Try, /*On fail goto*//*Label 2347*/ GIMT_Encode4(109787), // Rule ID 17280 //
38912 /* 109743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMWAITX),
38913 /* 109746 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mwaitx),
38914 /* 109751 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38915 /* 109754 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38916 /* 109757 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38917 /* 109760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38918 /* 109764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38919 /* 109768 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38920 /* 109772 */ // (intrinsic_void 15729:{ *:[iPTR] }, GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx) => (MWAITX GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx)
38921 /* 109772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITX),
38922 /* 109775 */ GIR_RootToRootCopy, /*OpIdx*/1, // ecx
38923 /* 109777 */ GIR_RootToRootCopy, /*OpIdx*/2, // eax
38924 /* 109779 */ GIR_RootToRootCopy, /*OpIdx*/3, // ebx
38925 /* 109781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38926 /* 109785 */ GIR_RootConstrainSelectedInstOperands,
38927 /* 109786 */ // GIR_Coverage, 17280,
38928 /* 109786 */ GIR_EraseRootFromParent_Done,
38929 /* 109787 */ // Label 2347: @109787
38930 /* 109787 */ GIM_Try, /*On fail goto*//*Label 2348*/ GIMT_Encode4(109849), // Rule ID 2902 //
38931 /* 109792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_In64BitMode),
38932 /* 109795 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38933 /* 109800 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38934 /* 109803 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38935 /* 109806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38936 /* 109810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38937 /* 109814 */ // MIs[0] Operand 3
38938 /* 109814 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
38939 /* 109818 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
38940 /* 109822 */ // (intrinsic_void 15827:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (VMASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38941 /* 109822 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38942 /* 109826 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38943 /* 109832 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
38944 /* 109836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU64),
38945 /* 109839 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38946 /* 109841 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38947 /* 109843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38948 /* 109847 */ GIR_RootConstrainSelectedInstOperands,
38949 /* 109848 */ // GIR_Coverage, 2902,
38950 /* 109848 */ GIR_EraseRootFromParent_Done,
38951 /* 109849 */ // Label 2348: @109849
38952 /* 109849 */ GIM_Try, /*On fail goto*//*Label 2349*/ GIMT_Encode4(109911), // Rule ID 2903 //
38953 /* 109854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
38954 /* 109857 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38955 /* 109862 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38956 /* 109865 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38957 /* 109868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38958 /* 109872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38959 /* 109876 */ // MIs[0] Operand 3
38960 /* 109876 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
38961 /* 109880 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
38962 /* 109884 */ // (intrinsic_void 15827:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (VMASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38963 /* 109884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38964 /* 109888 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38965 /* 109894 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
38966 /* 109898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU),
38967 /* 109901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38968 /* 109903 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38969 /* 109905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38970 /* 109909 */ GIR_RootConstrainSelectedInstOperands,
38971 /* 109910 */ // GIR_Coverage, 2903,
38972 /* 109910 */ GIR_EraseRootFromParent_Done,
38973 /* 109911 */ // Label 2349: @109911
38974 /* 109911 */ GIM_Try, /*On fail goto*//*Label 2350*/ GIMT_Encode4(109973), // Rule ID 2904 //
38975 /* 109916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseSSE2),
38976 /* 109919 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38977 /* 109924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38978 /* 109927 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38979 /* 109930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38980 /* 109934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38981 /* 109938 */ // MIs[0] Operand 3
38982 /* 109938 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
38983 /* 109942 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
38984 /* 109946 */ // (intrinsic_void 15827:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (MASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38985 /* 109946 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38986 /* 109950 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38987 /* 109956 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
38988 /* 109960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU64),
38989 /* 109963 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38990 /* 109965 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38991 /* 109967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38992 /* 109971 */ GIR_RootConstrainSelectedInstOperands,
38993 /* 109972 */ // GIR_Coverage, 2904,
38994 /* 109972 */ GIR_EraseRootFromParent_Done,
38995 /* 109973 */ // Label 2350: @109973
38996 /* 109973 */ GIM_Try, /*On fail goto*//*Label 2351*/ GIMT_Encode4(110035), // Rule ID 2905 //
38997 /* 109978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
38998 /* 109981 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38999 /* 109986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39000 /* 109989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
39001 /* 109992 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39002 /* 109996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39003 /* 110000 */ // MIs[0] Operand 3
39004 /* 110000 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
39005 /* 110004 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
39006 /* 110008 */ // (intrinsic_void 15827:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (MASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
39007 /* 110008 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39008 /* 110012 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39009 /* 110018 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
39010 /* 110022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU),
39011 /* 110025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
39012 /* 110027 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
39013 /* 110029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
39014 /* 110033 */ GIR_RootConstrainSelectedInstOperands,
39015 /* 110034 */ // GIR_Coverage, 2905,
39016 /* 110034 */ GIR_EraseRootFromParent_Done,
39017 /* 110035 */ // Label 2351: @110035
39018 /* 110035 */ GIM_Reject,
39019 /* 110036 */ // Label 2292: @110036
39020 /* 110036 */ GIM_Try, /*On fail goto*//*Label 2352*/ GIMT_Encode4(110124), // Rule ID 16991 //
39021 /* 110041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasKL),
39022 /* 110044 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
39023 /* 110047 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_loadiwkey),
39024 /* 110052 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
39025 /* 110055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
39026 /* 110058 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
39027 /* 110061 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
39028 /* 110064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39029 /* 110068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39030 /* 110072 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39031 /* 110076 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
39032 /* 110080 */ // (intrinsic_void 15648:{ *:[iPTR] }, XMM0:{ *:[v2i64] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, EAX:{ *:[i32] }) => (LOADIWKEY:{ *:[i32] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
39033 /* 110080 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39034 /* 110084 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39035 /* 110090 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/4, // EAX
39036 /* 110094 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39037 /* 110098 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39038 /* 110104 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // XMM0
39039 /* 110108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LOADIWKEY),
39040 /* 110111 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
39041 /* 110113 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
39042 /* 110115 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39043 /* 110118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
39044 /* 110122 */ GIR_RootConstrainSelectedInstOperands,
39045 /* 110123 */ // GIR_Coverage, 16991,
39046 /* 110123 */ GIR_EraseRootFromParent_Done,
39047 /* 110124 */ // Label 2352: @110124
39048 /* 110124 */ GIM_Reject,
39049 /* 110125 */ // Label 20: @110125
39050 /* 110125 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 2356*/ GIMT_Encode4(110559),
39051 /* 110136 */ /*GILLT_s16*//*Label 2353*/ GIMT_Encode4(110148),
39052 /* 110140 */ /*GILLT_s32*//*Label 2354*/ GIMT_Encode4(110206),
39053 /* 110144 */ /*GILLT_s64*//*Label 2355*/ GIMT_Encode4(110381),
39054 /* 110148 */ // Label 2353: @110148
39055 /* 110148 */ GIM_Try, /*On fail goto*//*Label 2357*/ GIMT_Encode4(110205), // Rule ID 22623 //
39056 /* 110153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39057 /* 110156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39058 /* 110160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39059 /* 110164 */ // (anyext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
39060 /* 110164 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39061 /* 110167 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39062 /* 110171 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39063 /* 110176 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39064 /* 110180 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39065 /* 110182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39066 /* 110185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39067 /* 110187 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39068 /* 110194 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39069 /* 110199 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39070 /* 110204 */ // GIR_Coverage, 22623,
39071 /* 110204 */ GIR_EraseRootFromParent_Done,
39072 /* 110205 */ // Label 2357: @110205
39073 /* 110205 */ GIM_Reject,
39074 /* 110206 */ // Label 2354: @110206
39075 /* 110206 */ GIM_Try, /*On fail goto*//*Label 2358*/ GIMT_Encode4(110252), // Rule ID 19434 //
39076 /* 110211 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39077 /* 110214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39078 /* 110218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39079 /* 110222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39080 /* 110226 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39081 /* 110230 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39082 /* 110235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39083 /* 110237 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] })
39084 /* 110237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39085 /* 110240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39086 /* 110242 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39087 /* 110246 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
39088 /* 110251 */ // GIR_Coverage, 19434,
39089 /* 110251 */ GIR_EraseRootFromParent_Done,
39090 /* 110252 */ // Label 2358: @110252
39091 /* 110252 */ GIM_Try, /*On fail goto*//*Label 2359*/ GIMT_Encode4(110298), // Rule ID 19437 //
39092 /* 110257 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39093 /* 110260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39094 /* 110264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39095 /* 110268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39096 /* 110272 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
39097 /* 110276 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39098 /* 110281 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39099 /* 110283 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] })
39100 /* 110283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39101 /* 110286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39102 /* 110288 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
39103 /* 110292 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
39104 /* 110297 */ // GIR_Coverage, 19437,
39105 /* 110297 */ GIR_EraseRootFromParent_Done,
39106 /* 110298 */ // Label 2359: @110298
39107 /* 110298 */ GIM_Try, /*On fail goto*//*Label 2360*/ GIMT_Encode4(110321), // Rule ID 22624 //
39108 /* 110303 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39109 /* 110306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39110 /* 110310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39111 /* 110314 */ // (anyext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39112 /* 110314 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39113 /* 110319 */ GIR_RootConstrainSelectedInstOperands,
39114 /* 110320 */ // GIR_Coverage, 22624,
39115 /* 110320 */ GIR_Done,
39116 /* 110321 */ // Label 2360: @110321
39117 /* 110321 */ GIM_Try, /*On fail goto*//*Label 2361*/ GIMT_Encode4(110380), // Rule ID 22625 //
39118 /* 110326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39119 /* 110329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39120 /* 110333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39121 /* 110337 */ // (anyext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] })
39122 /* 110337 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39123 /* 110340 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39124 /* 110344 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39125 /* 110349 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39126 /* 110351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39127 /* 110354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39128 /* 110356 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39129 /* 110359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
39130 /* 110361 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
39131 /* 110364 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39132 /* 110369 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39133 /* 110374 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
39134 /* 110379 */ // GIR_Coverage, 22625,
39135 /* 110379 */ GIR_EraseRootFromParent_Done,
39136 /* 110380 */ // Label 2361: @110380
39137 /* 110380 */ GIM_Reject,
39138 /* 110381 */ // Label 2355: @110381
39139 /* 110381 */ GIM_Try, /*On fail goto*//*Label 2362*/ GIMT_Encode4(110440), // Rule ID 22626 //
39140 /* 110386 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39141 /* 110389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39142 /* 110393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39143 /* 110397 */ // (anyext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
39144 /* 110397 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39145 /* 110400 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39146 /* 110404 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39147 /* 110409 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39148 /* 110413 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39149 /* 110415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39150 /* 110418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39151 /* 110420 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
39152 /* 110423 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39153 /* 110426 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39154 /* 110429 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39155 /* 110434 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39156 /* 110439 */ // GIR_Coverage, 22626,
39157 /* 110439 */ GIR_EraseRootFromParent_Done,
39158 /* 110440 */ // Label 2362: @110440
39159 /* 110440 */ GIM_Try, /*On fail goto*//*Label 2363*/ GIMT_Encode4(110499), // Rule ID 22627 //
39160 /* 110445 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39161 /* 110448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39162 /* 110452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39163 /* 110456 */ // (anyext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
39164 /* 110456 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39165 /* 110459 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
39166 /* 110463 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39167 /* 110468 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39168 /* 110472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39169 /* 110474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39170 /* 110477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39171 /* 110479 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
39172 /* 110482 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39173 /* 110485 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39174 /* 110488 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39175 /* 110493 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39176 /* 110498 */ // GIR_Coverage, 22627,
39177 /* 110498 */ GIR_EraseRootFromParent_Done,
39178 /* 110499 */ // Label 2363: @110499
39179 /* 110499 */ GIM_Try, /*On fail goto*//*Label 2364*/ GIMT_Encode4(110558), // Rule ID 22628 //
39180 /* 110504 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39181 /* 110507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39182 /* 110511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39183 /* 110515 */ // (anyext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR32:{ *:[i32] }:$src, sub_32bit:{ *:[i32] })
39184 /* 110515 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39185 /* 110518 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39186 /* 110522 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39187 /* 110527 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39188 /* 110529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39189 /* 110532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39190 /* 110534 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39191 /* 110537 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
39192 /* 110539 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39193 /* 110542 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39194 /* 110547 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64RegClassID),
39195 /* 110552 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39196 /* 110557 */ // GIR_Coverage, 22628,
39197 /* 110557 */ GIR_EraseRootFromParent_Done,
39198 /* 110558 */ // Label 2364: @110558
39199 /* 110558 */ GIM_Reject,
39200 /* 110559 */ // Label 2356: @110559
39201 /* 110559 */ GIM_Reject,
39202 /* 110560 */ // Label 21: @110560
39203 /* 110560 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(22), /*)*//*default:*//*Label 2373*/ GIMT_Encode4(111648),
39204 /* 110571 */ /*GILLT_s8*//*Label 2365*/ GIMT_Encode4(110655),
39205 /* 110575 */ /*GILLT_s16*//*Label 2366*/ GIMT_Encode4(110939), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39206 /* 110607 */ /*GILLT_v4s32*//*Label 2367*/ GIMT_Encode4(110978), GIMT_Encode4(0), GIMT_Encode4(0),
39207 /* 110619 */ /*GILLT_v8s16*//*Label 2368*/ GIMT_Encode4(111118),
39208 /* 110623 */ /*GILLT_v8s32*//*Label 2369*/ GIMT_Encode4(111281), GIMT_Encode4(0), GIMT_Encode4(0),
39209 /* 110635 */ /*GILLT_v16s8*//*Label 2370*/ GIMT_Encode4(111308),
39210 /* 110639 */ /*GILLT_v16s16*//*Label 2371*/ GIMT_Encode4(111594), GIMT_Encode4(0), GIMT_Encode4(0),
39211 /* 110651 */ /*GILLT_v32s8*//*Label 2372*/ GIMT_Encode4(111621),
39212 /* 110655 */ // Label 2365: @110655
39213 /* 110655 */ GIM_Try, /*On fail goto*//*Label 2374*/ GIMT_Encode4(110730), // Rule ID 19429 //
39214 /* 110660 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39215 /* 110663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39216 /* 110667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39217 /* 110671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
39218 /* 110675 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
39219 /* 110679 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39220 /* 110684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39221 /* 110686 */ // (trunc:{ *:[i8] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
39222 /* 110686 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39223 /* 110689 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39224 /* 110693 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39225 /* 110698 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
39226 /* 110702 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
39227 /* 110707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39228 /* 110710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39229 /* 110712 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39230 /* 110719 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39231 /* 110724 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39232 /* 110729 */ // GIR_Coverage, 19429,
39233 /* 110729 */ GIR_EraseRootFromParent_Done,
39234 /* 110730 */ // Label 2374: @110730
39235 /* 110730 */ GIM_Try, /*On fail goto*//*Label 2375*/ GIMT_Encode4(110793), // Rule ID 22685 //
39236 /* 110735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
39237 /* 110738 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39238 /* 110741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39239 /* 110745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39240 /* 110749 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } GR32:{ *:[i32] }:$src, GR32_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
39241 /* 110749 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39242 /* 110752 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39243 /* 110756 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39244 /* 110761 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39245 /* 110765 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32_ABCDRegClassID),
39246 /* 110770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39247 /* 110773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39248 /* 110775 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39249 /* 110782 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39250 /* 110787 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32_ABCDRegClassID),
39251 /* 110792 */ // GIR_Coverage, 22685,
39252 /* 110792 */ GIR_EraseRootFromParent_Done,
39253 /* 110793 */ // Label 2375: @110793
39254 /* 110793 */ GIM_Try, /*On fail goto*//*Label 2376*/ GIMT_Encode4(110856), // Rule ID 22686 //
39255 /* 110798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
39256 /* 110801 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39257 /* 110804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39258 /* 110808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39259 /* 110812 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i16] } GR16:{ *:[i16] }:$src, GR16_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
39260 /* 110812 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39261 /* 110815 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39262 /* 110819 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39263 /* 110824 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39264 /* 110828 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16_ABCDRegClassID),
39265 /* 110833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39266 /* 110836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39267 /* 110838 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39268 /* 110845 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
39269 /* 110850 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16_ABCDRegClassID),
39270 /* 110855 */ // GIR_Coverage, 22686,
39271 /* 110855 */ GIR_EraseRootFromParent_Done,
39272 /* 110856 */ // Label 2376: @110856
39273 /* 110856 */ GIM_Try, /*On fail goto*//*Label 2377*/ GIMT_Encode4(110897), // Rule ID 22690 //
39274 /* 110861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
39275 /* 110864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39276 /* 110867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39277 /* 110871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39278 /* 110875 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] })
39279 /* 110875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39280 /* 110878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39281 /* 110880 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39282 /* 110886 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39283 /* 110891 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39284 /* 110896 */ // GIR_Coverage, 22690,
39285 /* 110896 */ GIR_EraseRootFromParent_Done,
39286 /* 110897 */ // Label 2377: @110897
39287 /* 110897 */ GIM_Try, /*On fail goto*//*Label 2378*/ GIMT_Encode4(110938), // Rule ID 22691 //
39288 /* 110902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
39289 /* 110905 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39290 /* 110908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39291 /* 110912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39292 /* 110916 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit:{ *:[i32] })
39293 /* 110916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39294 /* 110919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39295 /* 110921 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39296 /* 110927 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39297 /* 110932 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39298 /* 110937 */ // GIR_Coverage, 22691,
39299 /* 110937 */ GIR_EraseRootFromParent_Done,
39300 /* 110938 */ // Label 2378: @110938
39301 /* 110938 */ GIM_Reject,
39302 /* 110939 */ // Label 2366: @110939
39303 /* 110939 */ GIM_Try, /*On fail goto*//*Label 2379*/ GIMT_Encode4(110977), // Rule ID 22684 //
39304 /* 110944 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39305 /* 110947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39306 /* 110951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39307 /* 110955 */ // (trunc:{ *:[i16] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] })
39308 /* 110955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39309 /* 110958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39310 /* 110960 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
39311 /* 110966 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39312 /* 110971 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39313 /* 110976 */ // GIR_Coverage, 22684,
39314 /* 110976 */ GIR_EraseRootFromParent_Done,
39315 /* 110977 */ // Label 2379: @110977
39316 /* 110977 */ GIM_Reject,
39317 /* 110978 */ // Label 2367: @110978
39318 /* 110978 */ GIM_Try, /*On fail goto*//*Label 2380*/ GIMT_Encode4(111117),
39319 /* 110983 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
39320 /* 110986 */ GIM_Try, /*On fail goto*//*Label 2381*/ GIMT_Encode4(111009), // Rule ID 12265 //
39321 /* 110991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39322 /* 110994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39323 /* 110998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39324 /* 111002 */ // (trunc:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src) => (VPMOVQDZ256rr:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src)
39325 /* 111002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZ256rr),
39326 /* 111007 */ GIR_RootConstrainSelectedInstOperands,
39327 /* 111008 */ // GIR_Coverage, 12265,
39328 /* 111008 */ GIR_Done,
39329 /* 111009 */ // Label 2381: @111009
39330 /* 111009 */ GIM_Try, /*On fail goto*//*Label 2382*/ GIMT_Encode4(111116), // Rule ID 21565 //
39331 /* 111014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
39332 /* 111017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
39333 /* 111021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39334 /* 111025 */ // (trunc:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPMOVQDZrr:{ *:[v8i32] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src, sub_ymm:{ *:[i32] })), sub_xmm:{ *:[i32] })
39335 /* 111025 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
39336 /* 111028 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39337 /* 111032 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39338 /* 111037 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
39339 /* 111039 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
39340 /* 111042 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39341 /* 111046 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39342 /* 111051 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
39343 /* 111054 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
39344 /* 111058 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
39345 /* 111061 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
39346 /* 111066 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
39347 /* 111071 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
39348 /* 111076 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
39349 /* 111079 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
39350 /* 111083 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39351 /* 111088 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39352 /* 111091 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39353 /* 111093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39354 /* 111096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39355 /* 111098 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
39356 /* 111105 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
39357 /* 111110 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
39358 /* 111115 */ // GIR_Coverage, 21565,
39359 /* 111115 */ GIR_EraseRootFromParent_Done,
39360 /* 111116 */ // Label 2382: @111116
39361 /* 111116 */ GIM_Reject,
39362 /* 111117 */ // Label 2380: @111117
39363 /* 111117 */ GIM_Reject,
39364 /* 111118 */ // Label 2368: @111118
39365 /* 111118 */ GIM_Try, /*On fail goto*//*Label 2383*/ GIMT_Encode4(111144), // Rule ID 12241 //
39366 /* 111123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39367 /* 111126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
39368 /* 111129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39369 /* 111133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39370 /* 111137 */ // (trunc:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src) => (VPMOVQWZrr:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src)
39371 /* 111137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQWZrr),
39372 /* 111142 */ GIR_RootConstrainSelectedInstOperands,
39373 /* 111143 */ // GIR_Coverage, 12241,
39374 /* 111143 */ GIR_Done,
39375 /* 111144 */ // Label 2383: @111144
39376 /* 111144 */ GIM_Try, /*On fail goto*//*Label 2384*/ GIMT_Encode4(111170), // Rule ID 12319 //
39377 /* 111149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39378 /* 111152 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39379 /* 111155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39380 /* 111159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39381 /* 111163 */ // (trunc:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src)
39382 /* 111163 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
39383 /* 111168 */ GIR_RootConstrainSelectedInstOperands,
39384 /* 111169 */ // GIR_Coverage, 12319,
39385 /* 111169 */ GIR_Done,
39386 /* 111170 */ // Label 2384: @111170
39387 /* 111170 */ GIM_Try, /*On fail goto*//*Label 2385*/ GIMT_Encode4(111280), // Rule ID 21564 //
39388 /* 111175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
39389 /* 111178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39390 /* 111181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
39391 /* 111185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39392 /* 111189 */ // (trunc:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src) => (EXTRACT_SUBREG:{ *:[v8i16] } (VPMOVDWZrr:{ *:[v16i16] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src, sub_ymm:{ *:[i32] })), sub_xmm:{ *:[i32] })
39393 /* 111189 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
39394 /* 111192 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39395 /* 111196 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39396 /* 111201 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
39397 /* 111203 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
39398 /* 111206 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39399 /* 111210 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39400 /* 111215 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
39401 /* 111218 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
39402 /* 111222 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
39403 /* 111225 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
39404 /* 111230 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
39405 /* 111235 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
39406 /* 111240 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
39407 /* 111243 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
39408 /* 111247 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39409 /* 111252 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39410 /* 111255 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39411 /* 111257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39412 /* 111260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39413 /* 111262 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
39414 /* 111269 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
39415 /* 111274 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
39416 /* 111279 */ // GIR_Coverage, 21564,
39417 /* 111279 */ GIR_EraseRootFromParent_Done,
39418 /* 111280 */ // Label 2385: @111280
39419 /* 111280 */ GIM_Reject,
39420 /* 111281 */ // Label 2369: @111281
39421 /* 111281 */ GIM_Try, /*On fail goto*//*Label 2386*/ GIMT_Encode4(111307), // Rule ID 12268 //
39422 /* 111286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39423 /* 111289 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
39424 /* 111292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39425 /* 111296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39426 /* 111300 */ // (trunc:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src) => (VPMOVQDZrr:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src)
39427 /* 111300 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
39428 /* 111305 */ GIR_RootConstrainSelectedInstOperands,
39429 /* 111306 */ // GIR_Coverage, 12268,
39430 /* 111306 */ GIR_Done,
39431 /* 111307 */ // Label 2386: @111307
39432 /* 111307 */ GIM_Reject,
39433 /* 111308 */ // Label 2370: @111308
39434 /* 111308 */ GIM_Try, /*On fail goto*//*Label 2387*/ GIMT_Encode4(111384), // Rule ID 21658 //
39435 /* 111313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
39436 /* 111316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39437 /* 111319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39438 /* 111323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39439 /* 111327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39440 /* 111331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39441 /* 111334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39442 /* 111338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39443 /* 111342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39444 /* 111344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39445 /* 111351 */ // (trunc:{ *:[v16i8] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src))
39446 /* 111351 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39447 /* 111354 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
39448 /* 111358 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39449 /* 111363 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
39450 /* 111367 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39451 /* 111372 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39452 /* 111374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39453 /* 111377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39454 /* 111379 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39455 /* 111382 */ GIR_RootConstrainSelectedInstOperands,
39456 /* 111383 */ // GIR_Coverage, 21658,
39457 /* 111383 */ GIR_EraseRootFromParent_Done,
39458 /* 111384 */ // Label 2387: @111384
39459 /* 111384 */ GIM_Try, /*On fail goto*//*Label 2388*/ GIMT_Encode4(111410), // Rule ID 12295 //
39460 /* 111389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39461 /* 111392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
39462 /* 111395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39463 /* 111399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39464 /* 111403 */ // (trunc:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src)
39465 /* 111403 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39466 /* 111408 */ GIR_RootConstrainSelectedInstOperands,
39467 /* 111409 */ // GIR_Coverage, 12295,
39468 /* 111409 */ GIR_Done,
39469 /* 111410 */ // Label 2388: @111410
39470 /* 111410 */ GIM_Try, /*On fail goto*//*Label 2389*/ GIMT_Encode4(111436), // Rule ID 12346 //
39471 /* 111415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39472 /* 111418 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39473 /* 111421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39474 /* 111425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39475 /* 111429 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVWBZ256rr:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src)
39476 /* 111429 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZ256rr),
39477 /* 111434 */ GIR_RootConstrainSelectedInstOperands,
39478 /* 111435 */ // GIR_Coverage, 12346,
39479 /* 111435 */ GIR_Done,
39480 /* 111436 */ // Label 2389: @111436
39481 /* 111436 */ GIM_Try, /*On fail goto*//*Label 2390*/ GIMT_Encode4(111546), // Rule ID 21566 //
39482 /* 111441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
39483 /* 111444 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39484 /* 111447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
39485 /* 111451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39486 /* 111455 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (EXTRACT_SUBREG:{ *:[v16i8] } (VPMOVWBZrr:{ *:[v32i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src, sub_ymm:{ *:[i32] })), sub_xmm:{ *:[i32] })
39487 /* 111455 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
39488 /* 111458 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
39489 /* 111462 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39490 /* 111467 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
39491 /* 111469 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
39492 /* 111472 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
39493 /* 111476 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39494 /* 111481 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
39495 /* 111484 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
39496 /* 111488 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
39497 /* 111491 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
39498 /* 111496 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
39499 /* 111501 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
39500 /* 111506 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
39501 /* 111509 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
39502 /* 111513 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39503 /* 111518 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39504 /* 111521 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39505 /* 111523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39506 /* 111526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39507 /* 111528 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
39508 /* 111535 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
39509 /* 111540 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
39510 /* 111545 */ // GIR_Coverage, 21566,
39511 /* 111545 */ GIR_EraseRootFromParent_Done,
39512 /* 111546 */ // Label 2390: @111546
39513 /* 111546 */ GIM_Try, /*On fail goto*//*Label 2391*/ GIMT_Encode4(111593), // Rule ID 21657 //
39514 /* 111551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
39515 /* 111554 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39516 /* 111557 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39517 /* 111561 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39518 /* 111565 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src))
39519 /* 111565 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39520 /* 111568 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
39521 /* 111572 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39522 /* 111577 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39523 /* 111581 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39524 /* 111583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39525 /* 111586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39526 /* 111588 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39527 /* 111591 */ GIR_RootConstrainSelectedInstOperands,
39528 /* 111592 */ // GIR_Coverage, 21657,
39529 /* 111592 */ GIR_EraseRootFromParent_Done,
39530 /* 111593 */ // Label 2391: @111593
39531 /* 111593 */ GIM_Reject,
39532 /* 111594 */ // Label 2371: @111594
39533 /* 111594 */ GIM_Try, /*On fail goto*//*Label 2392*/ GIMT_Encode4(111620), // Rule ID 12322 //
39534 /* 111599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39535 /* 111602 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
39536 /* 111605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39537 /* 111609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39538 /* 111613 */ // (trunc:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src)
39539 /* 111613 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
39540 /* 111618 */ GIR_RootConstrainSelectedInstOperands,
39541 /* 111619 */ // GIR_Coverage, 12322,
39542 /* 111619 */ GIR_Done,
39543 /* 111620 */ // Label 2392: @111620
39544 /* 111620 */ GIM_Reject,
39545 /* 111621 */ // Label 2372: @111621
39546 /* 111621 */ GIM_Try, /*On fail goto*//*Label 2393*/ GIMT_Encode4(111647), // Rule ID 12349 //
39547 /* 111626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39548 /* 111629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
39549 /* 111632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39550 /* 111636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39551 /* 111640 */ // (trunc:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src) => (VPMOVWBZrr:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src)
39552 /* 111640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
39553 /* 111645 */ GIR_RootConstrainSelectedInstOperands,
39554 /* 111646 */ // GIR_Coverage, 12349,
39555 /* 111646 */ GIR_Done,
39556 /* 111647 */ // Label 2393: @111647
39557 /* 111647 */ GIM_Reject,
39558 /* 111648 */ // Label 2373: @111648
39559 /* 111648 */ GIM_Reject,
39560 /* 111649 */ // Label 22: @111649
39561 /* 111649 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2398*/ GIMT_Encode4(112254),
39562 /* 111660 */ /*GILLT_s8*//*Label 2394*/ GIMT_Encode4(111676),
39563 /* 111664 */ /*GILLT_s16*//*Label 2395*/ GIMT_Encode4(111758),
39564 /* 111668 */ /*GILLT_s32*//*Label 2396*/ GIMT_Encode4(111958),
39565 /* 111672 */ /*GILLT_s64*//*Label 2397*/ GIMT_Encode4(112100),
39566 /* 111676 */ // Label 2394: @111676
39567 /* 111676 */ GIM_Try, /*On fail goto*//*Label 2399*/ GIMT_Encode4(111757),
39568 /* 111681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39569 /* 111685 */ GIM_Try, /*On fail goto*//*Label 2400*/ GIMT_Encode4(111741), // Rule ID 22398 //
39570 /* 111690 */ // MIs[0] Operand 1
39571 /* 111690 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39572 /* 111701 */ // 0:{ *:[i8] } => (EXTRACT_SUBREG:{ *:[i8] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_8bit:{ *:[i32] })
39573 /* 111701 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39574 /* 111704 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39575 /* 111708 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39576 /* 111713 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39577 /* 111716 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39578 /* 111718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39579 /* 111721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39580 /* 111723 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
39581 /* 111730 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39582 /* 111735 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39583 /* 111740 */ // GIR_Coverage, 22398,
39584 /* 111740 */ GIR_EraseRootFromParent_Done,
39585 /* 111741 */ // Label 2400: @111741
39586 /* 111741 */ GIM_Try, /*On fail goto*//*Label 2401*/ GIMT_Encode4(111756), // Rule ID 19 //
39587 /* 111746 */ // MIs[0] Operand 1
39588 /* 111746 */ // No operand predicates
39589 /* 111746 */ // (imm:{ *:[i8] }):$src => (MOV8ri:{ *:[i8] } (imm:{ *:[i8] }):$src)
39590 /* 111746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8ri),
39591 /* 111749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39592 /* 111751 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39593 /* 111754 */ GIR_RootConstrainSelectedInstOperands,
39594 /* 111755 */ // GIR_Coverage, 19,
39595 /* 111755 */ GIR_EraseRootFromParent_Done,
39596 /* 111756 */ // Label 2401: @111756
39597 /* 111756 */ GIM_Reject,
39598 /* 111757 */ // Label 2399: @111757
39599 /* 111757 */ GIM_Reject,
39600 /* 111758 */ // Label 2395: @111758
39601 /* 111758 */ GIM_Try, /*On fail goto*//*Label 2402*/ GIMT_Encode4(111957),
39602 /* 111763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39603 /* 111767 */ GIM_Try, /*On fail goto*//*Label 2403*/ GIMT_Encode4(111823), // Rule ID 22399 //
39604 /* 111772 */ // MIs[0] Operand 1
39605 /* 111772 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39606 /* 111783 */ // 0:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
39607 /* 111783 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39608 /* 111786 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39609 /* 111790 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39610 /* 111795 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39611 /* 111798 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39612 /* 111800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39613 /* 111803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39614 /* 111805 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39615 /* 111812 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39616 /* 111817 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39617 /* 111822 */ // GIR_Coverage, 22399,
39618 /* 111822 */ GIR_EraseRootFromParent_Done,
39619 /* 111823 */ // Label 2403: @111823
39620 /* 111823 */ GIM_Try, /*On fail goto*//*Label 2404*/ GIMT_Encode4(111882), // Rule ID 22401 //
39621 /* 111828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39622 /* 111831 */ // MIs[0] Operand 1
39623 /* 111831 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
39624 /* 111842 */ // 1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
39625 /* 111842 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39626 /* 111845 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
39627 /* 111849 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39628 /* 111854 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39629 /* 111857 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39630 /* 111859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39631 /* 111862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39632 /* 111864 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39633 /* 111871 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39634 /* 111876 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39635 /* 111881 */ // GIR_Coverage, 22401,
39636 /* 111881 */ GIR_EraseRootFromParent_Done,
39637 /* 111882 */ // Label 2404: @111882
39638 /* 111882 */ GIM_Try, /*On fail goto*//*Label 2405*/ GIMT_Encode4(111941), // Rule ID 22402 //
39639 /* 111887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39640 /* 111890 */ // MIs[0] Operand 1
39641 /* 111890 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
39642 /* 111901 */ // -1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r_1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
39643 /* 111901 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39644 /* 111904 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
39645 /* 111908 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39646 /* 111913 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39647 /* 111916 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39648 /* 111918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39649 /* 111921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39650 /* 111923 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39651 /* 111930 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39652 /* 111935 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39653 /* 111940 */ // GIR_Coverage, 22402,
39654 /* 111940 */ GIR_EraseRootFromParent_Done,
39655 /* 111941 */ // Label 2405: @111941
39656 /* 111941 */ GIM_Try, /*On fail goto*//*Label 2406*/ GIMT_Encode4(111956), // Rule ID 20 //
39657 /* 111946 */ // MIs[0] Operand 1
39658 /* 111946 */ // No operand predicates
39659 /* 111946 */ // (imm:{ *:[i16] }):$src => (MOV16ri:{ *:[i16] } (imm:{ *:[i16] }):$src)
39660 /* 111946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16ri),
39661 /* 111949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39662 /* 111951 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39663 /* 111954 */ GIR_RootConstrainSelectedInstOperands,
39664 /* 111955 */ // GIR_Coverage, 20,
39665 /* 111955 */ GIR_EraseRootFromParent_Done,
39666 /* 111956 */ // Label 2406: @111956
39667 /* 111956 */ GIM_Reject,
39668 /* 111957 */ // Label 2402: @111957
39669 /* 111957 */ GIM_Reject,
39670 /* 111958 */ // Label 2396: @111958
39671 /* 111958 */ GIM_Try, /*On fail goto*//*Label 2407*/ GIMT_Encode4(111988), // Rule ID 17140 //
39672 /* 111963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39673 /* 111967 */ // MIs[0] Operand 1
39674 /* 111967 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39675 /* 111978 */ // 0:{ *:[i32] } => (MOV32r0:{ *:[i32] }:{ *:[i32] })
39676 /* 111978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39677 /* 111981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39678 /* 111983 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39679 /* 111986 */ GIR_RootConstrainSelectedInstOperands,
39680 /* 111987 */ // GIR_Coverage, 17140,
39681 /* 111987 */ GIR_EraseRootFromParent_Done,
39682 /* 111988 */ // Label 2407: @111988
39683 /* 111988 */ GIM_Try, /*On fail goto*//*Label 2408*/ GIMT_Encode4(112021), // Rule ID 17141 //
39684 /* 111993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39685 /* 111996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39686 /* 112000 */ // MIs[0] Operand 1
39687 /* 112000 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
39688 /* 112011 */ // 1:{ *:[i32] } => (MOV32r1:{ *:[i32] }:{ *:[i32] })
39689 /* 112011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
39690 /* 112014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39691 /* 112016 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39692 /* 112019 */ GIR_RootConstrainSelectedInstOperands,
39693 /* 112020 */ // GIR_Coverage, 17141,
39694 /* 112020 */ GIR_EraseRootFromParent_Done,
39695 /* 112021 */ // Label 2408: @112021
39696 /* 112021 */ GIM_Try, /*On fail goto*//*Label 2409*/ GIMT_Encode4(112054), // Rule ID 17142 //
39697 /* 112026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
39698 /* 112029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39699 /* 112033 */ // MIs[0] Operand 1
39700 /* 112033 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
39701 /* 112044 */ // -1:{ *:[i32] } => (MOV32r_1:{ *:[i32] }:{ *:[i32] })
39702 /* 112044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
39703 /* 112047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39704 /* 112049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
39705 /* 112052 */ GIR_RootConstrainSelectedInstOperands,
39706 /* 112053 */ // GIR_Coverage, 17142,
39707 /* 112053 */ GIR_EraseRootFromParent_Done,
39708 /* 112054 */ // Label 2409: @112054
39709 /* 112054 */ GIM_Try, /*On fail goto*//*Label 2410*/ GIMT_Encode4(112080), // Rule ID 17143 //
39710 /* 112059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
39711 /* 112062 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i32immSExt8),
39712 /* 112066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39713 /* 112070 */ // MIs[0] Operand 1
39714 /* 112070 */ // No operand predicates
39715 /* 112070 */ // (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>>:$src => (MOV32ImmSExti8:{ *:[i32] } (imm:{ *:[i32] }):$src)
39716 /* 112070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ImmSExti8),
39717 /* 112073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39718 /* 112075 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39719 /* 112078 */ GIR_RootConstrainSelectedInstOperands,
39720 /* 112079 */ // GIR_Coverage, 17143,
39721 /* 112079 */ GIR_EraseRootFromParent_Done,
39722 /* 112080 */ // Label 2410: @112080
39723 /* 112080 */ GIM_Try, /*On fail goto*//*Label 2411*/ GIMT_Encode4(112099), // Rule ID 21 //
39724 /* 112085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39725 /* 112089 */ // MIs[0] Operand 1
39726 /* 112089 */ // No operand predicates
39727 /* 112089 */ // (imm:{ *:[i32] }):$src => (MOV32ri:{ *:[i32] } (imm:{ *:[i32] }):$src)
39728 /* 112089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri),
39729 /* 112092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39730 /* 112094 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39731 /* 112097 */ GIR_RootConstrainSelectedInstOperands,
39732 /* 112098 */ // GIR_Coverage, 21,
39733 /* 112098 */ GIR_EraseRootFromParent_Done,
39734 /* 112099 */ // Label 2411: @112099
39735 /* 112099 */ GIM_Reject,
39736 /* 112100 */ // Label 2397: @112100
39737 /* 112100 */ GIM_Try, /*On fail goto*//*Label 2412*/ GIMT_Encode4(112162), // Rule ID 22400 //
39738 /* 112105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39739 /* 112109 */ // MIs[0] Operand 1
39740 /* 112109 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
39741 /* 112120 */ // 0:{ *:[i64] } => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_32bit:{ *:[i32] })
39742 /* 112120 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39743 /* 112123 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
39744 /* 112127 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39745 /* 112132 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
39746 /* 112135 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39747 /* 112137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
39748 /* 112140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39749 /* 112142 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
39750 /* 112145 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39751 /* 112148 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
39752 /* 112151 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
39753 /* 112156 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
39754 /* 112161 */ // GIR_Coverage, 22400,
39755 /* 112161 */ GIR_EraseRootFromParent_Done,
39756 /* 112162 */ // Label 2412: @112162
39757 /* 112162 */ GIM_Try, /*On fail goto*//*Label 2413*/ GIMT_Encode4(112188), // Rule ID 17144 //
39758 /* 112167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
39759 /* 112170 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt8),
39760 /* 112174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39761 /* 112178 */ // MIs[0] Operand 1
39762 /* 112178 */ // No operand predicates
39763 /* 112178 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>>:$src => (MOV64ImmSExti8:{ *:[i64] } (imm:{ *:[i64] }):$src)
39764 /* 112178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ImmSExti8),
39765 /* 112181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39766 /* 112183 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39767 /* 112186 */ GIR_RootConstrainSelectedInstOperands,
39768 /* 112187 */ // GIR_Coverage, 17144,
39769 /* 112187 */ GIR_EraseRootFromParent_Done,
39770 /* 112188 */ // Label 2413: @112188
39771 /* 112188 */ GIM_Try, /*On fail goto*//*Label 2414*/ GIMT_Encode4(112211), // Rule ID 17145 //
39772 /* 112193 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immZExt32),
39773 /* 112197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39774 /* 112201 */ // MIs[0] Operand 1
39775 /* 112201 */ // No operand predicates
39776 /* 112201 */ // (imm:{ *:[i64] })<<P:Predicate_i64immZExt32>>:$src => (MOV32ri64:{ *:[i64] } (imm:{ *:[i64] }):$src)
39777 /* 112201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri64),
39778 /* 112204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39779 /* 112206 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39780 /* 112209 */ GIR_RootConstrainSelectedInstOperands,
39781 /* 112210 */ // GIR_Coverage, 17145,
39782 /* 112210 */ GIR_EraseRootFromParent_Done,
39783 /* 112211 */ // Label 2414: @112211
39784 /* 112211 */ GIM_Try, /*On fail goto*//*Label 2415*/ GIMT_Encode4(112234), // Rule ID 22 //
39785 /* 112216 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
39786 /* 112220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39787 /* 112224 */ // MIs[0] Operand 1
39788 /* 112224 */ // No operand predicates
39789 /* 112224 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src => (MOV64ri32:{ *:[i64] } (imm:{ *:[i64] }):$src)
39790 /* 112224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri32),
39791 /* 112227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39792 /* 112229 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39793 /* 112232 */ GIR_RootConstrainSelectedInstOperands,
39794 /* 112233 */ // GIR_Coverage, 22,
39795 /* 112233 */ GIR_EraseRootFromParent_Done,
39796 /* 112234 */ // Label 2415: @112234
39797 /* 112234 */ GIM_Try, /*On fail goto*//*Label 2416*/ GIMT_Encode4(112253), // Rule ID 23 //
39798 /* 112239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39799 /* 112243 */ // MIs[0] Operand 1
39800 /* 112243 */ // No operand predicates
39801 /* 112243 */ // (imm:{ *:[i64] }):$src => (MOV64ri:{ *:[i64] } (imm:{ *:[i64] }):$src)
39802 /* 112243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri),
39803 /* 112246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39804 /* 112248 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39805 /* 112251 */ GIR_RootConstrainSelectedInstOperands,
39806 /* 112252 */ // GIR_Coverage, 23,
39807 /* 112252 */ GIR_EraseRootFromParent_Done,
39808 /* 112253 */ // Label 2416: @112253
39809 /* 112253 */ GIM_Reject,
39810 /* 112254 */ // Label 2398: @112254
39811 /* 112254 */ GIM_Reject,
39812 /* 112255 */ // Label 23: @112255
39813 /* 112255 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 2420*/ GIMT_Encode4(112707),
39814 /* 112266 */ /*GILLT_s32*//*Label 2417*/ GIMT_Encode4(112278),
39815 /* 112270 */ /*GILLT_s64*//*Label 2418*/ GIMT_Encode4(112423),
39816 /* 112274 */ /*GILLT_s80*//*Label 2419*/ GIMT_Encode4(112568),
39817 /* 112278 */ // Label 2417: @112278
39818 /* 112278 */ GIM_Try, /*On fail goto*//*Label 2421*/ GIMT_Encode4(112304), // Rule ID 1115 //
39819 /* 112283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39820 /* 112286 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39821 /* 112290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39822 /* 112294 */ // MIs[0] Operand 1
39823 /* 112294 */ // No operand predicates
39824 /* 112294 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>> => (LD_Fp032:{ *:[f32] }:{ *:[i16] })
39825 /* 112294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
39826 /* 112297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39827 /* 112299 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39828 /* 112302 */ GIR_RootConstrainSelectedInstOperands,
39829 /* 112303 */ // GIR_Coverage, 1115,
39830 /* 112303 */ GIR_EraseRootFromParent_Done,
39831 /* 112304 */ // Label 2421: @112304
39832 /* 112304 */ GIM_Try, /*On fail goto*//*Label 2422*/ GIMT_Encode4(112330), // Rule ID 1116 //
39833 /* 112309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39834 /* 112312 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39835 /* 112316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39836 /* 112320 */ // MIs[0] Operand 1
39837 /* 112320 */ // No operand predicates
39838 /* 112320 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm1>> => (LD_Fp132:{ *:[f32] }:{ *:[i16] })
39839 /* 112320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
39840 /* 112323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39841 /* 112325 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39842 /* 112328 */ GIR_RootConstrainSelectedInstOperands,
39843 /* 112329 */ // GIR_Coverage, 1116,
39844 /* 112329 */ GIR_EraseRootFromParent_Done,
39845 /* 112330 */ // Label 2422: @112330
39846 /* 112330 */ GIM_Try, /*On fail goto*//*Label 2423*/ GIMT_Encode4(112376), // Rule ID 17709 //
39847 /* 112335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39848 /* 112338 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39849 /* 112342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39850 /* 112346 */ // MIs[0] Operand 1
39851 /* 112346 */ // No operand predicates
39852 /* 112346 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg0>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp032:{ *:[f32] }:{ *:[i16] }))
39853 /* 112346 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39854 /* 112349 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
39855 /* 112353 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39856 /* 112358 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39857 /* 112361 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39858 /* 112363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
39859 /* 112366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39860 /* 112368 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39861 /* 112371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39862 /* 112374 */ GIR_RootConstrainSelectedInstOperands,
39863 /* 112375 */ // GIR_Coverage, 17709,
39864 /* 112375 */ GIR_EraseRootFromParent_Done,
39865 /* 112376 */ // Label 2423: @112376
39866 /* 112376 */ GIM_Try, /*On fail goto*//*Label 2424*/ GIMT_Encode4(112422), // Rule ID 17710 //
39867 /* 112381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39868 /* 112384 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39869 /* 112388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39870 /* 112392 */ // MIs[0] Operand 1
39871 /* 112392 */ // No operand predicates
39872 /* 112392 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg1>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp132:{ *:[f32] }:{ *:[i16] }))
39873 /* 112392 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39874 /* 112395 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
39875 /* 112399 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39876 /* 112404 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39877 /* 112407 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39878 /* 112409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
39879 /* 112412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39880 /* 112414 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39881 /* 112417 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39882 /* 112420 */ GIR_RootConstrainSelectedInstOperands,
39883 /* 112421 */ // GIR_Coverage, 17710,
39884 /* 112421 */ GIR_EraseRootFromParent_Done,
39885 /* 112422 */ // Label 2424: @112422
39886 /* 112422 */ GIM_Reject,
39887 /* 112423 */ // Label 2418: @112423
39888 /* 112423 */ GIM_Try, /*On fail goto*//*Label 2425*/ GIMT_Encode4(112449), // Rule ID 1117 //
39889 /* 112428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39890 /* 112431 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39891 /* 112435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39892 /* 112439 */ // MIs[0] Operand 1
39893 /* 112439 */ // No operand predicates
39894 /* 112439 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>> => (LD_Fp064:{ *:[f64] }:{ *:[i16] })
39895 /* 112439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
39896 /* 112442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39897 /* 112444 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39898 /* 112447 */ GIR_RootConstrainSelectedInstOperands,
39899 /* 112448 */ // GIR_Coverage, 1117,
39900 /* 112448 */ GIR_EraseRootFromParent_Done,
39901 /* 112449 */ // Label 2425: @112449
39902 /* 112449 */ GIM_Try, /*On fail goto*//*Label 2426*/ GIMT_Encode4(112475), // Rule ID 1118 //
39903 /* 112454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39904 /* 112457 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39905 /* 112461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39906 /* 112465 */ // MIs[0] Operand 1
39907 /* 112465 */ // No operand predicates
39908 /* 112465 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm1>> => (LD_Fp164:{ *:[f64] }:{ *:[i16] })
39909 /* 112465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
39910 /* 112468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39911 /* 112470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39912 /* 112473 */ GIR_RootConstrainSelectedInstOperands,
39913 /* 112474 */ // GIR_Coverage, 1118,
39914 /* 112474 */ GIR_EraseRootFromParent_Done,
39915 /* 112475 */ // Label 2426: @112475
39916 /* 112475 */ GIM_Try, /*On fail goto*//*Label 2427*/ GIMT_Encode4(112521), // Rule ID 17711 //
39917 /* 112480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39918 /* 112483 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39919 /* 112487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39920 /* 112491 */ // MIs[0] Operand 1
39921 /* 112491 */ // No operand predicates
39922 /* 112491 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg0>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp064:{ *:[f64] }:{ *:[i16] }))
39923 /* 112491 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39924 /* 112494 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
39925 /* 112498 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39926 /* 112503 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39927 /* 112506 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39928 /* 112508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
39929 /* 112511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39930 /* 112513 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39931 /* 112516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39932 /* 112519 */ GIR_RootConstrainSelectedInstOperands,
39933 /* 112520 */ // GIR_Coverage, 17711,
39934 /* 112520 */ GIR_EraseRootFromParent_Done,
39935 /* 112521 */ // Label 2427: @112521
39936 /* 112521 */ GIM_Try, /*On fail goto*//*Label 2428*/ GIMT_Encode4(112567), // Rule ID 17712 //
39937 /* 112526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39938 /* 112529 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39939 /* 112533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39940 /* 112537 */ // MIs[0] Operand 1
39941 /* 112537 */ // No operand predicates
39942 /* 112537 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg1>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp164:{ *:[f64] }:{ *:[i16] }))
39943 /* 112537 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39944 /* 112540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
39945 /* 112544 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39946 /* 112549 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39947 /* 112552 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39948 /* 112554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
39949 /* 112557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39950 /* 112559 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39951 /* 112562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39952 /* 112565 */ GIR_RootConstrainSelectedInstOperands,
39953 /* 112566 */ // GIR_Coverage, 17712,
39954 /* 112566 */ GIR_EraseRootFromParent_Done,
39955 /* 112567 */ // Label 2428: @112567
39956 /* 112567 */ GIM_Reject,
39957 /* 112568 */ // Label 2419: @112568
39958 /* 112568 */ GIM_Try, /*On fail goto*//*Label 2429*/ GIMT_Encode4(112594), // Rule ID 1119 //
39959 /* 112573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
39960 /* 112576 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39961 /* 112580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39962 /* 112584 */ // MIs[0] Operand 1
39963 /* 112584 */ // No operand predicates
39964 /* 112584 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm0>> => (LD_Fp080:{ *:[f80] }:{ *:[i16] })
39965 /* 112584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
39966 /* 112587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39967 /* 112589 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39968 /* 112592 */ GIR_RootConstrainSelectedInstOperands,
39969 /* 112593 */ // GIR_Coverage, 1119,
39970 /* 112593 */ GIR_EraseRootFromParent_Done,
39971 /* 112594 */ // Label 2429: @112594
39972 /* 112594 */ GIM_Try, /*On fail goto*//*Label 2430*/ GIMT_Encode4(112620), // Rule ID 1120 //
39973 /* 112599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
39974 /* 112602 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39975 /* 112606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39976 /* 112610 */ // MIs[0] Operand 1
39977 /* 112610 */ // No operand predicates
39978 /* 112610 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm1>> => (LD_Fp180:{ *:[f80] }:{ *:[i16] })
39979 /* 112610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
39980 /* 112613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39981 /* 112615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39982 /* 112618 */ GIR_RootConstrainSelectedInstOperands,
39983 /* 112619 */ // GIR_Coverage, 1120,
39984 /* 112619 */ GIR_EraseRootFromParent_Done,
39985 /* 112620 */ // Label 2430: @112620
39986 /* 112620 */ GIM_Try, /*On fail goto*//*Label 2431*/ GIMT_Encode4(112663), // Rule ID 17713 //
39987 /* 112625 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39988 /* 112629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39989 /* 112633 */ // MIs[0] Operand 1
39990 /* 112633 */ // No operand predicates
39991 /* 112633 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg0>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp080:{ *:[f80] }:{ *:[i16] }))
39992 /* 112633 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
39993 /* 112636 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
39994 /* 112640 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39995 /* 112645 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39996 /* 112648 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39997 /* 112650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
39998 /* 112653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39999 /* 112655 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40000 /* 112658 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
40001 /* 112661 */ GIR_RootConstrainSelectedInstOperands,
40002 /* 112662 */ // GIR_Coverage, 17713,
40003 /* 112662 */ GIR_EraseRootFromParent_Done,
40004 /* 112663 */ // Label 2431: @112663
40005 /* 112663 */ GIM_Try, /*On fail goto*//*Label 2432*/ GIMT_Encode4(112706), // Rule ID 17714 //
40006 /* 112668 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
40007 /* 112672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
40008 /* 112676 */ // MIs[0] Operand 1
40009 /* 112676 */ // No operand predicates
40010 /* 112676 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg1>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp180:{ *:[f80] }:{ *:[i16] }))
40011 /* 112676 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
40012 /* 112679 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
40013 /* 112683 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40014 /* 112688 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
40015 /* 112691 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40016 /* 112693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
40017 /* 112696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40018 /* 112698 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40019 /* 112701 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
40020 /* 112704 */ GIR_RootConstrainSelectedInstOperands,
40021 /* 112705 */ // GIR_Coverage, 17714,
40022 /* 112705 */ GIR_EraseRootFromParent_Done,
40023 /* 112706 */ // Label 2432: @112706
40024 /* 112706 */ GIM_Reject,
40025 /* 112707 */ // Label 2420: @112707
40026 /* 112707 */ GIM_Reject,
40027 /* 112708 */ // Label 24: @112708
40028 /* 112708 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 2448*/ GIMT_Encode4(114379),
40029 /* 112719 */ /*GILLT_s16*//*Label 2433*/ GIMT_Encode4(112811),
40030 /* 112723 */ /*GILLT_s32*//*Label 2434*/ GIMT_Encode4(112869),
40031 /* 112727 */ /*GILLT_s64*//*Label 2435*/ GIMT_Encode4(112916), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
40032 /* 112743 */ /*GILLT_v2s64*//*Label 2436*/ GIMT_Encode4(112989), GIMT_Encode4(0),
40033 /* 112751 */ /*GILLT_v4s32*//*Label 2437*/ GIMT_Encode4(113016),
40034 /* 112755 */ /*GILLT_v4s64*//*Label 2438*/ GIMT_Encode4(113043), GIMT_Encode4(0),
40035 /* 112763 */ /*GILLT_v8s16*//*Label 2439*/ GIMT_Encode4(113240),
40036 /* 112767 */ /*GILLT_v8s32*//*Label 2440*/ GIMT_Encode4(113309),
40037 /* 112771 */ /*GILLT_v8s64*//*Label 2441*/ GIMT_Encode4(113506), GIMT_Encode4(0),
40038 /* 112779 */ /*GILLT_v16s8*//*Label 2442*/ GIMT_Encode4(113703),
40039 /* 112783 */ /*GILLT_v16s16*//*Label 2443*/ GIMT_Encode4(113772),
40040 /* 112787 */ /*GILLT_v16s32*//*Label 2444*/ GIMT_Encode4(114016), GIMT_Encode4(0),
40041 /* 112795 */ /*GILLT_v32s8*//*Label 2445*/ GIMT_Encode4(114213),
40042 /* 112799 */ /*GILLT_v32s16*//*Label 2446*/ GIMT_Encode4(114240), GIMT_Encode4(0),
40043 /* 112807 */ /*GILLT_v64s8*//*Label 2447*/ GIMT_Encode4(114352),
40044 /* 112811 */ // Label 2433: @112811
40045 /* 112811 */ GIM_Try, /*On fail goto*//*Label 2449*/ GIMT_Encode4(112868), // Rule ID 22680 //
40046 /* 112816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40047 /* 112819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40048 /* 112823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40049 /* 112827 */ // (sext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
40050 /* 112827 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40051 /* 112830 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
40052 /* 112834 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40053 /* 112839 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40054 /* 112843 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40055 /* 112845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40056 /* 112848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40057 /* 112850 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
40058 /* 112857 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
40059 /* 112862 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40060 /* 112867 */ // GIR_Coverage, 22680,
40061 /* 112867 */ GIR_EraseRootFromParent_Done,
40062 /* 112868 */ // Label 2449: @112868
40063 /* 112868 */ GIM_Reject,
40064 /* 112869 */ // Label 2434: @112869
40065 /* 112869 */ GIM_Try, /*On fail goto*//*Label 2450*/ GIMT_Encode4(112892), // Rule ID 613 //
40066 /* 112874 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40067 /* 112877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40068 /* 112881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40069 /* 112885 */ // (sext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
40070 /* 112885 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
40071 /* 112890 */ GIR_RootConstrainSelectedInstOperands,
40072 /* 112891 */ // GIR_Coverage, 613,
40073 /* 112891 */ GIR_Done,
40074 /* 112892 */ // Label 2450: @112892
40075 /* 112892 */ GIM_Try, /*On fail goto*//*Label 2451*/ GIMT_Encode4(112915), // Rule ID 615 //
40076 /* 112897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40077 /* 112900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40078 /* 112904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40079 /* 112908 */ // (sext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVSX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
40080 /* 112908 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
40081 /* 112913 */ GIR_RootConstrainSelectedInstOperands,
40082 /* 112914 */ // GIR_Coverage, 615,
40083 /* 112914 */ GIR_Done,
40084 /* 112915 */ // Label 2451: @112915
40085 /* 112915 */ GIM_Reject,
40086 /* 112916 */ // Label 2435: @112916
40087 /* 112916 */ GIM_Try, /*On fail goto*//*Label 2452*/ GIMT_Encode4(112939), // Rule ID 621 //
40088 /* 112921 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40089 /* 112924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40090 /* 112928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40091 /* 112932 */ // (sext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (MOVSX64rr8:{ *:[i64] } GR8:{ *:[i8] }:$src)
40092 /* 112932 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr8),
40093 /* 112937 */ GIR_RootConstrainSelectedInstOperands,
40094 /* 112938 */ // GIR_Coverage, 621,
40095 /* 112938 */ GIR_Done,
40096 /* 112939 */ // Label 2452: @112939
40097 /* 112939 */ GIM_Try, /*On fail goto*//*Label 2453*/ GIMT_Encode4(112962), // Rule ID 623 //
40098 /* 112944 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40099 /* 112947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40100 /* 112951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40101 /* 112955 */ // (sext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (MOVSX64rr16:{ *:[i64] } GR16:{ *:[i16] }:$src)
40102 /* 112955 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr16),
40103 /* 112960 */ GIR_RootConstrainSelectedInstOperands,
40104 /* 112961 */ // GIR_Coverage, 623,
40105 /* 112961 */ GIR_Done,
40106 /* 112962 */ // Label 2453: @112962
40107 /* 112962 */ GIM_Try, /*On fail goto*//*Label 2454*/ GIMT_Encode4(112988), // Rule ID 625 //
40108 /* 112967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
40109 /* 112970 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40110 /* 112973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40111 /* 112977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40112 /* 112981 */ // (sext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (MOVSX64rr32:{ *:[i64] } GR32:{ *:[i32] }:$src)
40113 /* 112981 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr32),
40114 /* 112986 */ GIR_RootConstrainSelectedInstOperands,
40115 /* 112987 */ // GIR_Coverage, 625,
40116 /* 112987 */ GIR_Done,
40117 /* 112988 */ // Label 2454: @112988
40118 /* 112988 */ GIM_Reject,
40119 /* 112989 */ // Label 2436: @112989
40120 /* 112989 */ GIM_Try, /*On fail goto*//*Label 2455*/ GIMT_Encode4(113015), // Rule ID 12597 //
40121 /* 112994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40122 /* 112997 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
40123 /* 113000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40124 /* 113004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
40125 /* 113008 */ // (sext:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src) => (VPMOVM2QZ128rk:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src)
40126 /* 113008 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ128rk),
40127 /* 113013 */ GIR_RootConstrainSelectedInstOperands,
40128 /* 113014 */ // GIR_Coverage, 12597,
40129 /* 113014 */ GIR_Done,
40130 /* 113015 */ // Label 2455: @113015
40131 /* 113015 */ GIM_Reject,
40132 /* 113016 */ // Label 2437: @113016
40133 /* 113016 */ GIM_Try, /*On fail goto*//*Label 2456*/ GIMT_Encode4(113042), // Rule ID 12594 //
40134 /* 113021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40135 /* 113024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
40136 /* 113027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40137 /* 113031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
40138 /* 113035 */ // (sext:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2DZ128rk:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src)
40139 /* 113035 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ128rk),
40140 /* 113040 */ GIR_RootConstrainSelectedInstOperands,
40141 /* 113041 */ // GIR_Coverage, 12594,
40142 /* 113041 */ GIR_Done,
40143 /* 113042 */ // Label 2456: @113042
40144 /* 113042 */ GIM_Reject,
40145 /* 113043 */ // Label 2438: @113043
40146 /* 113043 */ GIM_Try, /*On fail goto*//*Label 2457*/ GIMT_Encode4(113102), // Rule ID 18379 //
40147 /* 113048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40148 /* 113051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40149 /* 113054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40150 /* 113058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40151 /* 113062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40152 /* 113066 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40153 /* 113069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40154 /* 113073 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40155 /* 113077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40156 /* 113079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40157 /* 113086 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40158 /* 113086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrm),
40159 /* 113089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40160 /* 113091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40161 /* 113095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40162 /* 113100 */ GIR_RootConstrainSelectedInstOperands,
40163 /* 113101 */ // GIR_Coverage, 18379,
40164 /* 113101 */ GIR_EraseRootFromParent_Done,
40165 /* 113102 */ // Label 2457: @113102
40166 /* 113102 */ GIM_Try, /*On fail goto*//*Label 2458*/ GIMT_Encode4(113161), // Rule ID 21593 //
40167 /* 113107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40168 /* 113110 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40169 /* 113113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40170 /* 113117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40171 /* 113121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40172 /* 113125 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40173 /* 113128 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40174 /* 113132 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40175 /* 113136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40176 /* 113138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40177 /* 113145 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40178 /* 113145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rm),
40179 /* 113148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40180 /* 113150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40181 /* 113154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40182 /* 113159 */ GIR_RootConstrainSelectedInstOperands,
40183 /* 113160 */ // GIR_Coverage, 21593,
40184 /* 113160 */ GIR_EraseRootFromParent_Done,
40185 /* 113161 */ // Label 2458: @113161
40186 /* 113161 */ GIM_Try, /*On fail goto*//*Label 2459*/ GIMT_Encode4(113187), // Rule ID 12574 //
40187 /* 113166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40188 /* 113169 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40189 /* 113172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40190 /* 113176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40191 /* 113180 */ // (sext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVSXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
40192 /* 113180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rr),
40193 /* 113185 */ GIR_RootConstrainSelectedInstOperands,
40194 /* 113186 */ // GIR_Coverage, 12574,
40195 /* 113186 */ GIR_Done,
40196 /* 113187 */ // Label 2459: @113187
40197 /* 113187 */ GIM_Try, /*On fail goto*//*Label 2460*/ GIMT_Encode4(113213), // Rule ID 12596 //
40198 /* 113192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40199 /* 113195 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
40200 /* 113198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40201 /* 113202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
40202 /* 113206 */ // (sext:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2QZ256rk:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src)
40203 /* 113206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ256rk),
40204 /* 113211 */ GIR_RootConstrainSelectedInstOperands,
40205 /* 113212 */ // GIR_Coverage, 12596,
40206 /* 113212 */ GIR_Done,
40207 /* 113213 */ // Label 2460: @113213
40208 /* 113213 */ GIM_Try, /*On fail goto*//*Label 2461*/ GIMT_Encode4(113239), // Rule ID 18367 //
40209 /* 113218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40210 /* 113221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40211 /* 113224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40212 /* 113228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40213 /* 113232 */ // (sext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVSXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
40214 /* 113232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrr),
40215 /* 113237 */ GIR_RootConstrainSelectedInstOperands,
40216 /* 113238 */ // GIR_Coverage, 18367,
40217 /* 113238 */ GIR_Done,
40218 /* 113239 */ // Label 2461: @113239
40219 /* 113239 */ GIM_Reject,
40220 /* 113240 */ // Label 2439: @113240
40221 /* 113240 */ GIM_Try, /*On fail goto*//*Label 2462*/ GIMT_Encode4(113308),
40222 /* 113245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
40223 /* 113248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40224 /* 113252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40225 /* 113256 */ GIM_Try, /*On fail goto*//*Label 2463*/ GIMT_Encode4(113271), // Rule ID 12591 //
40226 /* 113261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40227 /* 113264 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2WZ128rk:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src)
40228 /* 113264 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ128rk),
40229 /* 113269 */ GIR_RootConstrainSelectedInstOperands,
40230 /* 113270 */ // GIR_Coverage, 12591,
40231 /* 113270 */ GIR_Done,
40232 /* 113271 */ // Label 2463: @113271
40233 /* 113271 */ GIM_Try, /*On fail goto*//*Label 2464*/ GIMT_Encode4(113307), // Rule ID 21669 //
40234 /* 113276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX_NoBWI),
40235 /* 113279 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src))
40236 /* 113279 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
40237 /* 113282 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
40238 /* 113286 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40239 /* 113291 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40240 /* 113295 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40241 /* 113297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
40242 /* 113300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40243 /* 113302 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40244 /* 113305 */ GIR_RootConstrainSelectedInstOperands,
40245 /* 113306 */ // GIR_Coverage, 21669,
40246 /* 113306 */ GIR_EraseRootFromParent_Done,
40247 /* 113307 */ // Label 2464: @113307
40248 /* 113307 */ GIM_Reject,
40249 /* 113308 */ // Label 2462: @113308
40250 /* 113308 */ GIM_Reject,
40251 /* 113309 */ // Label 2440: @113309
40252 /* 113309 */ GIM_Try, /*On fail goto*//*Label 2465*/ GIMT_Encode4(113368), // Rule ID 18375 //
40253 /* 113314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40254 /* 113317 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40255 /* 113320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40256 /* 113324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40257 /* 113328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40258 /* 113332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40259 /* 113335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40260 /* 113339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40261 /* 113343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40262 /* 113345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40263 /* 113352 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40264 /* 113352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrm),
40265 /* 113355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40266 /* 113357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40267 /* 113361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40268 /* 113366 */ GIR_RootConstrainSelectedInstOperands,
40269 /* 113367 */ // GIR_Coverage, 18375,
40270 /* 113367 */ GIR_EraseRootFromParent_Done,
40271 /* 113368 */ // Label 2465: @113368
40272 /* 113368 */ GIM_Try, /*On fail goto*//*Label 2466*/ GIMT_Encode4(113427), // Rule ID 21592 //
40273 /* 113373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40274 /* 113376 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40275 /* 113379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40276 /* 113383 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40277 /* 113387 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40278 /* 113391 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40279 /* 113394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40280 /* 113398 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40281 /* 113402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40282 /* 113404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40283 /* 113411 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40284 /* 113411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rm),
40285 /* 113414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40286 /* 113416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40287 /* 113420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40288 /* 113425 */ GIR_RootConstrainSelectedInstOperands,
40289 /* 113426 */ // GIR_Coverage, 21592,
40290 /* 113426 */ GIR_EraseRootFromParent_Done,
40291 /* 113427 */ // Label 2466: @113427
40292 /* 113427 */ GIM_Try, /*On fail goto*//*Label 2467*/ GIMT_Encode4(113453), // Rule ID 12538 //
40293 /* 113432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40294 /* 113435 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40295 /* 113438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40296 /* 113442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40297 /* 113446 */ // (sext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
40298 /* 113446 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rr),
40299 /* 113451 */ GIR_RootConstrainSelectedInstOperands,
40300 /* 113452 */ // GIR_Coverage, 12538,
40301 /* 113452 */ GIR_Done,
40302 /* 113453 */ // Label 2467: @113453
40303 /* 113453 */ GIM_Try, /*On fail goto*//*Label 2468*/ GIMT_Encode4(113479), // Rule ID 12593 //
40304 /* 113458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
40305 /* 113461 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
40306 /* 113464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40307 /* 113468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40308 /* 113472 */ // (sext:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src)
40309 /* 113472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
40310 /* 113477 */ GIR_RootConstrainSelectedInstOperands,
40311 /* 113478 */ // GIR_Coverage, 12593,
40312 /* 113478 */ GIR_Done,
40313 /* 113479 */ // Label 2468: @113479
40314 /* 113479 */ GIM_Try, /*On fail goto*//*Label 2469*/ GIMT_Encode4(113505), // Rule ID 18365 //
40315 /* 113484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40316 /* 113487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40317 /* 113490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40318 /* 113494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40319 /* 113498 */ // (sext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVSXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
40320 /* 113498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrr),
40321 /* 113503 */ GIR_RootConstrainSelectedInstOperands,
40322 /* 113504 */ // GIR_Coverage, 18365,
40323 /* 113504 */ GIR_Done,
40324 /* 113505 */ // Label 2469: @113505
40325 /* 113505 */ GIM_Reject,
40326 /* 113506 */ // Label 2441: @113506
40327 /* 113506 */ GIM_Try, /*On fail goto*//*Label 2470*/ GIMT_Encode4(113565), // Rule ID 21597 //
40328 /* 113511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40329 /* 113514 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40330 /* 113517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40331 /* 113521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40332 /* 113525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40333 /* 113529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40334 /* 113532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40335 /* 113536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40336 /* 113540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40337 /* 113542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40338 /* 113549 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40339 /* 113549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrm),
40340 /* 113552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40341 /* 113554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40342 /* 113558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40343 /* 113563 */ GIR_RootConstrainSelectedInstOperands,
40344 /* 113564 */ // GIR_Coverage, 21597,
40345 /* 113564 */ GIR_EraseRootFromParent_Done,
40346 /* 113565 */ // Label 2470: @113565
40347 /* 113565 */ GIM_Try, /*On fail goto*//*Label 2471*/ GIMT_Encode4(113624), // Rule ID 21598 //
40348 /* 113570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40349 /* 113573 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40350 /* 113576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40351 /* 113580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40352 /* 113584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40353 /* 113588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40354 /* 113591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40355 /* 113595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40356 /* 113599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40357 /* 113601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40358 /* 113608 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40359 /* 113608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrm),
40360 /* 113611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40361 /* 113613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40362 /* 113617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40363 /* 113622 */ GIR_RootConstrainSelectedInstOperands,
40364 /* 113623 */ // GIR_Coverage, 21598,
40365 /* 113623 */ GIR_EraseRootFromParent_Done,
40366 /* 113624 */ // Label 2471: @113624
40367 /* 113624 */ GIM_Try, /*On fail goto*//*Label 2472*/ GIMT_Encode4(113650), // Rule ID 12562 //
40368 /* 113629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40369 /* 113632 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40370 /* 113635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40371 /* 113639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40372 /* 113643 */ // (sext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
40373 /* 113643 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrr),
40374 /* 113648 */ GIR_RootConstrainSelectedInstOperands,
40375 /* 113649 */ // GIR_Coverage, 12562,
40376 /* 113649 */ GIR_Done,
40377 /* 113650 */ // Label 2472: @113650
40378 /* 113650 */ GIM_Try, /*On fail goto*//*Label 2473*/ GIMT_Encode4(113676), // Rule ID 12580 //
40379 /* 113655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40380 /* 113658 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40381 /* 113661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40382 /* 113665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40383 /* 113669 */ // (sext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVSXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
40384 /* 113669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrr),
40385 /* 113674 */ GIR_RootConstrainSelectedInstOperands,
40386 /* 113675 */ // GIR_Coverage, 12580,
40387 /* 113675 */ GIR_Done,
40388 /* 113676 */ // Label 2473: @113676
40389 /* 113676 */ GIM_Try, /*On fail goto*//*Label 2474*/ GIMT_Encode4(113702), // Rule ID 12595 //
40390 /* 113681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40391 /* 113684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
40392 /* 113687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40393 /* 113691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40394 /* 113695 */ // (sext:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2QZrk:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src)
40395 /* 113695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZrk),
40396 /* 113700 */ GIR_RootConstrainSelectedInstOperands,
40397 /* 113701 */ // GIR_Coverage, 12595,
40398 /* 113701 */ GIR_Done,
40399 /* 113702 */ // Label 2474: @113702
40400 /* 113702 */ GIM_Reject,
40401 /* 113703 */ // Label 2442: @113703
40402 /* 113703 */ GIM_Try, /*On fail goto*//*Label 2475*/ GIMT_Encode4(113771),
40403 /* 113708 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40404 /* 113711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40405 /* 113715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40406 /* 113719 */ GIM_Try, /*On fail goto*//*Label 2476*/ GIMT_Encode4(113734), // Rule ID 12588 //
40407 /* 113724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40408 /* 113727 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2BZ128rk:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src)
40409 /* 113727 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ128rk),
40410 /* 113732 */ GIR_RootConstrainSelectedInstOperands,
40411 /* 113733 */ // GIR_Coverage, 12588,
40412 /* 113733 */ GIR_Done,
40413 /* 113734 */ // Label 2476: @113734
40414 /* 113734 */ GIM_Try, /*On fail goto*//*Label 2477*/ GIMT_Encode4(113770), // Rule ID 21667 //
40415 /* 113739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
40416 /* 113742 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
40417 /* 113742 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
40418 /* 113745 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
40419 /* 113749 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40420 /* 113754 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40421 /* 113758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40422 /* 113760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
40423 /* 113763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40424 /* 113765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40425 /* 113768 */ GIR_RootConstrainSelectedInstOperands,
40426 /* 113769 */ // GIR_Coverage, 21667,
40427 /* 113769 */ GIR_EraseRootFromParent_Done,
40428 /* 113770 */ // Label 2477: @113770
40429 /* 113770 */ GIM_Reject,
40430 /* 113771 */ // Label 2475: @113771
40431 /* 113771 */ GIM_Reject,
40432 /* 113772 */ // Label 2443: @113772
40433 /* 113772 */ GIM_Try, /*On fail goto*//*Label 2478*/ GIMT_Encode4(113831), // Rule ID 18369 //
40434 /* 113777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40435 /* 113780 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40436 /* 113783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40437 /* 113787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40438 /* 113791 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40439 /* 113795 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40440 /* 113798 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40441 /* 113802 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40442 /* 113806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40443 /* 113808 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40444 /* 113815 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40445 /* 113815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrm),
40446 /* 113818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40447 /* 113820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40448 /* 113824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40449 /* 113829 */ GIR_RootConstrainSelectedInstOperands,
40450 /* 113830 */ // GIR_Coverage, 18369,
40451 /* 113830 */ GIR_EraseRootFromParent_Done,
40452 /* 113831 */ // Label 2478: @113831
40453 /* 113831 */ GIM_Try, /*On fail goto*//*Label 2479*/ GIMT_Encode4(113890), // Rule ID 21591 //
40454 /* 113836 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40455 /* 113839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40456 /* 113842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40457 /* 113846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40458 /* 113850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40459 /* 113854 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40460 /* 113857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40461 /* 113861 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40462 /* 113865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40463 /* 113867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40464 /* 113874 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40465 /* 113874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rm),
40466 /* 113877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40467 /* 113879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40468 /* 113883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40469 /* 113888 */ GIR_RootConstrainSelectedInstOperands,
40470 /* 113889 */ // GIR_Coverage, 21591,
40471 /* 113889 */ GIR_EraseRootFromParent_Done,
40472 /* 113890 */ // Label 2479: @113890
40473 /* 113890 */ GIM_Try, /*On fail goto*//*Label 2480*/ GIMT_Encode4(113916), // Rule ID 12484 //
40474 /* 113895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40475 /* 113898 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40476 /* 113901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40477 /* 113905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40478 /* 113909 */ // (sext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
40479 /* 113909 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rr),
40480 /* 113914 */ GIR_RootConstrainSelectedInstOperands,
40481 /* 113915 */ // GIR_Coverage, 12484,
40482 /* 113915 */ GIR_Done,
40483 /* 113916 */ // Label 2480: @113916
40484 /* 113916 */ GIM_Try, /*On fail goto*//*Label 2481*/ GIMT_Encode4(113942), // Rule ID 12590 //
40485 /* 113921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40486 /* 113924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40487 /* 113927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40488 /* 113931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40489 /* 113935 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2WZ256rk:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src)
40490 /* 113935 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ256rk),
40491 /* 113940 */ GIR_RootConstrainSelectedInstOperands,
40492 /* 113941 */ // GIR_Coverage, 12590,
40493 /* 113941 */ GIR_Done,
40494 /* 113942 */ // Label 2481: @113942
40495 /* 113942 */ GIM_Try, /*On fail goto*//*Label 2482*/ GIMT_Encode4(113968), // Rule ID 18362 //
40496 /* 113947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40497 /* 113950 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40498 /* 113953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40499 /* 113957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40500 /* 113961 */ // (sext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVSXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
40501 /* 113961 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrr),
40502 /* 113966 */ GIR_RootConstrainSelectedInstOperands,
40503 /* 113967 */ // GIR_Coverage, 18362,
40504 /* 113967 */ GIR_Done,
40505 /* 113968 */ // Label 2482: @113968
40506 /* 113968 */ GIM_Try, /*On fail goto*//*Label 2483*/ GIMT_Encode4(114015), // Rule ID 21668 //
40507 /* 113973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
40508 /* 113976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40509 /* 113979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40510 /* 113983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40511 /* 113987 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
40512 /* 113987 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
40513 /* 113990 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
40514 /* 113994 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40515 /* 113999 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40516 /* 114003 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40517 /* 114005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
40518 /* 114008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40519 /* 114010 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40520 /* 114013 */ GIR_RootConstrainSelectedInstOperands,
40521 /* 114014 */ // GIR_Coverage, 21668,
40522 /* 114014 */ GIR_EraseRootFromParent_Done,
40523 /* 114015 */ // Label 2483: @114015
40524 /* 114015 */ GIM_Reject,
40525 /* 114016 */ // Label 2444: @114016
40526 /* 114016 */ GIM_Try, /*On fail goto*//*Label 2484*/ GIMT_Encode4(114075), // Rule ID 21595 //
40527 /* 114021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40528 /* 114024 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40529 /* 114027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40530 /* 114031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40531 /* 114035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40532 /* 114039 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40533 /* 114042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40534 /* 114046 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40535 /* 114050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40536 /* 114052 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40537 /* 114059 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40538 /* 114059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrm),
40539 /* 114062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40540 /* 114064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40541 /* 114068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40542 /* 114073 */ GIR_RootConstrainSelectedInstOperands,
40543 /* 114074 */ // GIR_Coverage, 21595,
40544 /* 114074 */ GIR_EraseRootFromParent_Done,
40545 /* 114075 */ // Label 2484: @114075
40546 /* 114075 */ GIM_Try, /*On fail goto*//*Label 2485*/ GIMT_Encode4(114134), // Rule ID 21596 //
40547 /* 114080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40548 /* 114083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40549 /* 114086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40550 /* 114090 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40551 /* 114094 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40552 /* 114098 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40553 /* 114101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40554 /* 114105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40555 /* 114109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40556 /* 114111 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40557 /* 114118 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40558 /* 114118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrm),
40559 /* 114121 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40560 /* 114123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40561 /* 114127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40562 /* 114132 */ GIR_RootConstrainSelectedInstOperands,
40563 /* 114133 */ // GIR_Coverage, 21596,
40564 /* 114133 */ GIR_EraseRootFromParent_Done,
40565 /* 114134 */ // Label 2485: @114134
40566 /* 114134 */ GIM_Try, /*On fail goto*//*Label 2486*/ GIMT_Encode4(114160), // Rule ID 12508 //
40567 /* 114139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40568 /* 114142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40569 /* 114145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40570 /* 114149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40571 /* 114153 */ // (sext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
40572 /* 114153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrr),
40573 /* 114158 */ GIR_RootConstrainSelectedInstOperands,
40574 /* 114159 */ // GIR_Coverage, 12508,
40575 /* 114159 */ GIR_Done,
40576 /* 114160 */ // Label 2486: @114160
40577 /* 114160 */ GIM_Try, /*On fail goto*//*Label 2487*/ GIMT_Encode4(114186), // Rule ID 12544 //
40578 /* 114165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40579 /* 114168 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40580 /* 114171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40581 /* 114175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40582 /* 114179 */ // (sext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVSXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
40583 /* 114179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrr),
40584 /* 114184 */ GIR_RootConstrainSelectedInstOperands,
40585 /* 114185 */ // GIR_Coverage, 12544,
40586 /* 114185 */ GIR_Done,
40587 /* 114186 */ // Label 2487: @114186
40588 /* 114186 */ GIM_Try, /*On fail goto*//*Label 2488*/ GIMT_Encode4(114212), // Rule ID 12592 //
40589 /* 114191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40590 /* 114194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
40591 /* 114197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40592 /* 114201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40593 /* 114205 */ // (sext:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src)
40594 /* 114205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
40595 /* 114210 */ GIR_RootConstrainSelectedInstOperands,
40596 /* 114211 */ // GIR_Coverage, 12592,
40597 /* 114211 */ GIR_Done,
40598 /* 114212 */ // Label 2488: @114212
40599 /* 114212 */ GIM_Reject,
40600 /* 114213 */ // Label 2445: @114213
40601 /* 114213 */ GIM_Try, /*On fail goto*//*Label 2489*/ GIMT_Encode4(114239), // Rule ID 12587 //
40602 /* 114218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40603 /* 114221 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
40604 /* 114224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40605 /* 114228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
40606 /* 114232 */ // (sext:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2BZ256rk:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src)
40607 /* 114232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ256rk),
40608 /* 114237 */ GIR_RootConstrainSelectedInstOperands,
40609 /* 114238 */ // GIR_Coverage, 12587,
40610 /* 114238 */ GIR_Done,
40611 /* 114239 */ // Label 2489: @114239
40612 /* 114239 */ GIM_Reject,
40613 /* 114240 */ // Label 2446: @114240
40614 /* 114240 */ GIM_Try, /*On fail goto*//*Label 2490*/ GIMT_Encode4(114299), // Rule ID 21594 //
40615 /* 114245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40616 /* 114248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
40617 /* 114251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40618 /* 114255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40619 /* 114259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40620 /* 114263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40621 /* 114266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40622 /* 114270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40623 /* 114274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40624 /* 114276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40625 /* 114283 */ // (sext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
40626 /* 114283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrm),
40627 /* 114286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40628 /* 114288 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40629 /* 114292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40630 /* 114297 */ GIR_RootConstrainSelectedInstOperands,
40631 /* 114298 */ // GIR_Coverage, 21594,
40632 /* 114298 */ GIR_EraseRootFromParent_Done,
40633 /* 114299 */ // Label 2490: @114299
40634 /* 114299 */ GIM_Try, /*On fail goto*//*Label 2491*/ GIMT_Encode4(114325), // Rule ID 12490 //
40635 /* 114304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40636 /* 114307 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
40637 /* 114310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40638 /* 114314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40639 /* 114318 */ // (sext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVSXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
40640 /* 114318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrr),
40641 /* 114323 */ GIR_RootConstrainSelectedInstOperands,
40642 /* 114324 */ // GIR_Coverage, 12490,
40643 /* 114324 */ GIR_Done,
40644 /* 114325 */ // Label 2491: @114325
40645 /* 114325 */ GIM_Try, /*On fail goto*//*Label 2492*/ GIMT_Encode4(114351), // Rule ID 12589 //
40646 /* 114330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40647 /* 114333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
40648 /* 114336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40649 /* 114340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
40650 /* 114344 */ // (sext:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2WZrk:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src)
40651 /* 114344 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZrk),
40652 /* 114349 */ GIR_RootConstrainSelectedInstOperands,
40653 /* 114350 */ // GIR_Coverage, 12589,
40654 /* 114350 */ GIR_Done,
40655 /* 114351 */ // Label 2492: @114351
40656 /* 114351 */ GIM_Reject,
40657 /* 114352 */ // Label 2447: @114352
40658 /* 114352 */ GIM_Try, /*On fail goto*//*Label 2493*/ GIMT_Encode4(114378), // Rule ID 12586 //
40659 /* 114357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40660 /* 114360 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
40661 /* 114363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40662 /* 114367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
40663 /* 114371 */ // (sext:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src) => (VPMOVM2BZrk:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src)
40664 /* 114371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZrk),
40665 /* 114376 */ GIR_RootConstrainSelectedInstOperands,
40666 /* 114377 */ // GIR_Coverage, 12586,
40667 /* 114377 */ GIR_Done,
40668 /* 114378 */ // Label 2493: @114378
40669 /* 114378 */ GIM_Reject,
40670 /* 114379 */ // Label 2448: @114379
40671 /* 114379 */ GIM_Reject,
40672 /* 114380 */ // Label 25: @114380
40673 /* 114380 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 2496*/ GIMT_Encode4(114621),
40674 /* 114391 */ /*GILLT_s16*//*Label 2494*/ GIMT_Encode4(114399),
40675 /* 114395 */ /*GILLT_s32*//*Label 2495*/ GIMT_Encode4(114495),
40676 /* 114399 */ // Label 2494: @114399
40677 /* 114399 */ GIM_Try, /*On fail goto*//*Label 2497*/ GIMT_Encode4(114494), // Rule ID 22676 //
40678 /* 114404 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40679 /* 114407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40680 /* 114411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40681 /* 114415 */ // MIs[0] Operand 2
40682 /* 114415 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
40683 /* 114426 */ // (sext_inreg:{ *:[i16] } GR16:{ *:[i16] }:$src, i8:{ *:[Other] }) => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit:{ *:[i32] })), sub_16bit:{ *:[i32] })
40684 /* 114426 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
40685 /* 114429 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40686 /* 114433 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40687 /* 114438 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
40688 /* 114444 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
40689 /* 114449 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
40690 /* 114454 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40691 /* 114457 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
40692 /* 114461 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40693 /* 114466 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40694 /* 114469 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40695 /* 114471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40696 /* 114474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40697 /* 114476 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
40698 /* 114483 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
40699 /* 114488 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40700 /* 114493 */ // GIR_Coverage, 22676,
40701 /* 114493 */ GIR_EraseRootFromParent_Done,
40702 /* 114494 */ // Label 2497: @114494
40703 /* 114494 */ GIM_Reject,
40704 /* 114495 */ // Label 2495: @114495
40705 /* 114495 */ GIM_Try, /*On fail goto*//*Label 2498*/ GIMT_Encode4(114620),
40706 /* 114500 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40707 /* 114503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40708 /* 114507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40709 /* 114511 */ GIM_Try, /*On fail goto*//*Label 2499*/ GIMT_Encode4(114565), // Rule ID 22674 //
40710 /* 114516 */ // MIs[0] Operand 2
40711 /* 114516 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
40712 /* 114527 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i16:{ *:[Other] }) => (MOVSX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] }))
40713 /* 114527 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40714 /* 114530 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40715 /* 114534 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40716 /* 114539 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
40717 /* 114545 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
40718 /* 114550 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40719 /* 114555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
40720 /* 114558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40721 /* 114560 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40722 /* 114563 */ GIR_RootConstrainSelectedInstOperands,
40723 /* 114564 */ // GIR_Coverage, 22674,
40724 /* 114564 */ GIR_EraseRootFromParent_Done,
40725 /* 114565 */ // Label 2499: @114565
40726 /* 114565 */ GIM_Try, /*On fail goto*//*Label 2500*/ GIMT_Encode4(114619), // Rule ID 22675 //
40727 /* 114570 */ // MIs[0] Operand 2
40728 /* 114570 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
40729 /* 114581 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i8:{ *:[Other] }) => (MOVSX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] }))
40730 /* 114581 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
40731 /* 114584 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40732 /* 114588 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40733 /* 114593 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
40734 /* 114599 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
40735 /* 114604 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40736 /* 114609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
40737 /* 114612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40738 /* 114614 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40739 /* 114617 */ GIR_RootConstrainSelectedInstOperands,
40740 /* 114618 */ // GIR_Coverage, 22675,
40741 /* 114618 */ GIR_EraseRootFromParent_Done,
40742 /* 114619 */ // Label 2500: @114619
40743 /* 114619 */ GIM_Reject,
40744 /* 114620 */ // Label 2498: @114620
40745 /* 114620 */ GIM_Reject,
40746 /* 114621 */ // Label 2496: @114621
40747 /* 114621 */ GIM_Reject,
40748 /* 114622 */ // Label 26: @114622
40749 /* 114622 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 2510*/ GIMT_Encode4(116605),
40750 /* 114633 */ /*GILLT_s16*//*Label 2501*/ GIMT_Encode4(114717),
40751 /* 114637 */ /*GILLT_s32*//*Label 2502*/ GIMT_Encode4(114775),
40752 /* 114641 */ /*GILLT_s64*//*Label 2503*/ GIMT_Encode4(115127), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
40753 /* 114669 */ /*GILLT_v4s64*//*Label 2504*/ GIMT_Encode4(115674), GIMT_Encode4(0), GIMT_Encode4(0),
40754 /* 114681 */ /*GILLT_v8s32*//*Label 2505*/ GIMT_Encode4(115842),
40755 /* 114685 */ /*GILLT_v8s64*//*Label 2506*/ GIMT_Encode4(116010), GIMT_Encode4(0), GIMT_Encode4(0),
40756 /* 114697 */ /*GILLT_v16s16*//*Label 2507*/ GIMT_Encode4(116181),
40757 /* 114701 */ /*GILLT_v16s32*//*Label 2508*/ GIMT_Encode4(116349), GIMT_Encode4(0), GIMT_Encode4(0),
40758 /* 114713 */ /*GILLT_v32s16*//*Label 2509*/ GIMT_Encode4(116520),
40759 /* 114717 */ // Label 2501: @114717
40760 /* 114717 */ GIM_Try, /*On fail goto*//*Label 2511*/ GIMT_Encode4(114774), // Rule ID 22682 //
40761 /* 114722 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40762 /* 114725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40763 /* 114729 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40764 /* 114733 */ // (zext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
40765 /* 114733 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40766 /* 114736 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
40767 /* 114740 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40768 /* 114745 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40769 /* 114749 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40770 /* 114751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40771 /* 114754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40772 /* 114756 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
40773 /* 114763 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
40774 /* 114768 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40775 /* 114773 */ // GIR_Coverage, 22682,
40776 /* 114773 */ GIR_EraseRootFromParent_Done,
40777 /* 114774 */ // Label 2511: @114774
40778 /* 114774 */ GIM_Reject,
40779 /* 114775 */ // Label 2502: @114775
40780 /* 114775 */ GIM_Try, /*On fail goto*//*Label 2512*/ GIMT_Encode4(114898), // Rule ID 23006 //
40781 /* 114780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40782 /* 114783 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40783 /* 114786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40784 /* 114790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40785 /* 114794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40786 /* 114798 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40787 /* 114802 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40788 /* 114806 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
40789 /* 114810 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
40790 /* 114814 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40791 /* 114817 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
40792 /* 114821 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
40793 /* 114825 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
40794 /* 114829 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40795 /* 114833 */ // MIs[3] Operand 1
40796 /* 114833 */ // No operand predicates
40797 /* 114833 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
40798 /* 114835 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40799 /* 114842 */ // (zext:{ *:[i32] } (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i32] } 0:{ *:[i32] }, (IMULZU16rmi:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40800 /* 114842 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40801 /* 114845 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
40802 /* 114849 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40803 /* 114854 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
40804 /* 114858 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
40805 /* 114861 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40806 /* 114864 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
40807 /* 114871 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40808 /* 114873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40809 /* 114876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40810 /* 114878 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40811 /* 114881 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40812 /* 114884 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40813 /* 114887 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40814 /* 114892 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40815 /* 114897 */ // GIR_Coverage, 23006,
40816 /* 114897 */ GIR_EraseRootFromParent_Done,
40817 /* 114898 */ // Label 2512: @114898
40818 /* 114898 */ GIM_Try, /*On fail goto*//*Label 2513*/ GIMT_Encode4(114993), // Rule ID 23005 //
40819 /* 114903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40820 /* 114906 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40821 /* 114909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40822 /* 114913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40823 /* 114917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40824 /* 114921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40825 /* 114925 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40826 /* 114929 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40827 /* 114934 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
40828 /* 114938 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40829 /* 114942 */ // MIs[2] Operand 1
40830 /* 114942 */ // No operand predicates
40831 /* 114942 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
40832 /* 114944 */ // (zext:{ *:[i32] } (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i32] } 0:{ *:[i32] }, (IMULZU16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40833 /* 114944 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40834 /* 114947 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
40835 /* 114951 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40836 /* 114956 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
40837 /* 114960 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
40838 /* 114963 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40839 /* 114966 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40840 /* 114968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40841 /* 114971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40842 /* 114973 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40843 /* 114976 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40844 /* 114979 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40845 /* 114982 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40846 /* 114987 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40847 /* 114992 */ // GIR_Coverage, 23005,
40848 /* 114992 */ GIR_EraseRootFromParent_Done,
40849 /* 114993 */ // Label 2513: @114993
40850 /* 114993 */ GIM_Try, /*On fail goto*//*Label 2514*/ GIMT_Encode4(115035), // Rule ID 19432 //
40851 /* 114998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40852 /* 115001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40853 /* 115005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40854 /* 115009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40855 /* 115013 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
40856 /* 115017 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40857 /* 115022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40858 /* 115024 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src)
40859 /* 115024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
40860 /* 115027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40861 /* 115029 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
40862 /* 115033 */ GIR_RootConstrainSelectedInstOperands,
40863 /* 115034 */ // GIR_Coverage, 19432,
40864 /* 115034 */ GIR_EraseRootFromParent_Done,
40865 /* 115035 */ // Label 2514: @115035
40866 /* 115035 */ GIM_Try, /*On fail goto*//*Label 2515*/ GIMT_Encode4(115080), // Rule ID 19435 //
40867 /* 115040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40868 /* 115043 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40869 /* 115046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40870 /* 115050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40871 /* 115054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40872 /* 115058 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
40873 /* 115062 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40874 /* 115067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40875 /* 115069 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src)
40876 /* 115069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
40877 /* 115072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40878 /* 115074 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
40879 /* 115078 */ GIR_RootConstrainSelectedInstOperands,
40880 /* 115079 */ // GIR_Coverage, 19435,
40881 /* 115079 */ GIR_EraseRootFromParent_Done,
40882 /* 115080 */ // Label 2515: @115080
40883 /* 115080 */ GIM_Try, /*On fail goto*//*Label 2516*/ GIMT_Encode4(115103), // Rule ID 617 //
40884 /* 115085 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40885 /* 115088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40886 /* 115092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40887 /* 115096 */ // (zext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
40888 /* 115096 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
40889 /* 115101 */ GIR_RootConstrainSelectedInstOperands,
40890 /* 115102 */ // GIR_Coverage, 617,
40891 /* 115102 */ GIR_Done,
40892 /* 115103 */ // Label 2516: @115103
40893 /* 115103 */ GIM_Try, /*On fail goto*//*Label 2517*/ GIMT_Encode4(115126), // Rule ID 619 //
40894 /* 115108 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40895 /* 115111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40896 /* 115115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40897 /* 115119 */ // (zext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
40898 /* 115119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
40899 /* 115124 */ GIR_RootConstrainSelectedInstOperands,
40900 /* 115125 */ // GIR_Coverage, 619,
40901 /* 115125 */ GIR_Done,
40902 /* 115126 */ // Label 2517: @115126
40903 /* 115126 */ GIM_Reject,
40904 /* 115127 */ // Label 2503: @115127
40905 /* 115127 */ GIM_Try, /*On fail goto*//*Label 2518*/ GIMT_Encode4(115250), // Rule ID 23008 //
40906 /* 115132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40907 /* 115135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40908 /* 115138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40909 /* 115142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40910 /* 115146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40911 /* 115150 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40912 /* 115154 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40913 /* 115158 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
40914 /* 115162 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
40915 /* 115166 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40916 /* 115169 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
40917 /* 115173 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
40918 /* 115177 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
40919 /* 115181 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40920 /* 115185 */ // MIs[3] Operand 1
40921 /* 115185 */ // No operand predicates
40922 /* 115185 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
40923 /* 115187 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40924 /* 115194 */ // (zext:{ *:[i64] } (mul:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (IMULZU16rmi:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40925 /* 115194 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40926 /* 115197 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
40927 /* 115201 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40928 /* 115206 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
40929 /* 115210 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
40930 /* 115213 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40931 /* 115216 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
40932 /* 115223 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40933 /* 115225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40934 /* 115228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40935 /* 115230 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40936 /* 115233 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40937 /* 115236 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40938 /* 115239 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40939 /* 115244 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40940 /* 115249 */ // GIR_Coverage, 23008,
40941 /* 115249 */ GIR_EraseRootFromParent_Done,
40942 /* 115250 */ // Label 2518: @115250
40943 /* 115250 */ GIM_Try, /*On fail goto*//*Label 2519*/ GIMT_Encode4(115345), // Rule ID 23007 //
40944 /* 115255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40945 /* 115258 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40946 /* 115261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40947 /* 115265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40948 /* 115269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40949 /* 115273 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40950 /* 115277 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40951 /* 115281 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40952 /* 115286 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
40953 /* 115290 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40954 /* 115294 */ // MIs[2] Operand 1
40955 /* 115294 */ // No operand predicates
40956 /* 115294 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
40957 /* 115296 */ // (zext:{ *:[i64] } (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (IMULZU16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2), sub_16bit:{ *:[i32] })
40958 /* 115296 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40959 /* 115299 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
40960 /* 115303 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40961 /* 115308 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
40962 /* 115312 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
40963 /* 115315 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40964 /* 115318 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40965 /* 115320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40966 /* 115323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40967 /* 115325 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40968 /* 115328 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40969 /* 115331 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40970 /* 115334 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40971 /* 115339 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
40972 /* 115344 */ // GIR_Coverage, 23007,
40973 /* 115344 */ GIR_EraseRootFromParent_Done,
40974 /* 115345 */ // Label 2519: @115345
40975 /* 115345 */ GIM_Try, /*On fail goto*//*Label 2520*/ GIMT_Encode4(115419), // Rule ID 19433 //
40976 /* 115350 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40977 /* 115353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40978 /* 115357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40979 /* 115361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40980 /* 115365 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
40981 /* 115369 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40982 /* 115374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40983 /* 115376 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src), sub_32bit:{ *:[i32] })
40984 /* 115376 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40985 /* 115379 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
40986 /* 115383 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40987 /* 115388 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
40988 /* 115392 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40989 /* 115394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40990 /* 115397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40991 /* 115399 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
40992 /* 115402 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40993 /* 115405 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40994 /* 115408 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40995 /* 115413 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
40996 /* 115418 */ // GIR_Coverage, 19433,
40997 /* 115418 */ GIR_EraseRootFromParent_Done,
40998 /* 115419 */ // Label 2520: @115419
40999 /* 115419 */ GIM_Try, /*On fail goto*//*Label 2521*/ GIMT_Encode4(115496), // Rule ID 19436 //
41000 /* 115424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
41001 /* 115427 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41002 /* 115430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41003 /* 115434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41004 /* 115438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
41005 /* 115442 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
41006 /* 115446 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
41007 /* 115451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41008 /* 115453 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src), sub_32bit:{ *:[i32] })
41009 /* 115453 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41010 /* 115456 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
41011 /* 115460 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41012 /* 115465 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
41013 /* 115469 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41014 /* 115471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
41015 /* 115474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41016 /* 115476 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
41017 /* 115479 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41018 /* 115482 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
41019 /* 115485 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
41020 /* 115490 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
41021 /* 115495 */ // GIR_Coverage, 19436,
41022 /* 115495 */ GIR_EraseRootFromParent_Done,
41023 /* 115496 */ // Label 2521: @115496
41024 /* 115496 */ GIM_Try, /*On fail goto*//*Label 2522*/ GIMT_Encode4(115555), // Rule ID 17579 //
41025 /* 115501 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41026 /* 115504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41027 /* 115508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41028 /* 115512 */ // (zext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
41029 /* 115512 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41030 /* 115515 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
41031 /* 115519 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41032 /* 115524 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
41033 /* 115528 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41034 /* 115530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
41035 /* 115533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41036 /* 115535 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
41037 /* 115538 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41038 /* 115541 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
41039 /* 115544 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
41040 /* 115549 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
41041 /* 115554 */ // GIR_Coverage, 17579,
41042 /* 115554 */ GIR_EraseRootFromParent_Done,
41043 /* 115555 */ // Label 2522: @115555
41044 /* 115555 */ GIM_Try, /*On fail goto*//*Label 2523*/ GIMT_Encode4(115614), // Rule ID 17581 //
41045 /* 115560 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41046 /* 115563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41047 /* 115567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41048 /* 115571 */ // (zext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
41049 /* 115571 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41050 /* 115574 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
41051 /* 115578 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41052 /* 115583 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
41053 /* 115587 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41054 /* 115589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
41055 /* 115592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41056 /* 115594 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
41057 /* 115597 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41058 /* 115600 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
41059 /* 115603 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
41060 /* 115608 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
41061 /* 115613 */ // GIR_Coverage, 17581,
41062 /* 115613 */ GIR_EraseRootFromParent_Done,
41063 /* 115614 */ // Label 2523: @115614
41064 /* 115614 */ GIM_Try, /*On fail goto*//*Label 2524*/ GIMT_Encode4(115673), // Rule ID 17583 //
41065 /* 115619 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41066 /* 115622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41067 /* 115626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41068 /* 115630 */ // (zext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src), sub_32bit:{ *:[i32] })
41069 /* 115630 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41070 /* 115633 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
41071 /* 115637 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41072 /* 115642 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
41073 /* 115646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
41074 /* 115648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
41075 /* 115651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41076 /* 115653 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
41077 /* 115656 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41078 /* 115659 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
41079 /* 115662 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
41080 /* 115667 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
41081 /* 115672 */ // GIR_Coverage, 17583,
41082 /* 115672 */ GIR_EraseRootFromParent_Done,
41083 /* 115673 */ // Label 2524: @115673
41084 /* 115673 */ GIM_Reject,
41085 /* 115674 */ // Label 2504: @115674
41086 /* 115674 */ GIM_Try, /*On fail goto*//*Label 2525*/ GIMT_Encode4(115841),
41087 /* 115679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
41088 /* 115682 */ GIM_Try, /*On fail goto*//*Label 2526*/ GIMT_Encode4(115738), // Rule ID 18402 //
41089 /* 115687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
41090 /* 115690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41091 /* 115694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41092 /* 115698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41093 /* 115702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41094 /* 115705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41095 /* 115709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41096 /* 115713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41097 /* 115715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41098 /* 115722 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
41099 /* 115722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrm),
41100 /* 115725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41101 /* 115727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41102 /* 115731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41103 /* 115736 */ GIR_RootConstrainSelectedInstOperands,
41104 /* 115737 */ // GIR_Coverage, 18402,
41105 /* 115737 */ GIR_EraseRootFromParent_Done,
41106 /* 115738 */ // Label 2526: @115738
41107 /* 115738 */ GIM_Try, /*On fail goto*//*Label 2527*/ GIMT_Encode4(115794), // Rule ID 21626 //
41108 /* 115743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
41109 /* 115746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41110 /* 115750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41111 /* 115754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41112 /* 115758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41113 /* 115761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41114 /* 115765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41115 /* 115769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41116 /* 115771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41117 /* 115778 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
41118 /* 115778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rm),
41119 /* 115781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41120 /* 115783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41121 /* 115787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41122 /* 115792 */ GIR_RootConstrainSelectedInstOperands,
41123 /* 115793 */ // GIR_Coverage, 21626,
41124 /* 115793 */ GIR_EraseRootFromParent_Done,
41125 /* 115794 */ // Label 2527: @115794
41126 /* 115794 */ GIM_Try, /*On fail goto*//*Label 2528*/ GIMT_Encode4(115817), // Rule ID 12466 //
41127 /* 115799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
41128 /* 115802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41129 /* 115806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41130 /* 115810 */ // (zext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVZXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
41131 /* 115810 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rr),
41132 /* 115815 */ GIR_RootConstrainSelectedInstOperands,
41133 /* 115816 */ // GIR_Coverage, 12466,
41134 /* 115816 */ GIR_Done,
41135 /* 115817 */ // Label 2528: @115817
41136 /* 115817 */ GIM_Try, /*On fail goto*//*Label 2529*/ GIMT_Encode4(115840), // Rule ID 18390 //
41137 /* 115822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
41138 /* 115825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41139 /* 115829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
41140 /* 115833 */ // (zext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVZXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
41141 /* 115833 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrr),
41142 /* 115838 */ GIR_RootConstrainSelectedInstOperands,
41143 /* 115839 */ // GIR_Coverage, 18390,
41144 /* 115839 */ GIR_Done,
41145 /* 115840 */ // Label 2529: @115840
41146 /* 115840 */ GIM_Reject,
41147 /* 115841 */ // Label 2525: @115841
41148 /* 115841 */ GIM_Reject,
41149 /* 115842 */ // Label 2505: @115842
41150 /* 115842 */ GIM_Try, /*On fail goto*//*Label 2530*/ GIMT_Encode4(116009),
41151 /* 115847 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41152 /* 115850 */ GIM_Try, /*On fail goto*//*Label 2531*/ GIMT_Encode4(115906), // Rule ID 18398 //
41153 /* 115855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
41154 /* 115858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41155 /* 115862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41156 /* 115866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41157 /* 115870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41158 /* 115873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41159 /* 115877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41160 /* 115881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41161 /* 115883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41162 /* 115890 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
41163 /* 115890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrm),
41164 /* 115893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41165 /* 115895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41166 /* 115899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41167 /* 115904 */ GIR_RootConstrainSelectedInstOperands,
41168 /* 115905 */ // GIR_Coverage, 18398,
41169 /* 115905 */ GIR_EraseRootFromParent_Done,
41170 /* 115906 */ // Label 2531: @115906
41171 /* 115906 */ GIM_Try, /*On fail goto*//*Label 2532*/ GIMT_Encode4(115962), // Rule ID 21625 //
41172 /* 115911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
41173 /* 115914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41174 /* 115918 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41175 /* 115922 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41176 /* 115926 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41177 /* 115929 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41178 /* 115933 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41179 /* 115937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41180 /* 115939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41181 /* 115946 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
41182 /* 115946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rm),
41183 /* 115949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41184 /* 115951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41185 /* 115955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41186 /* 115960 */ GIR_RootConstrainSelectedInstOperands,
41187 /* 115961 */ // GIR_Coverage, 21625,
41188 /* 115961 */ GIR_EraseRootFromParent_Done,
41189 /* 115962 */ // Label 2532: @115962
41190 /* 115962 */ GIM_Try, /*On fail goto*//*Label 2533*/ GIMT_Encode4(115985), // Rule ID 12430 //
41191 /* 115967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
41192 /* 115970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41193 /* 115974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41194 /* 115978 */ // (zext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
41195 /* 115978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rr),
41196 /* 115983 */ GIR_RootConstrainSelectedInstOperands,
41197 /* 115984 */ // GIR_Coverage, 12430,
41198 /* 115984 */ GIR_Done,
41199 /* 115985 */ // Label 2533: @115985
41200 /* 115985 */ GIM_Try, /*On fail goto*//*Label 2534*/ GIMT_Encode4(116008), // Rule ID 18388 //
41201 /* 115990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
41202 /* 115993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41203 /* 115997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
41204 /* 116001 */ // (zext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVZXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
41205 /* 116001 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrr),
41206 /* 116006 */ GIR_RootConstrainSelectedInstOperands,
41207 /* 116007 */ // GIR_Coverage, 18388,
41208 /* 116007 */ GIR_Done,
41209 /* 116008 */ // Label 2534: @116008
41210 /* 116008 */ GIM_Reject,
41211 /* 116009 */ // Label 2530: @116009
41212 /* 116009 */ GIM_Reject,
41213 /* 116010 */ // Label 2506: @116010
41214 /* 116010 */ GIM_Try, /*On fail goto*//*Label 2535*/ GIMT_Encode4(116069), // Rule ID 21630 //
41215 /* 116015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41216 /* 116018 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41217 /* 116021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41218 /* 116025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41219 /* 116029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41220 /* 116033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41221 /* 116036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41222 /* 116040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41223 /* 116044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41224 /* 116046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41225 /* 116053 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
41226 /* 116053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrm),
41227 /* 116056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41228 /* 116058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41229 /* 116062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41230 /* 116067 */ GIR_RootConstrainSelectedInstOperands,
41231 /* 116068 */ // GIR_Coverage, 21630,
41232 /* 116068 */ GIR_EraseRootFromParent_Done,
41233 /* 116069 */ // Label 2535: @116069
41234 /* 116069 */ GIM_Try, /*On fail goto*//*Label 2536*/ GIMT_Encode4(116128), // Rule ID 21631 //
41235 /* 116074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41236 /* 116077 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
41237 /* 116080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41238 /* 116084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41239 /* 116088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41240 /* 116092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41241 /* 116095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41242 /* 116099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41243 /* 116103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41244 /* 116105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41245 /* 116112 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
41246 /* 116112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrm),
41247 /* 116115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41248 /* 116117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41249 /* 116121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41250 /* 116126 */ GIR_RootConstrainSelectedInstOperands,
41251 /* 116127 */ // GIR_Coverage, 21631,
41252 /* 116127 */ GIR_EraseRootFromParent_Done,
41253 /* 116128 */ // Label 2536: @116128
41254 /* 116128 */ GIM_Try, /*On fail goto*//*Label 2537*/ GIMT_Encode4(116154), // Rule ID 12454 //
41255 /* 116133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41256 /* 116136 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
41257 /* 116139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41258 /* 116143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41259 /* 116147 */ // (zext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
41260 /* 116147 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrr),
41261 /* 116152 */ GIR_RootConstrainSelectedInstOperands,
41262 /* 116153 */ // GIR_Coverage, 12454,
41263 /* 116153 */ GIR_Done,
41264 /* 116154 */ // Label 2537: @116154
41265 /* 116154 */ GIM_Try, /*On fail goto*//*Label 2538*/ GIMT_Encode4(116180), // Rule ID 12472 //
41266 /* 116159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41267 /* 116162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
41268 /* 116165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41269 /* 116169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41270 /* 116173 */ // (zext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVZXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
41271 /* 116173 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrr),
41272 /* 116178 */ GIR_RootConstrainSelectedInstOperands,
41273 /* 116179 */ // GIR_Coverage, 12472,
41274 /* 116179 */ GIR_Done,
41275 /* 116180 */ // Label 2538: @116180
41276 /* 116180 */ GIM_Reject,
41277 /* 116181 */ // Label 2507: @116181
41278 /* 116181 */ GIM_Try, /*On fail goto*//*Label 2539*/ GIMT_Encode4(116348),
41279 /* 116186 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
41280 /* 116189 */ GIM_Try, /*On fail goto*//*Label 2540*/ GIMT_Encode4(116245), // Rule ID 18392 //
41281 /* 116194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
41282 /* 116197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41283 /* 116201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41284 /* 116205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41285 /* 116209 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41286 /* 116212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41287 /* 116216 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41288 /* 116220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41289 /* 116222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41290 /* 116229 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
41291 /* 116229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrm),
41292 /* 116232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41293 /* 116234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41294 /* 116238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41295 /* 116243 */ GIR_RootConstrainSelectedInstOperands,
41296 /* 116244 */ // GIR_Coverage, 18392,
41297 /* 116244 */ GIR_EraseRootFromParent_Done,
41298 /* 116245 */ // Label 2540: @116245
41299 /* 116245 */ GIM_Try, /*On fail goto*//*Label 2541*/ GIMT_Encode4(116301), // Rule ID 21624 //
41300 /* 116250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
41301 /* 116253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41302 /* 116257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41303 /* 116261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41304 /* 116265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41305 /* 116268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41306 /* 116272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41307 /* 116276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41308 /* 116278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41309 /* 116285 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
41310 /* 116285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rm),
41311 /* 116288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41312 /* 116290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41313 /* 116294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41314 /* 116299 */ GIR_RootConstrainSelectedInstOperands,
41315 /* 116300 */ // GIR_Coverage, 21624,
41316 /* 116300 */ GIR_EraseRootFromParent_Done,
41317 /* 116301 */ // Label 2541: @116301
41318 /* 116301 */ GIM_Try, /*On fail goto*//*Label 2542*/ GIMT_Encode4(116324), // Rule ID 12376 //
41319 /* 116306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
41320 /* 116309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41321 /* 116313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41322 /* 116317 */ // (zext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
41323 /* 116317 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rr),
41324 /* 116322 */ GIR_RootConstrainSelectedInstOperands,
41325 /* 116323 */ // GIR_Coverage, 12376,
41326 /* 116323 */ GIR_Done,
41327 /* 116324 */ // Label 2542: @116324
41328 /* 116324 */ GIM_Try, /*On fail goto*//*Label 2543*/ GIMT_Encode4(116347), // Rule ID 18385 //
41329 /* 116329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
41330 /* 116332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
41331 /* 116336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
41332 /* 116340 */ // (zext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVZXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
41333 /* 116340 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrr),
41334 /* 116345 */ GIR_RootConstrainSelectedInstOperands,
41335 /* 116346 */ // GIR_Coverage, 18385,
41336 /* 116346 */ GIR_Done,
41337 /* 116347 */ // Label 2543: @116347
41338 /* 116347 */ GIM_Reject,
41339 /* 116348 */ // Label 2539: @116348
41340 /* 116348 */ GIM_Reject,
41341 /* 116349 */ // Label 2508: @116349
41342 /* 116349 */ GIM_Try, /*On fail goto*//*Label 2544*/ GIMT_Encode4(116408), // Rule ID 21628 //
41343 /* 116354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41344 /* 116357 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
41345 /* 116360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41346 /* 116364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41347 /* 116368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41348 /* 116372 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41349 /* 116375 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41350 /* 116379 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41351 /* 116383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41352 /* 116385 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41353 /* 116392 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
41354 /* 116392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrm),
41355 /* 116395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41356 /* 116397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41357 /* 116401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41358 /* 116406 */ GIR_RootConstrainSelectedInstOperands,
41359 /* 116407 */ // GIR_Coverage, 21628,
41360 /* 116407 */ GIR_EraseRootFromParent_Done,
41361 /* 116408 */ // Label 2544: @116408
41362 /* 116408 */ GIM_Try, /*On fail goto*//*Label 2545*/ GIMT_Encode4(116467), // Rule ID 21629 //
41363 /* 116413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41364 /* 116416 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
41365 /* 116419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41366 /* 116423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41367 /* 116427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41368 /* 116431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41369 /* 116434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41370 /* 116438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41371 /* 116442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41372 /* 116444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41373 /* 116451 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
41374 /* 116451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
41375 /* 116454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41376 /* 116456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41377 /* 116460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41378 /* 116465 */ GIR_RootConstrainSelectedInstOperands,
41379 /* 116466 */ // GIR_Coverage, 21629,
41380 /* 116466 */ GIR_EraseRootFromParent_Done,
41381 /* 116467 */ // Label 2545: @116467
41382 /* 116467 */ GIM_Try, /*On fail goto*//*Label 2546*/ GIMT_Encode4(116493), // Rule ID 12400 //
41383 /* 116472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41384 /* 116475 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
41385 /* 116478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41386 /* 116482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
41387 /* 116486 */ // (zext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
41388 /* 116486 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrr),
41389 /* 116491 */ GIR_RootConstrainSelectedInstOperands,
41390 /* 116492 */ // GIR_Coverage, 12400,
41391 /* 116492 */ GIR_Done,
41392 /* 116493 */ // Label 2546: @116493
41393 /* 116493 */ GIM_Try, /*On fail goto*//*Label 2547*/ GIMT_Encode4(116519), // Rule ID 12436 //
41394 /* 116498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
41395 /* 116501 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
41396 /* 116504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41397 /* 116508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41398 /* 116512 */ // (zext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
41399 /* 116512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
41400 /* 116517 */ GIR_RootConstrainSelectedInstOperands,
41401 /* 116518 */ // GIR_Coverage, 12436,
41402 /* 116518 */ GIR_Done,
41403 /* 116519 */ // Label 2547: @116519
41404 /* 116519 */ GIM_Reject,
41405 /* 116520 */ // Label 2509: @116520
41406 /* 116520 */ GIM_Try, /*On fail goto*//*Label 2548*/ GIMT_Encode4(116604),
41407 /* 116525 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
41408 /* 116528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
41409 /* 116532 */ GIM_Try, /*On fail goto*//*Label 2549*/ GIMT_Encode4(116584), // Rule ID 21627 //
41410 /* 116537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
41411 /* 116540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41412 /* 116544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41413 /* 116548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41414 /* 116551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41415 /* 116555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41416 /* 116559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41417 /* 116561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41418 /* 116568 */ // (zext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
41419 /* 116568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrm),
41420 /* 116571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41421 /* 116573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
41422 /* 116577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41423 /* 116582 */ GIR_RootConstrainSelectedInstOperands,
41424 /* 116583 */ // GIR_Coverage, 21627,
41425 /* 116583 */ GIR_EraseRootFromParent_Done,
41426 /* 116584 */ // Label 2549: @116584
41427 /* 116584 */ GIM_Try, /*On fail goto*//*Label 2550*/ GIMT_Encode4(116603), // Rule ID 12382 //
41428 /* 116589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
41429 /* 116592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
41430 /* 116596 */ // (zext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVZXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
41431 /* 116596 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrr),
41432 /* 116601 */ GIR_RootConstrainSelectedInstOperands,
41433 /* 116602 */ // GIR_Coverage, 12382,
41434 /* 116602 */ GIR_Done,
41435 /* 116603 */ // Label 2550: @116603
41436 /* 116603 */ GIM_Reject,
41437 /* 116604 */ // Label 2548: @116604
41438 /* 116604 */ GIM_Reject,
41439 /* 116605 */ // Label 2510: @116605
41440 /* 116605 */ GIM_Reject,
41441 /* 116606 */ // Label 27: @116606
41442 /* 116606 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2555*/ GIMT_Encode4(118889),
41443 /* 116617 */ /*GILLT_s8*//*Label 2551*/ GIMT_Encode4(116633),
41444 /* 116621 */ /*GILLT_s16*//*Label 2552*/ GIMT_Encode4(117008),
41445 /* 116625 */ /*GILLT_s32*//*Label 2553*/ GIMT_Encode4(117383),
41446 /* 116629 */ /*GILLT_s64*//*Label 2554*/ GIMT_Encode4(118136),
41447 /* 116633 */ // Label 2551: @116633
41448 /* 116633 */ GIM_Try, /*On fail goto*//*Label 2556*/ GIMT_Encode4(117007),
41449 /* 116638 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41450 /* 116641 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41451 /* 116644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41452 /* 116648 */ GIM_Try, /*On fail goto*//*Label 2557*/ GIMT_Encode4(116715), // Rule ID 672 //
41453 /* 116653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41454 /* 116656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41455 /* 116660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41456 /* 116664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41457 /* 116667 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41458 /* 116671 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
41459 /* 116675 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
41460 /* 116679 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41461 /* 116683 */ // MIs[2] Operand 1
41462 /* 116683 */ // No operand predicates
41463 /* 116683 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
41464 /* 116685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41465 /* 116692 */ // (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (SHL8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
41466 /* 116692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi_ND),
41467 /* 116695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41468 /* 116697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41469 /* 116701 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
41470 /* 116704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41471 /* 116707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
41472 /* 116713 */ GIR_RootConstrainSelectedInstOperands,
41473 /* 116714 */ // GIR_Coverage, 672,
41474 /* 116714 */ GIR_EraseRootFromParent_Done,
41475 /* 116715 */ // Label 2557: @116715
41476 /* 116715 */ GIM_Try, /*On fail goto*//*Label 2558*/ GIMT_Encode4(116788), // Rule ID 688 //
41477 /* 116720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41478 /* 116723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41479 /* 116727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41480 /* 116731 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41481 /* 116734 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41482 /* 116738 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
41483 /* 116742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41484 /* 116746 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41485 /* 116748 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41486 /* 116755 */ // (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (SHL8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
41487 /* 116755 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41488 /* 116759 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41489 /* 116765 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41490 /* 116769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL_ND),
41491 /* 116772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41492 /* 116774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41493 /* 116778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41494 /* 116781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41495 /* 116786 */ GIR_RootConstrainSelectedInstOperands,
41496 /* 116787 */ // GIR_Coverage, 688,
41497 /* 116787 */ GIR_EraseRootFromParent_Done,
41498 /* 116788 */ // Label 2558: @116788
41499 /* 116788 */ GIM_Try, /*On fail goto*//*Label 2559*/ GIMT_Encode4(116818), // Rule ID 22707 //
41500 /* 116793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41501 /* 116796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41502 /* 116800 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41503 /* 116804 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
41504 /* 116804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
41505 /* 116807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41506 /* 116809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41507 /* 116811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41508 /* 116813 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41509 /* 116816 */ GIR_RootConstrainSelectedInstOperands,
41510 /* 116817 */ // GIR_Coverage, 22707,
41511 /* 116817 */ GIR_EraseRootFromParent_Done,
41512 /* 116818 */ // Label 2559: @116818
41513 /* 116818 */ GIM_Try, /*On fail goto*//*Label 2560*/ GIMT_Encode4(116848), // Rule ID 22711 //
41514 /* 116823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
41515 /* 116826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41516 /* 116830 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41517 /* 116834 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
41518 /* 116834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
41519 /* 116837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41520 /* 116839 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41521 /* 116841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41522 /* 116843 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41523 /* 116846 */ GIR_RootConstrainSelectedInstOperands,
41524 /* 116847 */ // GIR_Coverage, 22711,
41525 /* 116847 */ GIR_EraseRootFromParent_Done,
41526 /* 116848 */ // Label 2560: @116848
41527 /* 116848 */ GIM_Try, /*On fail goto*//*Label 2561*/ GIMT_Encode4(116885), // Rule ID 660 //
41528 /* 116853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41529 /* 116856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41530 /* 116860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41531 /* 116864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41532 /* 116868 */ // MIs[1] Operand 1
41533 /* 116868 */ // No operand predicates
41534 /* 116868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41535 /* 116870 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41536 /* 116870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri),
41537 /* 116873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41538 /* 116875 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41539 /* 116877 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41540 /* 116880 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41541 /* 116883 */ GIR_RootConstrainSelectedInstOperands,
41542 /* 116884 */ // GIR_Coverage, 660,
41543 /* 116884 */ GIR_EraseRootFromParent_Done,
41544 /* 116885 */ // Label 2561: @116885
41545 /* 116885 */ GIM_Try, /*On fail goto*//*Label 2562*/ GIMT_Encode4(116922), // Rule ID 664 //
41546 /* 116890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41547 /* 116893 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41548 /* 116897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41549 /* 116901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41550 /* 116905 */ // MIs[1] Operand 1
41551 /* 116905 */ // No operand predicates
41552 /* 116905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41553 /* 116907 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41554 /* 116907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri_ND),
41555 /* 116910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41556 /* 116912 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41557 /* 116914 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41558 /* 116917 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41559 /* 116920 */ GIR_RootConstrainSelectedInstOperands,
41560 /* 116921 */ // GIR_Coverage, 664,
41561 /* 116921 */ GIR_EraseRootFromParent_Done,
41562 /* 116922 */ // Label 2562: @116922
41563 /* 116922 */ GIM_Try, /*On fail goto*//*Label 2563*/ GIMT_Encode4(116964), // Rule ID 676 //
41564 /* 116927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41565 /* 116930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41566 /* 116934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41567 /* 116938 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41568 /* 116938 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41569 /* 116942 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41570 /* 116948 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41571 /* 116952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL),
41572 /* 116955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41573 /* 116957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41574 /* 116959 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41575 /* 116962 */ GIR_RootConstrainSelectedInstOperands,
41576 /* 116963 */ // GIR_Coverage, 676,
41577 /* 116963 */ GIR_EraseRootFromParent_Done,
41578 /* 116964 */ // Label 2563: @116964
41579 /* 116964 */ GIM_Try, /*On fail goto*//*Label 2564*/ GIMT_Encode4(117006), // Rule ID 680 //
41580 /* 116969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41581 /* 116972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41582 /* 116976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41583 /* 116980 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41584 /* 116980 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41585 /* 116984 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41586 /* 116990 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41587 /* 116994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL_ND),
41588 /* 116997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41589 /* 116999 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41590 /* 117001 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41591 /* 117004 */ GIR_RootConstrainSelectedInstOperands,
41592 /* 117005 */ // GIR_Coverage, 680,
41593 /* 117005 */ GIR_EraseRootFromParent_Done,
41594 /* 117006 */ // Label 2564: @117006
41595 /* 117006 */ GIM_Reject,
41596 /* 117007 */ // Label 2556: @117007
41597 /* 117007 */ GIM_Reject,
41598 /* 117008 */ // Label 2552: @117008
41599 /* 117008 */ GIM_Try, /*On fail goto*//*Label 2565*/ GIMT_Encode4(117382),
41600 /* 117013 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41601 /* 117016 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41602 /* 117019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41603 /* 117023 */ GIM_Try, /*On fail goto*//*Label 2566*/ GIMT_Encode4(117090), // Rule ID 673 //
41604 /* 117028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41605 /* 117031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41606 /* 117035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41607 /* 117039 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41608 /* 117042 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41609 /* 117046 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
41610 /* 117050 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
41611 /* 117054 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41612 /* 117058 */ // MIs[2] Operand 1
41613 /* 117058 */ // No operand predicates
41614 /* 117058 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
41615 /* 117060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41616 /* 117067 */ // (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (SHL16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
41617 /* 117067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi_ND),
41618 /* 117070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41619 /* 117072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41620 /* 117076 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
41621 /* 117079 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41622 /* 117082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
41623 /* 117088 */ GIR_RootConstrainSelectedInstOperands,
41624 /* 117089 */ // GIR_Coverage, 673,
41625 /* 117089 */ GIR_EraseRootFromParent_Done,
41626 /* 117090 */ // Label 2566: @117090
41627 /* 117090 */ GIM_Try, /*On fail goto*//*Label 2567*/ GIMT_Encode4(117163), // Rule ID 689 //
41628 /* 117095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41629 /* 117098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41630 /* 117102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41631 /* 117106 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41632 /* 117109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41633 /* 117113 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
41634 /* 117117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41635 /* 117121 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41636 /* 117123 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41637 /* 117130 */ // (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (SHL16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
41638 /* 117130 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41639 /* 117134 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41640 /* 117140 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41641 /* 117144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL_ND),
41642 /* 117147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41643 /* 117149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41644 /* 117153 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41645 /* 117156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41646 /* 117161 */ GIR_RootConstrainSelectedInstOperands,
41647 /* 117162 */ // GIR_Coverage, 689,
41648 /* 117162 */ GIR_EraseRootFromParent_Done,
41649 /* 117163 */ // Label 2567: @117163
41650 /* 117163 */ GIM_Try, /*On fail goto*//*Label 2568*/ GIMT_Encode4(117193), // Rule ID 22708 //
41651 /* 117168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41652 /* 117171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41653 /* 117175 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41654 /* 117179 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
41655 /* 117179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
41656 /* 117182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41657 /* 117184 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41658 /* 117186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41659 /* 117188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41660 /* 117191 */ GIR_RootConstrainSelectedInstOperands,
41661 /* 117192 */ // GIR_Coverage, 22708,
41662 /* 117192 */ GIR_EraseRootFromParent_Done,
41663 /* 117193 */ // Label 2568: @117193
41664 /* 117193 */ GIM_Try, /*On fail goto*//*Label 2569*/ GIMT_Encode4(117223), // Rule ID 22712 //
41665 /* 117198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
41666 /* 117201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41667 /* 117205 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41668 /* 117209 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
41669 /* 117209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
41670 /* 117212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41671 /* 117214 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41672 /* 117216 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41673 /* 117218 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41674 /* 117221 */ GIR_RootConstrainSelectedInstOperands,
41675 /* 117222 */ // GIR_Coverage, 22712,
41676 /* 117222 */ GIR_EraseRootFromParent_Done,
41677 /* 117223 */ // Label 2569: @117223
41678 /* 117223 */ GIM_Try, /*On fail goto*//*Label 2570*/ GIMT_Encode4(117260), // Rule ID 661 //
41679 /* 117228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41680 /* 117231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41681 /* 117235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41682 /* 117239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41683 /* 117243 */ // MIs[1] Operand 1
41684 /* 117243 */ // No operand predicates
41685 /* 117243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41686 /* 117245 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41687 /* 117245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri),
41688 /* 117248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41689 /* 117250 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41690 /* 117252 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41691 /* 117255 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41692 /* 117258 */ GIR_RootConstrainSelectedInstOperands,
41693 /* 117259 */ // GIR_Coverage, 661,
41694 /* 117259 */ GIR_EraseRootFromParent_Done,
41695 /* 117260 */ // Label 2570: @117260
41696 /* 117260 */ GIM_Try, /*On fail goto*//*Label 2571*/ GIMT_Encode4(117297), // Rule ID 665 //
41697 /* 117265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41698 /* 117268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41699 /* 117272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41700 /* 117276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41701 /* 117280 */ // MIs[1] Operand 1
41702 /* 117280 */ // No operand predicates
41703 /* 117280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41704 /* 117282 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41705 /* 117282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri_ND),
41706 /* 117285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41707 /* 117287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41708 /* 117289 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41709 /* 117292 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41710 /* 117295 */ GIR_RootConstrainSelectedInstOperands,
41711 /* 117296 */ // GIR_Coverage, 665,
41712 /* 117296 */ GIR_EraseRootFromParent_Done,
41713 /* 117297 */ // Label 2571: @117297
41714 /* 117297 */ GIM_Try, /*On fail goto*//*Label 2572*/ GIMT_Encode4(117339), // Rule ID 677 //
41715 /* 117302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41716 /* 117305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41717 /* 117309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41718 /* 117313 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41719 /* 117313 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41720 /* 117317 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41721 /* 117323 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41722 /* 117327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL),
41723 /* 117330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41724 /* 117332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41725 /* 117334 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41726 /* 117337 */ GIR_RootConstrainSelectedInstOperands,
41727 /* 117338 */ // GIR_Coverage, 677,
41728 /* 117338 */ GIR_EraseRootFromParent_Done,
41729 /* 117339 */ // Label 2572: @117339
41730 /* 117339 */ GIM_Try, /*On fail goto*//*Label 2573*/ GIMT_Encode4(117381), // Rule ID 681 //
41731 /* 117344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41732 /* 117347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41733 /* 117351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41734 /* 117355 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41735 /* 117355 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41736 /* 117359 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41737 /* 117365 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41738 /* 117369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL_ND),
41739 /* 117372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41740 /* 117374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41741 /* 117376 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41742 /* 117379 */ GIR_RootConstrainSelectedInstOperands,
41743 /* 117380 */ // GIR_Coverage, 681,
41744 /* 117380 */ GIR_EraseRootFromParent_Done,
41745 /* 117381 */ // Label 2573: @117381
41746 /* 117381 */ GIM_Reject,
41747 /* 117382 */ // Label 2565: @117382
41748 /* 117382 */ GIM_Reject,
41749 /* 117383 */ // Label 2553: @117383
41750 /* 117383 */ GIM_Try, /*On fail goto*//*Label 2574*/ GIMT_Encode4(118135),
41751 /* 117388 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41752 /* 117391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41753 /* 117394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41754 /* 117398 */ GIM_Try, /*On fail goto*//*Label 2575*/ GIMT_Encode4(117465), // Rule ID 674 //
41755 /* 117403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41756 /* 117406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41757 /* 117410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41758 /* 117414 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41759 /* 117417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41760 /* 117421 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41761 /* 117425 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
41762 /* 117429 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41763 /* 117433 */ // MIs[2] Operand 1
41764 /* 117433 */ // No operand predicates
41765 /* 117433 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
41766 /* 117435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41767 /* 117442 */ // (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (SHL32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
41768 /* 117442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi_ND),
41769 /* 117445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41770 /* 117447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41771 /* 117451 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
41772 /* 117454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41773 /* 117457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
41774 /* 117463 */ GIR_RootConstrainSelectedInstOperands,
41775 /* 117464 */ // GIR_Coverage, 674,
41776 /* 117464 */ GIR_EraseRootFromParent_Done,
41777 /* 117465 */ // Label 2575: @117465
41778 /* 117465 */ GIM_Try, /*On fail goto*//*Label 2576*/ GIMT_Encode4(117538), // Rule ID 690 //
41779 /* 117470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41780 /* 117473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41781 /* 117477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41782 /* 117481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41783 /* 117484 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41784 /* 117488 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41785 /* 117492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41786 /* 117496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41787 /* 117498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41788 /* 117505 */ // (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SHL32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
41789 /* 117505 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41790 /* 117509 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41791 /* 117515 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41792 /* 117519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL_ND),
41793 /* 117522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41794 /* 117524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41795 /* 117528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41796 /* 117531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41797 /* 117536 */ GIR_RootConstrainSelectedInstOperands,
41798 /* 117537 */ // GIR_Coverage, 690,
41799 /* 117537 */ GIR_EraseRootFromParent_Done,
41800 /* 117538 */ // Label 2576: @117538
41801 /* 117538 */ GIM_Try, /*On fail goto*//*Label 2577*/ GIMT_Encode4(117648), // Rule ID 17661 //
41802 /* 117543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41803 /* 117546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41804 /* 117550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41805 /* 117554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41806 /* 117557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41807 /* 117561 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41808 /* 117565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41809 /* 117569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41810 /* 117571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41811 /* 117578 */ // (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR8:{ *:[i8] }:$src2) => (SHLX32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
41812 /* 117578 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41813 /* 117581 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41814 /* 117585 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41815 /* 117590 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41816 /* 117592 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41817 /* 117595 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41818 /* 117599 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41819 /* 117604 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41820 /* 117607 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41821 /* 117611 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41822 /* 117614 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41823 /* 117619 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41824 /* 117624 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41825 /* 117629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm),
41826 /* 117632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41827 /* 117634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41828 /* 117638 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41829 /* 117641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41830 /* 117646 */ GIR_RootConstrainSelectedInstOperands,
41831 /* 117647 */ // GIR_Coverage, 17661,
41832 /* 117647 */ GIR_EraseRootFromParent_Done,
41833 /* 117648 */ // Label 2577: @117648
41834 /* 117648 */ GIM_Try, /*On fail goto*//*Label 2578*/ GIMT_Encode4(117758), // Rule ID 17693 //
41835 /* 117653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41836 /* 117656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41837 /* 117660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41838 /* 117664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41839 /* 117667 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41840 /* 117671 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41841 /* 117675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41842 /* 117679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41843 /* 117681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41844 /* 117688 */ // (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR8:{ *:[i8] }:$src2) => (SHLX32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
41845 /* 117688 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41846 /* 117691 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41847 /* 117695 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41848 /* 117700 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41849 /* 117702 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41850 /* 117705 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41851 /* 117709 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41852 /* 117714 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41853 /* 117717 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41854 /* 117721 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41855 /* 117724 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41856 /* 117729 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41857 /* 117734 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41858 /* 117739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm_EVEX),
41859 /* 117742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41860 /* 117744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41861 /* 117748 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41862 /* 117751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41863 /* 117756 */ GIR_RootConstrainSelectedInstOperands,
41864 /* 117757 */ // GIR_Coverage, 17693,
41865 /* 117757 */ GIR_EraseRootFromParent_Done,
41866 /* 117758 */ // Label 2578: @117758
41867 /* 117758 */ GIM_Try, /*On fail goto*//*Label 2579*/ GIMT_Encode4(117788), // Rule ID 22709 //
41868 /* 117763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41869 /* 117766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41870 /* 117770 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41871 /* 117774 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
41872 /* 117774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
41873 /* 117777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41874 /* 117779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41875 /* 117781 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41876 /* 117783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41877 /* 117786 */ GIR_RootConstrainSelectedInstOperands,
41878 /* 117787 */ // GIR_Coverage, 22709,
41879 /* 117787 */ GIR_EraseRootFromParent_Done,
41880 /* 117788 */ // Label 2579: @117788
41881 /* 117788 */ GIM_Try, /*On fail goto*//*Label 2580*/ GIMT_Encode4(117818), // Rule ID 22713 //
41882 /* 117793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
41883 /* 117796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41884 /* 117800 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41885 /* 117804 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
41886 /* 117804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
41887 /* 117807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41888 /* 117809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41889 /* 117811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41890 /* 117813 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41891 /* 117816 */ GIR_RootConstrainSelectedInstOperands,
41892 /* 117817 */ // GIR_Coverage, 22713,
41893 /* 117817 */ GIR_EraseRootFromParent_Done,
41894 /* 117818 */ // Label 2580: @117818
41895 /* 117818 */ GIM_Try, /*On fail goto*//*Label 2581*/ GIMT_Encode4(117855), // Rule ID 662 //
41896 /* 117823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41897 /* 117826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41898 /* 117830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41899 /* 117834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41900 /* 117838 */ // MIs[1] Operand 1
41901 /* 117838 */ // No operand predicates
41902 /* 117838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41903 /* 117840 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41904 /* 117840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri),
41905 /* 117843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41906 /* 117845 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41907 /* 117847 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41908 /* 117850 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41909 /* 117853 */ GIR_RootConstrainSelectedInstOperands,
41910 /* 117854 */ // GIR_Coverage, 662,
41911 /* 117854 */ GIR_EraseRootFromParent_Done,
41912 /* 117855 */ // Label 2581: @117855
41913 /* 117855 */ GIM_Try, /*On fail goto*//*Label 2582*/ GIMT_Encode4(117892), // Rule ID 666 //
41914 /* 117860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41915 /* 117863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41916 /* 117867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41917 /* 117871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41918 /* 117875 */ // MIs[1] Operand 1
41919 /* 117875 */ // No operand predicates
41920 /* 117875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41921 /* 117877 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41922 /* 117877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri_ND),
41923 /* 117880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41924 /* 117882 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41925 /* 117884 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41926 /* 117887 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41927 /* 117890 */ GIR_RootConstrainSelectedInstOperands,
41928 /* 117891 */ // GIR_Coverage, 666,
41929 /* 117891 */ GIR_EraseRootFromParent_Done,
41930 /* 117892 */ // Label 2582: @117892
41931 /* 117892 */ GIM_Try, /*On fail goto*//*Label 2583*/ GIMT_Encode4(117971), // Rule ID 17657 //
41932 /* 117897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41933 /* 117900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41934 /* 117904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41935 /* 117908 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (SHLX32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
41936 /* 117908 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41937 /* 117911 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41938 /* 117915 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41939 /* 117920 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41940 /* 117922 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41941 /* 117925 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41942 /* 117929 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41943 /* 117934 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41944 /* 117937 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41945 /* 117941 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41946 /* 117944 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41947 /* 117949 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41948 /* 117954 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41949 /* 117959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr),
41950 /* 117962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41951 /* 117964 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41952 /* 117966 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41953 /* 117969 */ GIR_RootConstrainSelectedInstOperands,
41954 /* 117970 */ // GIR_Coverage, 17657,
41955 /* 117970 */ GIR_EraseRootFromParent_Done,
41956 /* 117971 */ // Label 2583: @117971
41957 /* 117971 */ GIM_Try, /*On fail goto*//*Label 2584*/ GIMT_Encode4(118050), // Rule ID 17689 //
41958 /* 117976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41959 /* 117979 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41960 /* 117983 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41961 /* 117987 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (SHLX32rr_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
41962 /* 117987 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41963 /* 117990 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41964 /* 117994 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41965 /* 117999 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41966 /* 118001 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41967 /* 118004 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41968 /* 118008 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41969 /* 118013 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41970 /* 118016 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41971 /* 118020 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41972 /* 118023 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41973 /* 118028 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41974 /* 118033 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41975 /* 118038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr_EVEX),
41976 /* 118041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41977 /* 118043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41978 /* 118045 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41979 /* 118048 */ GIR_RootConstrainSelectedInstOperands,
41980 /* 118049 */ // GIR_Coverage, 17689,
41981 /* 118049 */ GIR_EraseRootFromParent_Done,
41982 /* 118050 */ // Label 2584: @118050
41983 /* 118050 */ GIM_Try, /*On fail goto*//*Label 2585*/ GIMT_Encode4(118092), // Rule ID 678 //
41984 /* 118055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41985 /* 118058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41986 /* 118062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41987 /* 118066 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41988 /* 118066 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41989 /* 118070 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41990 /* 118076 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41991 /* 118080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL),
41992 /* 118083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41993 /* 118085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41994 /* 118087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41995 /* 118090 */ GIR_RootConstrainSelectedInstOperands,
41996 /* 118091 */ // GIR_Coverage, 678,
41997 /* 118091 */ GIR_EraseRootFromParent_Done,
41998 /* 118092 */ // Label 2585: @118092
41999 /* 118092 */ GIM_Try, /*On fail goto*//*Label 2586*/ GIMT_Encode4(118134), // Rule ID 682 //
42000 /* 118097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42001 /* 118100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42002 /* 118104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42003 /* 118108 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
42004 /* 118108 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42005 /* 118112 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42006 /* 118118 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42007 /* 118122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL_ND),
42008 /* 118125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42009 /* 118127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42010 /* 118129 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42011 /* 118132 */ GIR_RootConstrainSelectedInstOperands,
42012 /* 118133 */ // GIR_Coverage, 682,
42013 /* 118133 */ GIR_EraseRootFromParent_Done,
42014 /* 118134 */ // Label 2586: @118134
42015 /* 118134 */ GIM_Reject,
42016 /* 118135 */ // Label 2574: @118135
42017 /* 118135 */ GIM_Reject,
42018 /* 118136 */ // Label 2554: @118136
42019 /* 118136 */ GIM_Try, /*On fail goto*//*Label 2587*/ GIMT_Encode4(118888),
42020 /* 118141 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42021 /* 118144 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42022 /* 118147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42023 /* 118151 */ GIM_Try, /*On fail goto*//*Label 2588*/ GIMT_Encode4(118218), // Rule ID 675 //
42024 /* 118156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42025 /* 118159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42026 /* 118163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42027 /* 118167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42028 /* 118170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42029 /* 118174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42030 /* 118178 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42031 /* 118182 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42032 /* 118186 */ // MIs[2] Operand 1
42033 /* 118186 */ // No operand predicates
42034 /* 118186 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42035 /* 118188 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42036 /* 118195 */ // (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (SHL64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42037 /* 118195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi_ND),
42038 /* 118198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42039 /* 118200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42040 /* 118204 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42041 /* 118207 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42042 /* 118210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42043 /* 118216 */ GIR_RootConstrainSelectedInstOperands,
42044 /* 118217 */ // GIR_Coverage, 675,
42045 /* 118217 */ GIR_EraseRootFromParent_Done,
42046 /* 118218 */ // Label 2588: @118218
42047 /* 118218 */ GIM_Try, /*On fail goto*//*Label 2589*/ GIMT_Encode4(118291), // Rule ID 691 //
42048 /* 118223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42049 /* 118226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42050 /* 118230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42051 /* 118234 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42052 /* 118237 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42053 /* 118241 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42054 /* 118245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42055 /* 118249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42056 /* 118251 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42057 /* 118258 */ // (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SHL64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42058 /* 118258 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42059 /* 118262 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42060 /* 118268 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42061 /* 118272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL_ND),
42062 /* 118275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42063 /* 118277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42064 /* 118281 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42065 /* 118284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42066 /* 118289 */ GIR_RootConstrainSelectedInstOperands,
42067 /* 118290 */ // GIR_Coverage, 691,
42068 /* 118290 */ GIR_EraseRootFromParent_Done,
42069 /* 118291 */ // Label 2589: @118291
42070 /* 118291 */ GIM_Try, /*On fail goto*//*Label 2590*/ GIMT_Encode4(118401), // Rule ID 17662 //
42071 /* 118296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42072 /* 118299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42073 /* 118303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42074 /* 118307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42075 /* 118310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42076 /* 118314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42077 /* 118318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42078 /* 118322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42079 /* 118324 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42080 /* 118331 */ // (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2) => (SHLX64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42081 /* 118331 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42082 /* 118334 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42083 /* 118338 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42084 /* 118343 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42085 /* 118345 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42086 /* 118348 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42087 /* 118352 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42088 /* 118357 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42089 /* 118360 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42090 /* 118364 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42091 /* 118367 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42092 /* 118372 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42093 /* 118377 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42094 /* 118382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm),
42095 /* 118385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42096 /* 118387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42097 /* 118391 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42098 /* 118394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42099 /* 118399 */ GIR_RootConstrainSelectedInstOperands,
42100 /* 118400 */ // GIR_Coverage, 17662,
42101 /* 118400 */ GIR_EraseRootFromParent_Done,
42102 /* 118401 */ // Label 2590: @118401
42103 /* 118401 */ GIM_Try, /*On fail goto*//*Label 2591*/ GIMT_Encode4(118511), // Rule ID 17694 //
42104 /* 118406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42105 /* 118409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42106 /* 118413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42107 /* 118417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42108 /* 118420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42109 /* 118424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42110 /* 118428 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42111 /* 118432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42112 /* 118434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42113 /* 118441 */ // (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2) => (SHLX64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42114 /* 118441 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42115 /* 118444 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42116 /* 118448 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42117 /* 118453 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42118 /* 118455 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42119 /* 118458 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42120 /* 118462 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42121 /* 118467 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42122 /* 118470 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42123 /* 118474 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42124 /* 118477 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42125 /* 118482 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42126 /* 118487 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42127 /* 118492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm_EVEX),
42128 /* 118495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42129 /* 118497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42130 /* 118501 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42131 /* 118504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42132 /* 118509 */ GIR_RootConstrainSelectedInstOperands,
42133 /* 118510 */ // GIR_Coverage, 17694,
42134 /* 118510 */ GIR_EraseRootFromParent_Done,
42135 /* 118511 */ // Label 2591: @118511
42136 /* 118511 */ GIM_Try, /*On fail goto*//*Label 2592*/ GIMT_Encode4(118541), // Rule ID 22710 //
42137 /* 118516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42138 /* 118519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42139 /* 118523 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
42140 /* 118527 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
42141 /* 118527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
42142 /* 118530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42143 /* 118532 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42144 /* 118534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42145 /* 118536 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42146 /* 118539 */ GIR_RootConstrainSelectedInstOperands,
42147 /* 118540 */ // GIR_Coverage, 22710,
42148 /* 118540 */ GIR_EraseRootFromParent_Done,
42149 /* 118541 */ // Label 2592: @118541
42150 /* 118541 */ GIM_Try, /*On fail goto*//*Label 2593*/ GIMT_Encode4(118571), // Rule ID 22714 //
42151 /* 118546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
42152 /* 118549 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42153 /* 118553 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
42154 /* 118557 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
42155 /* 118557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
42156 /* 118560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42157 /* 118562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42158 /* 118564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42159 /* 118566 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42160 /* 118569 */ GIR_RootConstrainSelectedInstOperands,
42161 /* 118570 */ // GIR_Coverage, 22714,
42162 /* 118570 */ GIR_EraseRootFromParent_Done,
42163 /* 118571 */ // Label 2593: @118571
42164 /* 118571 */ GIM_Try, /*On fail goto*//*Label 2594*/ GIMT_Encode4(118608), // Rule ID 663 //
42165 /* 118576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42166 /* 118579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42167 /* 118583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42168 /* 118587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42169 /* 118591 */ // MIs[1] Operand 1
42170 /* 118591 */ // No operand predicates
42171 /* 118591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42172 /* 118593 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42173 /* 118593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri),
42174 /* 118596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42175 /* 118598 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42176 /* 118600 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42177 /* 118603 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42178 /* 118606 */ GIR_RootConstrainSelectedInstOperands,
42179 /* 118607 */ // GIR_Coverage, 663,
42180 /* 118607 */ GIR_EraseRootFromParent_Done,
42181 /* 118608 */ // Label 2594: @118608
42182 /* 118608 */ GIM_Try, /*On fail goto*//*Label 2595*/ GIMT_Encode4(118645), // Rule ID 667 //
42183 /* 118613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42184 /* 118616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42185 /* 118620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42186 /* 118624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42187 /* 118628 */ // MIs[1] Operand 1
42188 /* 118628 */ // No operand predicates
42189 /* 118628 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42190 /* 118630 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42191 /* 118630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri_ND),
42192 /* 118633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42193 /* 118635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42194 /* 118637 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42195 /* 118640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42196 /* 118643 */ GIR_RootConstrainSelectedInstOperands,
42197 /* 118644 */ // GIR_Coverage, 667,
42198 /* 118644 */ GIR_EraseRootFromParent_Done,
42199 /* 118645 */ // Label 2595: @118645
42200 /* 118645 */ GIM_Try, /*On fail goto*//*Label 2596*/ GIMT_Encode4(118724), // Rule ID 17658 //
42201 /* 118650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42202 /* 118653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42203 /* 118657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42204 /* 118661 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR8:{ *:[i8] }:$src2) => (SHLX64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42205 /* 118661 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42206 /* 118664 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42207 /* 118668 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42208 /* 118673 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42209 /* 118675 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42210 /* 118678 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42211 /* 118682 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42212 /* 118687 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42213 /* 118690 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42214 /* 118694 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42215 /* 118697 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42216 /* 118702 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42217 /* 118707 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42218 /* 118712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr),
42219 /* 118715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42220 /* 118717 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42221 /* 118719 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42222 /* 118722 */ GIR_RootConstrainSelectedInstOperands,
42223 /* 118723 */ // GIR_Coverage, 17658,
42224 /* 118723 */ GIR_EraseRootFromParent_Done,
42225 /* 118724 */ // Label 2596: @118724
42226 /* 118724 */ GIM_Try, /*On fail goto*//*Label 2597*/ GIMT_Encode4(118803), // Rule ID 17690 //
42227 /* 118729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42228 /* 118732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42229 /* 118736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42230 /* 118740 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR8:{ *:[i8] }:$src2) => (SHLX64rr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42231 /* 118740 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42232 /* 118743 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42233 /* 118747 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42234 /* 118752 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42235 /* 118754 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42236 /* 118757 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42237 /* 118761 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42238 /* 118766 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42239 /* 118769 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42240 /* 118773 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42241 /* 118776 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42242 /* 118781 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42243 /* 118786 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42244 /* 118791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr_EVEX),
42245 /* 118794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42246 /* 118796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42247 /* 118798 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42248 /* 118801 */ GIR_RootConstrainSelectedInstOperands,
42249 /* 118802 */ // GIR_Coverage, 17690,
42250 /* 118802 */ GIR_EraseRootFromParent_Done,
42251 /* 118803 */ // Label 2597: @118803
42252 /* 118803 */ GIM_Try, /*On fail goto*//*Label 2598*/ GIMT_Encode4(118845), // Rule ID 679 //
42253 /* 118808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42254 /* 118811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42255 /* 118815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42256 /* 118819 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42257 /* 118819 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42258 /* 118823 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42259 /* 118829 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42260 /* 118833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL),
42261 /* 118836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42262 /* 118838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42263 /* 118840 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42264 /* 118843 */ GIR_RootConstrainSelectedInstOperands,
42265 /* 118844 */ // GIR_Coverage, 679,
42266 /* 118844 */ GIR_EraseRootFromParent_Done,
42267 /* 118845 */ // Label 2598: @118845
42268 /* 118845 */ GIM_Try, /*On fail goto*//*Label 2599*/ GIMT_Encode4(118887), // Rule ID 683 //
42269 /* 118850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42270 /* 118853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42271 /* 118857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42272 /* 118861 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42273 /* 118861 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42274 /* 118865 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42275 /* 118871 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42276 /* 118875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL_ND),
42277 /* 118878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42278 /* 118880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42279 /* 118882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42280 /* 118885 */ GIR_RootConstrainSelectedInstOperands,
42281 /* 118886 */ // GIR_Coverage, 683,
42282 /* 118886 */ GIR_EraseRootFromParent_Done,
42283 /* 118887 */ // Label 2599: @118887
42284 /* 118887 */ GIM_Reject,
42285 /* 118888 */ // Label 2587: @118888
42286 /* 118888 */ GIM_Reject,
42287 /* 118889 */ // Label 2555: @118889
42288 /* 118889 */ GIM_Reject,
42289 /* 118890 */ // Label 28: @118890
42290 /* 118890 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2604*/ GIMT_Encode4(120933),
42291 /* 118901 */ /*GILLT_s8*//*Label 2600*/ GIMT_Encode4(118917),
42292 /* 118905 */ /*GILLT_s16*//*Label 2601*/ GIMT_Encode4(119232),
42293 /* 118909 */ /*GILLT_s32*//*Label 2602*/ GIMT_Encode4(119547),
42294 /* 118913 */ /*GILLT_s64*//*Label 2603*/ GIMT_Encode4(120240),
42295 /* 118917 */ // Label 2600: @118917
42296 /* 118917 */ GIM_Try, /*On fail goto*//*Label 2605*/ GIMT_Encode4(119231),
42297 /* 118922 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
42298 /* 118925 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42299 /* 118928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42300 /* 118932 */ GIM_Try, /*On fail goto*//*Label 2606*/ GIMT_Encode4(118999), // Rule ID 704 //
42301 /* 118937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42302 /* 118940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42303 /* 118944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42304 /* 118948 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42305 /* 118951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42306 /* 118955 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
42307 /* 118959 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42308 /* 118963 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42309 /* 118967 */ // MIs[2] Operand 1
42310 /* 118967 */ // No operand predicates
42311 /* 118967 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42312 /* 118969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42313 /* 118976 */ // (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (SHR8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42314 /* 118976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi_ND),
42315 /* 118979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42316 /* 118981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42317 /* 118985 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42318 /* 118988 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42319 /* 118991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42320 /* 118997 */ GIR_RootConstrainSelectedInstOperands,
42321 /* 118998 */ // GIR_Coverage, 704,
42322 /* 118998 */ GIR_EraseRootFromParent_Done,
42323 /* 118999 */ // Label 2606: @118999
42324 /* 118999 */ GIM_Try, /*On fail goto*//*Label 2607*/ GIMT_Encode4(119072), // Rule ID 720 //
42325 /* 119004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42326 /* 119007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42327 /* 119011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42328 /* 119015 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42329 /* 119018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42330 /* 119022 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
42331 /* 119026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42332 /* 119030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42333 /* 119032 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42334 /* 119039 */ // (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (SHR8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42335 /* 119039 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42336 /* 119043 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42337 /* 119049 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42338 /* 119053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL_ND),
42339 /* 119056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42340 /* 119058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42341 /* 119062 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42342 /* 119065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42343 /* 119070 */ GIR_RootConstrainSelectedInstOperands,
42344 /* 119071 */ // GIR_Coverage, 720,
42345 /* 119071 */ GIR_EraseRootFromParent_Done,
42346 /* 119072 */ // Label 2607: @119072
42347 /* 119072 */ GIM_Try, /*On fail goto*//*Label 2608*/ GIMT_Encode4(119109), // Rule ID 692 //
42348 /* 119077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42349 /* 119080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42350 /* 119084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42351 /* 119088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42352 /* 119092 */ // MIs[1] Operand 1
42353 /* 119092 */ // No operand predicates
42354 /* 119092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42355 /* 119094 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
42356 /* 119094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri),
42357 /* 119097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42358 /* 119099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42359 /* 119101 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42360 /* 119104 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42361 /* 119107 */ GIR_RootConstrainSelectedInstOperands,
42362 /* 119108 */ // GIR_Coverage, 692,
42363 /* 119108 */ GIR_EraseRootFromParent_Done,
42364 /* 119109 */ // Label 2608: @119109
42365 /* 119109 */ GIM_Try, /*On fail goto*//*Label 2609*/ GIMT_Encode4(119146), // Rule ID 696 //
42366 /* 119114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42367 /* 119117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42368 /* 119121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42369 /* 119125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42370 /* 119129 */ // MIs[1] Operand 1
42371 /* 119129 */ // No operand predicates
42372 /* 119129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42373 /* 119131 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
42374 /* 119131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri_ND),
42375 /* 119134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42376 /* 119136 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42377 /* 119138 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42378 /* 119141 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42379 /* 119144 */ GIR_RootConstrainSelectedInstOperands,
42380 /* 119145 */ // GIR_Coverage, 696,
42381 /* 119145 */ GIR_EraseRootFromParent_Done,
42382 /* 119146 */ // Label 2609: @119146
42383 /* 119146 */ GIM_Try, /*On fail goto*//*Label 2610*/ GIMT_Encode4(119188), // Rule ID 708 //
42384 /* 119151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42385 /* 119154 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42386 /* 119158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42387 /* 119162 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
42388 /* 119162 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42389 /* 119166 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42390 /* 119172 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42391 /* 119176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL),
42392 /* 119179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42393 /* 119181 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42394 /* 119183 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42395 /* 119186 */ GIR_RootConstrainSelectedInstOperands,
42396 /* 119187 */ // GIR_Coverage, 708,
42397 /* 119187 */ GIR_EraseRootFromParent_Done,
42398 /* 119188 */ // Label 2610: @119188
42399 /* 119188 */ GIM_Try, /*On fail goto*//*Label 2611*/ GIMT_Encode4(119230), // Rule ID 712 //
42400 /* 119193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42401 /* 119196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42402 /* 119200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42403 /* 119204 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
42404 /* 119204 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42405 /* 119208 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42406 /* 119214 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42407 /* 119218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL_ND),
42408 /* 119221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42409 /* 119223 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42410 /* 119225 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42411 /* 119228 */ GIR_RootConstrainSelectedInstOperands,
42412 /* 119229 */ // GIR_Coverage, 712,
42413 /* 119229 */ GIR_EraseRootFromParent_Done,
42414 /* 119230 */ // Label 2611: @119230
42415 /* 119230 */ GIM_Reject,
42416 /* 119231 */ // Label 2605: @119231
42417 /* 119231 */ GIM_Reject,
42418 /* 119232 */ // Label 2601: @119232
42419 /* 119232 */ GIM_Try, /*On fail goto*//*Label 2612*/ GIMT_Encode4(119546),
42420 /* 119237 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
42421 /* 119240 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42422 /* 119243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42423 /* 119247 */ GIM_Try, /*On fail goto*//*Label 2613*/ GIMT_Encode4(119314), // Rule ID 705 //
42424 /* 119252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42425 /* 119255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42426 /* 119259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42427 /* 119263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42428 /* 119266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42429 /* 119270 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
42430 /* 119274 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42431 /* 119278 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42432 /* 119282 */ // MIs[2] Operand 1
42433 /* 119282 */ // No operand predicates
42434 /* 119282 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42435 /* 119284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42436 /* 119291 */ // (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (SHR16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42437 /* 119291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi_ND),
42438 /* 119294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42439 /* 119296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42440 /* 119300 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42441 /* 119303 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42442 /* 119306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42443 /* 119312 */ GIR_RootConstrainSelectedInstOperands,
42444 /* 119313 */ // GIR_Coverage, 705,
42445 /* 119313 */ GIR_EraseRootFromParent_Done,
42446 /* 119314 */ // Label 2613: @119314
42447 /* 119314 */ GIM_Try, /*On fail goto*//*Label 2614*/ GIMT_Encode4(119387), // Rule ID 721 //
42448 /* 119319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42449 /* 119322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42450 /* 119326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42451 /* 119330 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42452 /* 119333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42453 /* 119337 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
42454 /* 119341 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42455 /* 119345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42456 /* 119347 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42457 /* 119354 */ // (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (SHR16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42458 /* 119354 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42459 /* 119358 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42460 /* 119364 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42461 /* 119368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL_ND),
42462 /* 119371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42463 /* 119373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42464 /* 119377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42465 /* 119380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42466 /* 119385 */ GIR_RootConstrainSelectedInstOperands,
42467 /* 119386 */ // GIR_Coverage, 721,
42468 /* 119386 */ GIR_EraseRootFromParent_Done,
42469 /* 119387 */ // Label 2614: @119387
42470 /* 119387 */ GIM_Try, /*On fail goto*//*Label 2615*/ GIMT_Encode4(119424), // Rule ID 693 //
42471 /* 119392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42472 /* 119395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42473 /* 119399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42474 /* 119403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42475 /* 119407 */ // MIs[1] Operand 1
42476 /* 119407 */ // No operand predicates
42477 /* 119407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42478 /* 119409 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
42479 /* 119409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri),
42480 /* 119412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42481 /* 119414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42482 /* 119416 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42483 /* 119419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42484 /* 119422 */ GIR_RootConstrainSelectedInstOperands,
42485 /* 119423 */ // GIR_Coverage, 693,
42486 /* 119423 */ GIR_EraseRootFromParent_Done,
42487 /* 119424 */ // Label 2615: @119424
42488 /* 119424 */ GIM_Try, /*On fail goto*//*Label 2616*/ GIMT_Encode4(119461), // Rule ID 697 //
42489 /* 119429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42490 /* 119432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42491 /* 119436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42492 /* 119440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42493 /* 119444 */ // MIs[1] Operand 1
42494 /* 119444 */ // No operand predicates
42495 /* 119444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42496 /* 119446 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
42497 /* 119446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri_ND),
42498 /* 119449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42499 /* 119451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42500 /* 119453 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42501 /* 119456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42502 /* 119459 */ GIR_RootConstrainSelectedInstOperands,
42503 /* 119460 */ // GIR_Coverage, 697,
42504 /* 119460 */ GIR_EraseRootFromParent_Done,
42505 /* 119461 */ // Label 2616: @119461
42506 /* 119461 */ GIM_Try, /*On fail goto*//*Label 2617*/ GIMT_Encode4(119503), // Rule ID 709 //
42507 /* 119466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42508 /* 119469 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42509 /* 119473 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42510 /* 119477 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
42511 /* 119477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42512 /* 119481 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42513 /* 119487 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42514 /* 119491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL),
42515 /* 119494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42516 /* 119496 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42517 /* 119498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42518 /* 119501 */ GIR_RootConstrainSelectedInstOperands,
42519 /* 119502 */ // GIR_Coverage, 709,
42520 /* 119502 */ GIR_EraseRootFromParent_Done,
42521 /* 119503 */ // Label 2617: @119503
42522 /* 119503 */ GIM_Try, /*On fail goto*//*Label 2618*/ GIMT_Encode4(119545), // Rule ID 713 //
42523 /* 119508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42524 /* 119511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
42525 /* 119515 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42526 /* 119519 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
42527 /* 119519 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42528 /* 119523 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42529 /* 119529 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42530 /* 119533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL_ND),
42531 /* 119536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42532 /* 119538 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42533 /* 119540 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42534 /* 119543 */ GIR_RootConstrainSelectedInstOperands,
42535 /* 119544 */ // GIR_Coverage, 713,
42536 /* 119544 */ GIR_EraseRootFromParent_Done,
42537 /* 119545 */ // Label 2618: @119545
42538 /* 119545 */ GIM_Reject,
42539 /* 119546 */ // Label 2612: @119546
42540 /* 119546 */ GIM_Reject,
42541 /* 119547 */ // Label 2602: @119547
42542 /* 119547 */ GIM_Try, /*On fail goto*//*Label 2619*/ GIMT_Encode4(120239),
42543 /* 119552 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
42544 /* 119555 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42545 /* 119558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42546 /* 119562 */ GIM_Try, /*On fail goto*//*Label 2620*/ GIMT_Encode4(119629), // Rule ID 706 //
42547 /* 119567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42548 /* 119570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42549 /* 119574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42550 /* 119578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42551 /* 119581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42552 /* 119585 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42553 /* 119589 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42554 /* 119593 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42555 /* 119597 */ // MIs[2] Operand 1
42556 /* 119597 */ // No operand predicates
42557 /* 119597 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42558 /* 119599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42559 /* 119606 */ // (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (SHR32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42560 /* 119606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi_ND),
42561 /* 119609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42562 /* 119611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42563 /* 119615 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42564 /* 119618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42565 /* 119621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42566 /* 119627 */ GIR_RootConstrainSelectedInstOperands,
42567 /* 119628 */ // GIR_Coverage, 706,
42568 /* 119628 */ GIR_EraseRootFromParent_Done,
42569 /* 119629 */ // Label 2620: @119629
42570 /* 119629 */ GIM_Try, /*On fail goto*//*Label 2621*/ GIMT_Encode4(119702), // Rule ID 722 //
42571 /* 119634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42572 /* 119637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42573 /* 119641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42574 /* 119645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42575 /* 119648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42576 /* 119652 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42577 /* 119656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42578 /* 119660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42579 /* 119662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42580 /* 119669 */ // (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SHR32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42581 /* 119669 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42582 /* 119673 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42583 /* 119679 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42584 /* 119683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL_ND),
42585 /* 119686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42586 /* 119688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42587 /* 119692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42588 /* 119695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42589 /* 119700 */ GIR_RootConstrainSelectedInstOperands,
42590 /* 119701 */ // GIR_Coverage, 722,
42591 /* 119701 */ GIR_EraseRootFromParent_Done,
42592 /* 119702 */ // Label 2621: @119702
42593 /* 119702 */ GIM_Try, /*On fail goto*//*Label 2622*/ GIMT_Encode4(119812), // Rule ID 17653 //
42594 /* 119707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42595 /* 119710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42596 /* 119714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42597 /* 119718 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42598 /* 119721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42599 /* 119725 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42600 /* 119729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42601 /* 119733 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42602 /* 119735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42603 /* 119742 */ // (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR8:{ *:[i8] }:$src2) => (SHRX32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42604 /* 119742 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42605 /* 119745 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42606 /* 119749 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42607 /* 119754 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42608 /* 119756 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42609 /* 119759 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42610 /* 119763 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42611 /* 119768 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42612 /* 119771 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42613 /* 119775 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42614 /* 119778 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42615 /* 119783 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42616 /* 119788 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42617 /* 119793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm),
42618 /* 119796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42619 /* 119798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42620 /* 119802 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42621 /* 119805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42622 /* 119810 */ GIR_RootConstrainSelectedInstOperands,
42623 /* 119811 */ // GIR_Coverage, 17653,
42624 /* 119811 */ GIR_EraseRootFromParent_Done,
42625 /* 119812 */ // Label 2622: @119812
42626 /* 119812 */ GIM_Try, /*On fail goto*//*Label 2623*/ GIMT_Encode4(119922), // Rule ID 17685 //
42627 /* 119817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42628 /* 119820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42629 /* 119824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42630 /* 119828 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42631 /* 119831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42632 /* 119835 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42633 /* 119839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42634 /* 119843 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42635 /* 119845 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42636 /* 119852 */ // (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR8:{ *:[i8] }:$src2) => (SHRX32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42637 /* 119852 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42638 /* 119855 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42639 /* 119859 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42640 /* 119864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42641 /* 119866 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42642 /* 119869 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42643 /* 119873 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42644 /* 119878 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42645 /* 119881 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42646 /* 119885 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42647 /* 119888 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42648 /* 119893 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42649 /* 119898 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42650 /* 119903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm_EVEX),
42651 /* 119906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42652 /* 119908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42653 /* 119912 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42654 /* 119915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42655 /* 119920 */ GIR_RootConstrainSelectedInstOperands,
42656 /* 119921 */ // GIR_Coverage, 17685,
42657 /* 119921 */ GIR_EraseRootFromParent_Done,
42658 /* 119922 */ // Label 2623: @119922
42659 /* 119922 */ GIM_Try, /*On fail goto*//*Label 2624*/ GIMT_Encode4(119959), // Rule ID 694 //
42660 /* 119927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42661 /* 119930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42662 /* 119934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42663 /* 119938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42664 /* 119942 */ // MIs[1] Operand 1
42665 /* 119942 */ // No operand predicates
42666 /* 119942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42667 /* 119944 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
42668 /* 119944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri),
42669 /* 119947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42670 /* 119949 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42671 /* 119951 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42672 /* 119954 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42673 /* 119957 */ GIR_RootConstrainSelectedInstOperands,
42674 /* 119958 */ // GIR_Coverage, 694,
42675 /* 119958 */ GIR_EraseRootFromParent_Done,
42676 /* 119959 */ // Label 2624: @119959
42677 /* 119959 */ GIM_Try, /*On fail goto*//*Label 2625*/ GIMT_Encode4(119996), // Rule ID 698 //
42678 /* 119964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42679 /* 119967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42680 /* 119971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42681 /* 119975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42682 /* 119979 */ // MIs[1] Operand 1
42683 /* 119979 */ // No operand predicates
42684 /* 119979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42685 /* 119981 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
42686 /* 119981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri_ND),
42687 /* 119984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42688 /* 119986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42689 /* 119988 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42690 /* 119991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42691 /* 119994 */ GIR_RootConstrainSelectedInstOperands,
42692 /* 119995 */ // GIR_Coverage, 698,
42693 /* 119995 */ GIR_EraseRootFromParent_Done,
42694 /* 119996 */ // Label 2625: @119996
42695 /* 119996 */ GIM_Try, /*On fail goto*//*Label 2626*/ GIMT_Encode4(120075), // Rule ID 17649 //
42696 /* 120001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42697 /* 120004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42698 /* 120008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42699 /* 120012 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (SHRX32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42700 /* 120012 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42701 /* 120015 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42702 /* 120019 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42703 /* 120024 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42704 /* 120026 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42705 /* 120029 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42706 /* 120033 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42707 /* 120038 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42708 /* 120041 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42709 /* 120045 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42710 /* 120048 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42711 /* 120053 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42712 /* 120058 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42713 /* 120063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr),
42714 /* 120066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42715 /* 120068 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42716 /* 120070 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42717 /* 120073 */ GIR_RootConstrainSelectedInstOperands,
42718 /* 120074 */ // GIR_Coverage, 17649,
42719 /* 120074 */ GIR_EraseRootFromParent_Done,
42720 /* 120075 */ // Label 2626: @120075
42721 /* 120075 */ GIM_Try, /*On fail goto*//*Label 2627*/ GIMT_Encode4(120154), // Rule ID 17681 //
42722 /* 120080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42723 /* 120083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42724 /* 120087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42725 /* 120091 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (SHRX32rr_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42726 /* 120091 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42727 /* 120094 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42728 /* 120098 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42729 /* 120103 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42730 /* 120105 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42731 /* 120108 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42732 /* 120112 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42733 /* 120117 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42734 /* 120120 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42735 /* 120124 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42736 /* 120127 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42737 /* 120132 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42738 /* 120137 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42739 /* 120142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr_EVEX),
42740 /* 120145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42741 /* 120147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42742 /* 120149 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42743 /* 120152 */ GIR_RootConstrainSelectedInstOperands,
42744 /* 120153 */ // GIR_Coverage, 17681,
42745 /* 120153 */ GIR_EraseRootFromParent_Done,
42746 /* 120154 */ // Label 2627: @120154
42747 /* 120154 */ GIM_Try, /*On fail goto*//*Label 2628*/ GIMT_Encode4(120196), // Rule ID 710 //
42748 /* 120159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42749 /* 120162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42750 /* 120166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42751 /* 120170 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
42752 /* 120170 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42753 /* 120174 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42754 /* 120180 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42755 /* 120184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL),
42756 /* 120187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42757 /* 120189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42758 /* 120191 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42759 /* 120194 */ GIR_RootConstrainSelectedInstOperands,
42760 /* 120195 */ // GIR_Coverage, 710,
42761 /* 120195 */ GIR_EraseRootFromParent_Done,
42762 /* 120196 */ // Label 2628: @120196
42763 /* 120196 */ GIM_Try, /*On fail goto*//*Label 2629*/ GIMT_Encode4(120238), // Rule ID 714 //
42764 /* 120201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42765 /* 120204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42766 /* 120208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42767 /* 120212 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
42768 /* 120212 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42769 /* 120216 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42770 /* 120222 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42771 /* 120226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL_ND),
42772 /* 120229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42773 /* 120231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42774 /* 120233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42775 /* 120236 */ GIR_RootConstrainSelectedInstOperands,
42776 /* 120237 */ // GIR_Coverage, 714,
42777 /* 120237 */ GIR_EraseRootFromParent_Done,
42778 /* 120238 */ // Label 2629: @120238
42779 /* 120238 */ GIM_Reject,
42780 /* 120239 */ // Label 2619: @120239
42781 /* 120239 */ GIM_Reject,
42782 /* 120240 */ // Label 2603: @120240
42783 /* 120240 */ GIM_Try, /*On fail goto*//*Label 2630*/ GIMT_Encode4(120932),
42784 /* 120245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42785 /* 120248 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42786 /* 120251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42787 /* 120255 */ GIM_Try, /*On fail goto*//*Label 2631*/ GIMT_Encode4(120322), // Rule ID 707 //
42788 /* 120260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42789 /* 120263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42790 /* 120267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42791 /* 120271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42792 /* 120274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42793 /* 120278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42794 /* 120282 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
42795 /* 120286 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42796 /* 120290 */ // MIs[2] Operand 1
42797 /* 120290 */ // No operand predicates
42798 /* 120290 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
42799 /* 120292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42800 /* 120299 */ // (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (SHR64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
42801 /* 120299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi_ND),
42802 /* 120302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42803 /* 120304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42804 /* 120308 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
42805 /* 120311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42806 /* 120314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
42807 /* 120320 */ GIR_RootConstrainSelectedInstOperands,
42808 /* 120321 */ // GIR_Coverage, 707,
42809 /* 120321 */ GIR_EraseRootFromParent_Done,
42810 /* 120322 */ // Label 2631: @120322
42811 /* 120322 */ GIM_Try, /*On fail goto*//*Label 2632*/ GIMT_Encode4(120395), // Rule ID 723 //
42812 /* 120327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42813 /* 120330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42814 /* 120334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42815 /* 120338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42816 /* 120341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42817 /* 120345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42818 /* 120349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42819 /* 120353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42820 /* 120355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42821 /* 120362 */ // (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SHR64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
42822 /* 120362 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42823 /* 120366 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42824 /* 120372 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42825 /* 120376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL_ND),
42826 /* 120379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42827 /* 120381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42828 /* 120385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42829 /* 120388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42830 /* 120393 */ GIR_RootConstrainSelectedInstOperands,
42831 /* 120394 */ // GIR_Coverage, 723,
42832 /* 120394 */ GIR_EraseRootFromParent_Done,
42833 /* 120395 */ // Label 2632: @120395
42834 /* 120395 */ GIM_Try, /*On fail goto*//*Label 2633*/ GIMT_Encode4(120505), // Rule ID 17654 //
42835 /* 120400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42836 /* 120403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42837 /* 120407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42838 /* 120411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42839 /* 120414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42840 /* 120418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42841 /* 120422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42842 /* 120426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42843 /* 120428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42844 /* 120435 */ // (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2) => (SHRX64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42845 /* 120435 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42846 /* 120438 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42847 /* 120442 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42848 /* 120447 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42849 /* 120449 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42850 /* 120452 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42851 /* 120456 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42852 /* 120461 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42853 /* 120464 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42854 /* 120468 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42855 /* 120471 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42856 /* 120476 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42857 /* 120481 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42858 /* 120486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm),
42859 /* 120489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42860 /* 120491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42861 /* 120495 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42862 /* 120498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42863 /* 120503 */ GIR_RootConstrainSelectedInstOperands,
42864 /* 120504 */ // GIR_Coverage, 17654,
42865 /* 120504 */ GIR_EraseRootFromParent_Done,
42866 /* 120505 */ // Label 2633: @120505
42867 /* 120505 */ GIM_Try, /*On fail goto*//*Label 2634*/ GIMT_Encode4(120615), // Rule ID 17686 //
42868 /* 120510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42869 /* 120513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42870 /* 120517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42871 /* 120521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42872 /* 120524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42873 /* 120528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42874 /* 120532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42875 /* 120536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42876 /* 120538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42877 /* 120545 */ // (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2) => (SHRX64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42878 /* 120545 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42879 /* 120548 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42880 /* 120552 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42881 /* 120557 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42882 /* 120559 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42883 /* 120562 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42884 /* 120566 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42885 /* 120571 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42886 /* 120574 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42887 /* 120578 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42888 /* 120581 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42889 /* 120586 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42890 /* 120591 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42891 /* 120596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm_EVEX),
42892 /* 120599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42893 /* 120601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42894 /* 120605 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42895 /* 120608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42896 /* 120613 */ GIR_RootConstrainSelectedInstOperands,
42897 /* 120614 */ // GIR_Coverage, 17686,
42898 /* 120614 */ GIR_EraseRootFromParent_Done,
42899 /* 120615 */ // Label 2634: @120615
42900 /* 120615 */ GIM_Try, /*On fail goto*//*Label 2635*/ GIMT_Encode4(120652), // Rule ID 695 //
42901 /* 120620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42902 /* 120623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42903 /* 120627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42904 /* 120631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42905 /* 120635 */ // MIs[1] Operand 1
42906 /* 120635 */ // No operand predicates
42907 /* 120635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42908 /* 120637 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42909 /* 120637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri),
42910 /* 120640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42911 /* 120642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42912 /* 120644 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42913 /* 120647 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42914 /* 120650 */ GIR_RootConstrainSelectedInstOperands,
42915 /* 120651 */ // GIR_Coverage, 695,
42916 /* 120651 */ GIR_EraseRootFromParent_Done,
42917 /* 120652 */ // Label 2635: @120652
42918 /* 120652 */ GIM_Try, /*On fail goto*//*Label 2636*/ GIMT_Encode4(120689), // Rule ID 699 //
42919 /* 120657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42920 /* 120660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42921 /* 120664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42922 /* 120668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42923 /* 120672 */ // MIs[1] Operand 1
42924 /* 120672 */ // No operand predicates
42925 /* 120672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42926 /* 120674 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42927 /* 120674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri_ND),
42928 /* 120677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42929 /* 120679 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42930 /* 120681 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42931 /* 120684 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42932 /* 120687 */ GIR_RootConstrainSelectedInstOperands,
42933 /* 120688 */ // GIR_Coverage, 699,
42934 /* 120688 */ GIR_EraseRootFromParent_Done,
42935 /* 120689 */ // Label 2636: @120689
42936 /* 120689 */ GIM_Try, /*On fail goto*//*Label 2637*/ GIMT_Encode4(120768), // Rule ID 17650 //
42937 /* 120694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42938 /* 120697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42939 /* 120701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42940 /* 120705 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR8:{ *:[i8] }:$src2) => (SHRX64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42941 /* 120705 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42942 /* 120708 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42943 /* 120712 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42944 /* 120717 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42945 /* 120719 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42946 /* 120722 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42947 /* 120726 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42948 /* 120731 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42949 /* 120734 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42950 /* 120738 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42951 /* 120741 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42952 /* 120746 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42953 /* 120751 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42954 /* 120756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr),
42955 /* 120759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42956 /* 120761 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42957 /* 120763 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42958 /* 120766 */ GIR_RootConstrainSelectedInstOperands,
42959 /* 120767 */ // GIR_Coverage, 17650,
42960 /* 120767 */ GIR_EraseRootFromParent_Done,
42961 /* 120768 */ // Label 2637: @120768
42962 /* 120768 */ GIM_Try, /*On fail goto*//*Label 2638*/ GIMT_Encode4(120847), // Rule ID 17682 //
42963 /* 120773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42964 /* 120776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42965 /* 120780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42966 /* 120784 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR8:{ *:[i8] }:$src2) => (SHRX64rr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
42967 /* 120784 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42968 /* 120787 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42969 /* 120791 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42970 /* 120796 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42971 /* 120798 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42972 /* 120801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42973 /* 120805 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42974 /* 120810 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42975 /* 120813 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42976 /* 120817 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42977 /* 120820 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42978 /* 120825 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42979 /* 120830 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42980 /* 120835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr_EVEX),
42981 /* 120838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42982 /* 120840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42983 /* 120842 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42984 /* 120845 */ GIR_RootConstrainSelectedInstOperands,
42985 /* 120846 */ // GIR_Coverage, 17682,
42986 /* 120846 */ GIR_EraseRootFromParent_Done,
42987 /* 120847 */ // Label 2638: @120847
42988 /* 120847 */ GIM_Try, /*On fail goto*//*Label 2639*/ GIMT_Encode4(120889), // Rule ID 711 //
42989 /* 120852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42990 /* 120855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42991 /* 120859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42992 /* 120863 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42993 /* 120863 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42994 /* 120867 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42995 /* 120873 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42996 /* 120877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL),
42997 /* 120880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42998 /* 120882 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42999 /* 120884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43000 /* 120887 */ GIR_RootConstrainSelectedInstOperands,
43001 /* 120888 */ // GIR_Coverage, 711,
43002 /* 120888 */ GIR_EraseRootFromParent_Done,
43003 /* 120889 */ // Label 2639: @120889
43004 /* 120889 */ GIM_Try, /*On fail goto*//*Label 2640*/ GIMT_Encode4(120931), // Rule ID 715 //
43005 /* 120894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43006 /* 120897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43007 /* 120901 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43008 /* 120905 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43009 /* 120905 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43010 /* 120909 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43011 /* 120915 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43012 /* 120919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL_ND),
43013 /* 120922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43014 /* 120924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43015 /* 120926 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43016 /* 120929 */ GIR_RootConstrainSelectedInstOperands,
43017 /* 120930 */ // GIR_Coverage, 715,
43018 /* 120930 */ GIR_EraseRootFromParent_Done,
43019 /* 120931 */ // Label 2640: @120931
43020 /* 120931 */ GIM_Reject,
43021 /* 120932 */ // Label 2630: @120932
43022 /* 120932 */ GIM_Reject,
43023 /* 120933 */ // Label 2604: @120933
43024 /* 120933 */ GIM_Reject,
43025 /* 120934 */ // Label 29: @120934
43026 /* 120934 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2645*/ GIMT_Encode4(122977),
43027 /* 120945 */ /*GILLT_s8*//*Label 2641*/ GIMT_Encode4(120961),
43028 /* 120949 */ /*GILLT_s16*//*Label 2642*/ GIMT_Encode4(121276),
43029 /* 120953 */ /*GILLT_s32*//*Label 2643*/ GIMT_Encode4(121591),
43030 /* 120957 */ /*GILLT_s64*//*Label 2644*/ GIMT_Encode4(122284),
43031 /* 120961 */ // Label 2641: @120961
43032 /* 120961 */ GIM_Try, /*On fail goto*//*Label 2646*/ GIMT_Encode4(121275),
43033 /* 120966 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
43034 /* 120969 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43035 /* 120972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43036 /* 120976 */ GIM_Try, /*On fail goto*//*Label 2647*/ GIMT_Encode4(121043), // Rule ID 736 //
43037 /* 120981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43038 /* 120984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43039 /* 120988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43040 /* 120992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43041 /* 120995 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43042 /* 120999 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
43043 /* 121003 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43044 /* 121007 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43045 /* 121011 */ // MIs[2] Operand 1
43046 /* 121011 */ // No operand predicates
43047 /* 121011 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43048 /* 121013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43049 /* 121020 */ // (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (SAR8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
43050 /* 121020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi_ND),
43051 /* 121023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43052 /* 121025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43053 /* 121029 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
43054 /* 121032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43055 /* 121035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43056 /* 121041 */ GIR_RootConstrainSelectedInstOperands,
43057 /* 121042 */ // GIR_Coverage, 736,
43058 /* 121042 */ GIR_EraseRootFromParent_Done,
43059 /* 121043 */ // Label 2647: @121043
43060 /* 121043 */ GIM_Try, /*On fail goto*//*Label 2648*/ GIMT_Encode4(121116), // Rule ID 752 //
43061 /* 121048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43062 /* 121051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43063 /* 121055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43064 /* 121059 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43065 /* 121062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43066 /* 121066 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
43067 /* 121070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43068 /* 121074 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43069 /* 121076 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43070 /* 121083 */ // (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (SAR8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
43071 /* 121083 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43072 /* 121087 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43073 /* 121093 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43074 /* 121097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL_ND),
43075 /* 121100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43076 /* 121102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43077 /* 121106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43078 /* 121109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43079 /* 121114 */ GIR_RootConstrainSelectedInstOperands,
43080 /* 121115 */ // GIR_Coverage, 752,
43081 /* 121115 */ GIR_EraseRootFromParent_Done,
43082 /* 121116 */ // Label 2648: @121116
43083 /* 121116 */ GIM_Try, /*On fail goto*//*Label 2649*/ GIMT_Encode4(121153), // Rule ID 724 //
43084 /* 121121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43085 /* 121124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43086 /* 121128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43087 /* 121132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43088 /* 121136 */ // MIs[1] Operand 1
43089 /* 121136 */ // No operand predicates
43090 /* 121136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43091 /* 121138 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43092 /* 121138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri),
43093 /* 121141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43094 /* 121143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43095 /* 121145 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43096 /* 121148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43097 /* 121151 */ GIR_RootConstrainSelectedInstOperands,
43098 /* 121152 */ // GIR_Coverage, 724,
43099 /* 121152 */ GIR_EraseRootFromParent_Done,
43100 /* 121153 */ // Label 2649: @121153
43101 /* 121153 */ GIM_Try, /*On fail goto*//*Label 2650*/ GIMT_Encode4(121190), // Rule ID 728 //
43102 /* 121158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43103 /* 121161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43104 /* 121165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43105 /* 121169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43106 /* 121173 */ // MIs[1] Operand 1
43107 /* 121173 */ // No operand predicates
43108 /* 121173 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43109 /* 121175 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
43110 /* 121175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri_ND),
43111 /* 121178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43112 /* 121180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43113 /* 121182 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43114 /* 121185 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43115 /* 121188 */ GIR_RootConstrainSelectedInstOperands,
43116 /* 121189 */ // GIR_Coverage, 728,
43117 /* 121189 */ GIR_EraseRootFromParent_Done,
43118 /* 121190 */ // Label 2650: @121190
43119 /* 121190 */ GIM_Try, /*On fail goto*//*Label 2651*/ GIMT_Encode4(121232), // Rule ID 740 //
43120 /* 121195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43121 /* 121198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43122 /* 121202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43123 /* 121206 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43124 /* 121206 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43125 /* 121210 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43126 /* 121216 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43127 /* 121220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL),
43128 /* 121223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43129 /* 121225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43130 /* 121227 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43131 /* 121230 */ GIR_RootConstrainSelectedInstOperands,
43132 /* 121231 */ // GIR_Coverage, 740,
43133 /* 121231 */ GIR_EraseRootFromParent_Done,
43134 /* 121232 */ // Label 2651: @121232
43135 /* 121232 */ GIM_Try, /*On fail goto*//*Label 2652*/ GIMT_Encode4(121274), // Rule ID 744 //
43136 /* 121237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43137 /* 121240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43138 /* 121244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43139 /* 121248 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
43140 /* 121248 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43141 /* 121252 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43142 /* 121258 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43143 /* 121262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL_ND),
43144 /* 121265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43145 /* 121267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43146 /* 121269 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43147 /* 121272 */ GIR_RootConstrainSelectedInstOperands,
43148 /* 121273 */ // GIR_Coverage, 744,
43149 /* 121273 */ GIR_EraseRootFromParent_Done,
43150 /* 121274 */ // Label 2652: @121274
43151 /* 121274 */ GIM_Reject,
43152 /* 121275 */ // Label 2646: @121275
43153 /* 121275 */ GIM_Reject,
43154 /* 121276 */ // Label 2642: @121276
43155 /* 121276 */ GIM_Try, /*On fail goto*//*Label 2653*/ GIMT_Encode4(121590),
43156 /* 121281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
43157 /* 121284 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43158 /* 121287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43159 /* 121291 */ GIM_Try, /*On fail goto*//*Label 2654*/ GIMT_Encode4(121358), // Rule ID 737 //
43160 /* 121296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43161 /* 121299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43162 /* 121303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43163 /* 121307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43164 /* 121310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43165 /* 121314 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
43166 /* 121318 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43167 /* 121322 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43168 /* 121326 */ // MIs[2] Operand 1
43169 /* 121326 */ // No operand predicates
43170 /* 121326 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43171 /* 121328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43172 /* 121335 */ // (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (SAR16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
43173 /* 121335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi_ND),
43174 /* 121338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43175 /* 121340 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43176 /* 121344 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
43177 /* 121347 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43178 /* 121350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43179 /* 121356 */ GIR_RootConstrainSelectedInstOperands,
43180 /* 121357 */ // GIR_Coverage, 737,
43181 /* 121357 */ GIR_EraseRootFromParent_Done,
43182 /* 121358 */ // Label 2654: @121358
43183 /* 121358 */ GIM_Try, /*On fail goto*//*Label 2655*/ GIMT_Encode4(121431), // Rule ID 753 //
43184 /* 121363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43185 /* 121366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43186 /* 121370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43187 /* 121374 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43188 /* 121377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43189 /* 121381 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
43190 /* 121385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43191 /* 121389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43192 /* 121391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43193 /* 121398 */ // (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (SAR16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
43194 /* 121398 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43195 /* 121402 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43196 /* 121408 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43197 /* 121412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL_ND),
43198 /* 121415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43199 /* 121417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43200 /* 121421 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43201 /* 121424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43202 /* 121429 */ GIR_RootConstrainSelectedInstOperands,
43203 /* 121430 */ // GIR_Coverage, 753,
43204 /* 121430 */ GIR_EraseRootFromParent_Done,
43205 /* 121431 */ // Label 2655: @121431
43206 /* 121431 */ GIM_Try, /*On fail goto*//*Label 2656*/ GIMT_Encode4(121468), // Rule ID 725 //
43207 /* 121436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43208 /* 121439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43209 /* 121443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43210 /* 121447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43211 /* 121451 */ // MIs[1] Operand 1
43212 /* 121451 */ // No operand predicates
43213 /* 121451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43214 /* 121453 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43215 /* 121453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri),
43216 /* 121456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43217 /* 121458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43218 /* 121460 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43219 /* 121463 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43220 /* 121466 */ GIR_RootConstrainSelectedInstOperands,
43221 /* 121467 */ // GIR_Coverage, 725,
43222 /* 121467 */ GIR_EraseRootFromParent_Done,
43223 /* 121468 */ // Label 2656: @121468
43224 /* 121468 */ GIM_Try, /*On fail goto*//*Label 2657*/ GIMT_Encode4(121505), // Rule ID 729 //
43225 /* 121473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43226 /* 121476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43227 /* 121480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43228 /* 121484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43229 /* 121488 */ // MIs[1] Operand 1
43230 /* 121488 */ // No operand predicates
43231 /* 121488 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43232 /* 121490 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
43233 /* 121490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri_ND),
43234 /* 121493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43235 /* 121495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43236 /* 121497 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43237 /* 121500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43238 /* 121503 */ GIR_RootConstrainSelectedInstOperands,
43239 /* 121504 */ // GIR_Coverage, 729,
43240 /* 121504 */ GIR_EraseRootFromParent_Done,
43241 /* 121505 */ // Label 2657: @121505
43242 /* 121505 */ GIM_Try, /*On fail goto*//*Label 2658*/ GIMT_Encode4(121547), // Rule ID 741 //
43243 /* 121510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43244 /* 121513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43245 /* 121517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43246 /* 121521 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43247 /* 121521 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43248 /* 121525 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43249 /* 121531 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43250 /* 121535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL),
43251 /* 121538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43252 /* 121540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43253 /* 121542 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43254 /* 121545 */ GIR_RootConstrainSelectedInstOperands,
43255 /* 121546 */ // GIR_Coverage, 741,
43256 /* 121546 */ GIR_EraseRootFromParent_Done,
43257 /* 121547 */ // Label 2658: @121547
43258 /* 121547 */ GIM_Try, /*On fail goto*//*Label 2659*/ GIMT_Encode4(121589), // Rule ID 745 //
43259 /* 121552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43260 /* 121555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
43261 /* 121559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43262 /* 121563 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
43263 /* 121563 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43264 /* 121567 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43265 /* 121573 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43266 /* 121577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL_ND),
43267 /* 121580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43268 /* 121582 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43269 /* 121584 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43270 /* 121587 */ GIR_RootConstrainSelectedInstOperands,
43271 /* 121588 */ // GIR_Coverage, 745,
43272 /* 121588 */ GIR_EraseRootFromParent_Done,
43273 /* 121589 */ // Label 2659: @121589
43274 /* 121589 */ GIM_Reject,
43275 /* 121590 */ // Label 2653: @121590
43276 /* 121590 */ GIM_Reject,
43277 /* 121591 */ // Label 2643: @121591
43278 /* 121591 */ GIM_Try, /*On fail goto*//*Label 2660*/ GIMT_Encode4(122283),
43279 /* 121596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43280 /* 121599 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43281 /* 121602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43282 /* 121606 */ GIM_Try, /*On fail goto*//*Label 2661*/ GIMT_Encode4(121673), // Rule ID 738 //
43283 /* 121611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43284 /* 121614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43285 /* 121618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43286 /* 121622 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43287 /* 121625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43288 /* 121629 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43289 /* 121633 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43290 /* 121637 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43291 /* 121641 */ // MIs[2] Operand 1
43292 /* 121641 */ // No operand predicates
43293 /* 121641 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43294 /* 121643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43295 /* 121650 */ // (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (SAR32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
43296 /* 121650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi_ND),
43297 /* 121653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43298 /* 121655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43299 /* 121659 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
43300 /* 121662 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43301 /* 121665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43302 /* 121671 */ GIR_RootConstrainSelectedInstOperands,
43303 /* 121672 */ // GIR_Coverage, 738,
43304 /* 121672 */ GIR_EraseRootFromParent_Done,
43305 /* 121673 */ // Label 2661: @121673
43306 /* 121673 */ GIM_Try, /*On fail goto*//*Label 2662*/ GIMT_Encode4(121746), // Rule ID 754 //
43307 /* 121678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43308 /* 121681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43309 /* 121685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43310 /* 121689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43311 /* 121692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43312 /* 121696 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43313 /* 121700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43314 /* 121704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43315 /* 121706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43316 /* 121713 */ // (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SAR32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
43317 /* 121713 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43318 /* 121717 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43319 /* 121723 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43320 /* 121727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL_ND),
43321 /* 121730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43322 /* 121732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43323 /* 121736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43324 /* 121739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43325 /* 121744 */ GIR_RootConstrainSelectedInstOperands,
43326 /* 121745 */ // GIR_Coverage, 754,
43327 /* 121745 */ GIR_EraseRootFromParent_Done,
43328 /* 121746 */ // Label 2662: @121746
43329 /* 121746 */ GIM_Try, /*On fail goto*//*Label 2663*/ GIMT_Encode4(121856), // Rule ID 17645 //
43330 /* 121751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43331 /* 121754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43332 /* 121758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43333 /* 121762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43334 /* 121765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43335 /* 121769 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43336 /* 121773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43337 /* 121777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43338 /* 121779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43339 /* 121786 */ // (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR8:{ *:[i8] }:$src2) => (SARX32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43340 /* 121786 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43341 /* 121789 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43342 /* 121793 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43343 /* 121798 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43344 /* 121800 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43345 /* 121803 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43346 /* 121807 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43347 /* 121812 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43348 /* 121815 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43349 /* 121819 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43350 /* 121822 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43351 /* 121827 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43352 /* 121832 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43353 /* 121837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm),
43354 /* 121840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43355 /* 121842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43356 /* 121846 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43357 /* 121849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43358 /* 121854 */ GIR_RootConstrainSelectedInstOperands,
43359 /* 121855 */ // GIR_Coverage, 17645,
43360 /* 121855 */ GIR_EraseRootFromParent_Done,
43361 /* 121856 */ // Label 2663: @121856
43362 /* 121856 */ GIM_Try, /*On fail goto*//*Label 2664*/ GIMT_Encode4(121966), // Rule ID 17677 //
43363 /* 121861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43364 /* 121864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43365 /* 121868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43366 /* 121872 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43367 /* 121875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43368 /* 121879 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43369 /* 121883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43370 /* 121887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43371 /* 121889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43372 /* 121896 */ // (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR8:{ *:[i8] }:$src2) => (SARX32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43373 /* 121896 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43374 /* 121899 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43375 /* 121903 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43376 /* 121908 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43377 /* 121910 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43378 /* 121913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43379 /* 121917 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43380 /* 121922 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43381 /* 121925 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43382 /* 121929 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43383 /* 121932 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43384 /* 121937 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43385 /* 121942 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43386 /* 121947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm_EVEX),
43387 /* 121950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43388 /* 121952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43389 /* 121956 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43390 /* 121959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43391 /* 121964 */ GIR_RootConstrainSelectedInstOperands,
43392 /* 121965 */ // GIR_Coverage, 17677,
43393 /* 121965 */ GIR_EraseRootFromParent_Done,
43394 /* 121966 */ // Label 2664: @121966
43395 /* 121966 */ GIM_Try, /*On fail goto*//*Label 2665*/ GIMT_Encode4(122003), // Rule ID 726 //
43396 /* 121971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43397 /* 121974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43398 /* 121978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43399 /* 121982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43400 /* 121986 */ // MIs[1] Operand 1
43401 /* 121986 */ // No operand predicates
43402 /* 121986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43403 /* 121988 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43404 /* 121988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri),
43405 /* 121991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43406 /* 121993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43407 /* 121995 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43408 /* 121998 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43409 /* 122001 */ GIR_RootConstrainSelectedInstOperands,
43410 /* 122002 */ // GIR_Coverage, 726,
43411 /* 122002 */ GIR_EraseRootFromParent_Done,
43412 /* 122003 */ // Label 2665: @122003
43413 /* 122003 */ GIM_Try, /*On fail goto*//*Label 2666*/ GIMT_Encode4(122040), // Rule ID 730 //
43414 /* 122008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43415 /* 122011 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43416 /* 122015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43417 /* 122019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43418 /* 122023 */ // MIs[1] Operand 1
43419 /* 122023 */ // No operand predicates
43420 /* 122023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43421 /* 122025 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
43422 /* 122025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri_ND),
43423 /* 122028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43424 /* 122030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43425 /* 122032 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43426 /* 122035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43427 /* 122038 */ GIR_RootConstrainSelectedInstOperands,
43428 /* 122039 */ // GIR_Coverage, 730,
43429 /* 122039 */ GIR_EraseRootFromParent_Done,
43430 /* 122040 */ // Label 2666: @122040
43431 /* 122040 */ GIM_Try, /*On fail goto*//*Label 2667*/ GIMT_Encode4(122119), // Rule ID 17641 //
43432 /* 122045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43433 /* 122048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43434 /* 122052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43435 /* 122056 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (SARX32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43436 /* 122056 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43437 /* 122059 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43438 /* 122063 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43439 /* 122068 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43440 /* 122070 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43441 /* 122073 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43442 /* 122077 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43443 /* 122082 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43444 /* 122085 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43445 /* 122089 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43446 /* 122092 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43447 /* 122097 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43448 /* 122102 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43449 /* 122107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr),
43450 /* 122110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43451 /* 122112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43452 /* 122114 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43453 /* 122117 */ GIR_RootConstrainSelectedInstOperands,
43454 /* 122118 */ // GIR_Coverage, 17641,
43455 /* 122118 */ GIR_EraseRootFromParent_Done,
43456 /* 122119 */ // Label 2667: @122119
43457 /* 122119 */ GIM_Try, /*On fail goto*//*Label 2668*/ GIMT_Encode4(122198), // Rule ID 17673 //
43458 /* 122124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43459 /* 122127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43460 /* 122131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43461 /* 122135 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (SARX32rr_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43462 /* 122135 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
43463 /* 122138 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43464 /* 122142 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43465 /* 122147 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43466 /* 122149 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
43467 /* 122152 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43468 /* 122156 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43469 /* 122161 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43470 /* 122164 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43471 /* 122168 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43472 /* 122171 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43473 /* 122176 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
43474 /* 122181 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43475 /* 122186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr_EVEX),
43476 /* 122189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43477 /* 122191 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43478 /* 122193 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43479 /* 122196 */ GIR_RootConstrainSelectedInstOperands,
43480 /* 122197 */ // GIR_Coverage, 17673,
43481 /* 122197 */ GIR_EraseRootFromParent_Done,
43482 /* 122198 */ // Label 2668: @122198
43483 /* 122198 */ GIM_Try, /*On fail goto*//*Label 2669*/ GIMT_Encode4(122240), // Rule ID 742 //
43484 /* 122203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43485 /* 122206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43486 /* 122210 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43487 /* 122214 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43488 /* 122214 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43489 /* 122218 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43490 /* 122224 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43491 /* 122228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL),
43492 /* 122231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43493 /* 122233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43494 /* 122235 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43495 /* 122238 */ GIR_RootConstrainSelectedInstOperands,
43496 /* 122239 */ // GIR_Coverage, 742,
43497 /* 122239 */ GIR_EraseRootFromParent_Done,
43498 /* 122240 */ // Label 2669: @122240
43499 /* 122240 */ GIM_Try, /*On fail goto*//*Label 2670*/ GIMT_Encode4(122282), // Rule ID 746 //
43500 /* 122245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43501 /* 122248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43502 /* 122252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43503 /* 122256 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
43504 /* 122256 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43505 /* 122260 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43506 /* 122266 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43507 /* 122270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL_ND),
43508 /* 122273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43509 /* 122275 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43510 /* 122277 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43511 /* 122280 */ GIR_RootConstrainSelectedInstOperands,
43512 /* 122281 */ // GIR_Coverage, 746,
43513 /* 122281 */ GIR_EraseRootFromParent_Done,
43514 /* 122282 */ // Label 2670: @122282
43515 /* 122282 */ GIM_Reject,
43516 /* 122283 */ // Label 2660: @122283
43517 /* 122283 */ GIM_Reject,
43518 /* 122284 */ // Label 2644: @122284
43519 /* 122284 */ GIM_Try, /*On fail goto*//*Label 2671*/ GIMT_Encode4(122976),
43520 /* 122289 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43521 /* 122292 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
43522 /* 122295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43523 /* 122299 */ GIM_Try, /*On fail goto*//*Label 2672*/ GIMT_Encode4(122366), // Rule ID 739 //
43524 /* 122304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43525 /* 122307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43526 /* 122311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43527 /* 122315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43528 /* 122318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43529 /* 122322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43530 /* 122326 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
43531 /* 122330 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43532 /* 122334 */ // MIs[2] Operand 1
43533 /* 122334 */ // No operand predicates
43534 /* 122334 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43535 /* 122336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43536 /* 122343 */ // (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (SAR64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
43537 /* 122343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi_ND),
43538 /* 122346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43539 /* 122348 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43540 /* 122352 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
43541 /* 122355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43542 /* 122358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43543 /* 122364 */ GIR_RootConstrainSelectedInstOperands,
43544 /* 122365 */ // GIR_Coverage, 739,
43545 /* 122365 */ GIR_EraseRootFromParent_Done,
43546 /* 122366 */ // Label 2672: @122366
43547 /* 122366 */ GIM_Try, /*On fail goto*//*Label 2673*/ GIMT_Encode4(122439), // Rule ID 755 //
43548 /* 122371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43549 /* 122374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43550 /* 122378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43551 /* 122382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43552 /* 122385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43553 /* 122389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43554 /* 122393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43555 /* 122397 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43556 /* 122399 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43557 /* 122406 */ // (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SAR64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
43558 /* 122406 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43559 /* 122410 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43560 /* 122416 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43561 /* 122420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL_ND),
43562 /* 122423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43563 /* 122425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43564 /* 122429 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43565 /* 122432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43566 /* 122437 */ GIR_RootConstrainSelectedInstOperands,
43567 /* 122438 */ // GIR_Coverage, 755,
43568 /* 122438 */ GIR_EraseRootFromParent_Done,
43569 /* 122439 */ // Label 2673: @122439
43570 /* 122439 */ GIM_Try, /*On fail goto*//*Label 2674*/ GIMT_Encode4(122549), // Rule ID 17646 //
43571 /* 122444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43572 /* 122447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43573 /* 122451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43574 /* 122455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43575 /* 122458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43576 /* 122462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43577 /* 122466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43578 /* 122470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43579 /* 122472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43580 /* 122479 */ // (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2) => (SARX64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43581 /* 122479 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43582 /* 122482 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43583 /* 122486 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43584 /* 122491 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43585 /* 122493 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43586 /* 122496 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43587 /* 122500 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43588 /* 122505 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43589 /* 122508 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43590 /* 122512 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43591 /* 122515 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43592 /* 122520 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43593 /* 122525 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43594 /* 122530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm),
43595 /* 122533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43596 /* 122535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43597 /* 122539 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43598 /* 122542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43599 /* 122547 */ GIR_RootConstrainSelectedInstOperands,
43600 /* 122548 */ // GIR_Coverage, 17646,
43601 /* 122548 */ GIR_EraseRootFromParent_Done,
43602 /* 122549 */ // Label 2674: @122549
43603 /* 122549 */ GIM_Try, /*On fail goto*//*Label 2675*/ GIMT_Encode4(122659), // Rule ID 17678 //
43604 /* 122554 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43605 /* 122557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43606 /* 122561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43607 /* 122565 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43608 /* 122568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43609 /* 122572 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43610 /* 122576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43611 /* 122580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43612 /* 122582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43613 /* 122589 */ // (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src2) => (SARX64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43614 /* 122589 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43615 /* 122592 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43616 /* 122596 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43617 /* 122601 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43618 /* 122603 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43619 /* 122606 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43620 /* 122610 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43621 /* 122615 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43622 /* 122618 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43623 /* 122622 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43624 /* 122625 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43625 /* 122630 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43626 /* 122635 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43627 /* 122640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm_EVEX),
43628 /* 122643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43629 /* 122645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43630 /* 122649 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43631 /* 122652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43632 /* 122657 */ GIR_RootConstrainSelectedInstOperands,
43633 /* 122658 */ // GIR_Coverage, 17678,
43634 /* 122658 */ GIR_EraseRootFromParent_Done,
43635 /* 122659 */ // Label 2675: @122659
43636 /* 122659 */ GIM_Try, /*On fail goto*//*Label 2676*/ GIMT_Encode4(122696), // Rule ID 727 //
43637 /* 122664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43638 /* 122667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43639 /* 122671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43640 /* 122675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43641 /* 122679 */ // MIs[1] Operand 1
43642 /* 122679 */ // No operand predicates
43643 /* 122679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43644 /* 122681 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43645 /* 122681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri),
43646 /* 122684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43647 /* 122686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43648 /* 122688 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43649 /* 122691 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43650 /* 122694 */ GIR_RootConstrainSelectedInstOperands,
43651 /* 122695 */ // GIR_Coverage, 727,
43652 /* 122695 */ GIR_EraseRootFromParent_Done,
43653 /* 122696 */ // Label 2676: @122696
43654 /* 122696 */ GIM_Try, /*On fail goto*//*Label 2677*/ GIMT_Encode4(122733), // Rule ID 731 //
43655 /* 122701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43656 /* 122704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43657 /* 122708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
43658 /* 122712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43659 /* 122716 */ // MIs[1] Operand 1
43660 /* 122716 */ // No operand predicates
43661 /* 122716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43662 /* 122718 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
43663 /* 122718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri_ND),
43664 /* 122721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43665 /* 122723 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43666 /* 122725 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
43667 /* 122728 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43668 /* 122731 */ GIR_RootConstrainSelectedInstOperands,
43669 /* 122732 */ // GIR_Coverage, 731,
43670 /* 122732 */ GIR_EraseRootFromParent_Done,
43671 /* 122733 */ // Label 2677: @122733
43672 /* 122733 */ GIM_Try, /*On fail goto*//*Label 2678*/ GIMT_Encode4(122812), // Rule ID 17642 //
43673 /* 122738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
43674 /* 122741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43675 /* 122745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43676 /* 122749 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR8:{ *:[i8] }:$src2) => (SARX64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43677 /* 122749 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43678 /* 122752 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43679 /* 122756 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43680 /* 122761 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43681 /* 122763 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43682 /* 122766 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43683 /* 122770 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43684 /* 122775 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43685 /* 122778 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43686 /* 122782 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43687 /* 122785 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43688 /* 122790 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43689 /* 122795 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43690 /* 122800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr),
43691 /* 122803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43692 /* 122805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43693 /* 122807 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43694 /* 122810 */ GIR_RootConstrainSelectedInstOperands,
43695 /* 122811 */ // GIR_Coverage, 17642,
43696 /* 122811 */ GIR_EraseRootFromParent_Done,
43697 /* 122812 */ // Label 2678: @122812
43698 /* 122812 */ GIM_Try, /*On fail goto*//*Label 2679*/ GIMT_Encode4(122891), // Rule ID 17674 //
43699 /* 122817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
43700 /* 122820 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43701 /* 122824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
43702 /* 122828 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR8:{ *:[i8] }:$src2) => (SARX64rr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR8:{ *:[i8] }:$src2, sub_8bit:{ *:[i32] }))
43703 /* 122828 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
43704 /* 122831 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43705 /* 122835 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43706 /* 122840 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
43707 /* 122842 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
43708 /* 122845 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43709 /* 122849 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43710 /* 122854 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43711 /* 122857 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
43712 /* 122861 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
43713 /* 122864 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43714 /* 122869 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
43715 /* 122874 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
43716 /* 122879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr_EVEX),
43717 /* 122882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43718 /* 122884 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43719 /* 122886 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
43720 /* 122889 */ GIR_RootConstrainSelectedInstOperands,
43721 /* 122890 */ // GIR_Coverage, 17674,
43722 /* 122890 */ GIR_EraseRootFromParent_Done,
43723 /* 122891 */ // Label 2679: @122891
43724 /* 122891 */ GIM_Try, /*On fail goto*//*Label 2680*/ GIMT_Encode4(122933), // Rule ID 743 //
43725 /* 122896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43726 /* 122899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43727 /* 122903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43728 /* 122907 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43729 /* 122907 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43730 /* 122911 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43731 /* 122917 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43732 /* 122921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL),
43733 /* 122924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43734 /* 122926 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43735 /* 122928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43736 /* 122931 */ GIR_RootConstrainSelectedInstOperands,
43737 /* 122932 */ // GIR_Coverage, 743,
43738 /* 122932 */ GIR_EraseRootFromParent_Done,
43739 /* 122933 */ // Label 2680: @122933
43740 /* 122933 */ GIM_Try, /*On fail goto*//*Label 2681*/ GIMT_Encode4(122975), // Rule ID 747 //
43741 /* 122938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43742 /* 122941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43743 /* 122945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43744 /* 122949 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
43745 /* 122949 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43746 /* 122953 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43747 /* 122959 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
43748 /* 122963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL_ND),
43749 /* 122966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43750 /* 122968 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43751 /* 122970 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43752 /* 122973 */ GIR_RootConstrainSelectedInstOperands,
43753 /* 122974 */ // GIR_Coverage, 747,
43754 /* 122974 */ GIR_EraseRootFromParent_Done,
43755 /* 122975 */ // Label 2681: @122975
43756 /* 122975 */ GIM_Reject,
43757 /* 122976 */ // Label 2671: @122976
43758 /* 122976 */ GIM_Reject,
43759 /* 122977 */ // Label 2645: @122977
43760 /* 122977 */ GIM_Reject,
43761 /* 122978 */ // Label 30: @122978
43762 /* 122978 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(23), /*)*//*default:*//*Label 2693*/ GIMT_Encode4(124704),
43763 /* 122989 */ /*GILLT_s32*//*Label 2682*/ GIMT_Encode4(123069),
43764 /* 122993 */ /*GILLT_s64*//*Label 2683*/ GIMT_Encode4(123423), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
43765 /* 123009 */ /*GILLT_v2s64*//*Label 2684*/ GIMT_Encode4(123777), GIMT_Encode4(0),
43766 /* 123017 */ /*GILLT_v4s32*//*Label 2685*/ GIMT_Encode4(123880),
43767 /* 123021 */ /*GILLT_v4s64*//*Label 2686*/ GIMT_Encode4(123983), GIMT_Encode4(0),
43768 /* 123029 */ /*GILLT_v8s16*//*Label 2687*/ GIMT_Encode4(124086),
43769 /* 123033 */ /*GILLT_v8s32*//*Label 2688*/ GIMT_Encode4(124189),
43770 /* 123037 */ /*GILLT_v8s64*//*Label 2689*/ GIMT_Encode4(124292), GIMT_Encode4(0), GIMT_Encode4(0),
43771 /* 123049 */ /*GILLT_v16s16*//*Label 2690*/ GIMT_Encode4(124395),
43772 /* 123053 */ /*GILLT_v16s32*//*Label 2691*/ GIMT_Encode4(124498), GIMT_Encode4(0), GIMT_Encode4(0),
43773 /* 123065 */ /*GILLT_v32s16*//*Label 2692*/ GIMT_Encode4(124601),
43774 /* 123069 */ // Label 2682: @123069
43775 /* 123069 */ GIM_Try, /*On fail goto*//*Label 2694*/ GIMT_Encode4(123422),
43776 /* 123074 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43777 /* 123077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
43778 /* 123080 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43779 /* 123083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43780 /* 123087 */ GIM_Try, /*On fail goto*//*Label 2695*/ GIMT_Encode4(123160), // Rule ID 839 //
43781 /* 123092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43782 /* 123095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43783 /* 123099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43784 /* 123103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43785 /* 123106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43786 /* 123110 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43787 /* 123114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43788 /* 123118 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
43789 /* 123122 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43790 /* 123126 */ // MIs[2] Operand 1
43791 /* 123126 */ // No operand predicates
43792 /* 123126 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43793 /* 123128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43794 /* 123135 */ // (fshl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32mri8_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43795 /* 123135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8_ND),
43796 /* 123138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43797 /* 123140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43798 /* 123144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43799 /* 123146 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
43800 /* 123149 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43801 /* 123152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43802 /* 123158 */ GIR_RootConstrainSelectedInstOperands,
43803 /* 123159 */ // GIR_Coverage, 839,
43804 /* 123159 */ GIR_EraseRootFromParent_Done,
43805 /* 123160 */ // Label 2695: @123160
43806 /* 123160 */ GIM_Try, /*On fail goto*//*Label 2696*/ GIMT_Encode4(123239), // Rule ID 842 //
43807 /* 123165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43808 /* 123168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43809 /* 123172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43810 /* 123176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43811 /* 123179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43812 /* 123183 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
43813 /* 123187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43814 /* 123191 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43815 /* 123195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43816 /* 123197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43817 /* 123204 */ // (fshl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32mrCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
43818 /* 123204 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43819 /* 123208 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43820 /* 123214 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43821 /* 123218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL_ND),
43822 /* 123221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43823 /* 123223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43824 /* 123227 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43825 /* 123229 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43826 /* 123232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43827 /* 123237 */ GIR_RootConstrainSelectedInstOperands,
43828 /* 123238 */ // GIR_Coverage, 842,
43829 /* 123238 */ GIR_EraseRootFromParent_Done,
43830 /* 123239 */ // Label 2696: @123239
43831 /* 123239 */ GIM_Try, /*On fail goto*//*Label 2697*/ GIMT_Encode4(123282), // Rule ID 821 //
43832 /* 123244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43833 /* 123247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43834 /* 123251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43835 /* 123255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43836 /* 123259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43837 /* 123263 */ // MIs[1] Operand 1
43838 /* 123263 */ // No operand predicates
43839 /* 123263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43840 /* 123265 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43841 /* 123265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8),
43842 /* 123268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43843 /* 123270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43844 /* 123272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43845 /* 123274 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43846 /* 123277 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43847 /* 123280 */ GIR_RootConstrainSelectedInstOperands,
43848 /* 123281 */ // GIR_Coverage, 821,
43849 /* 123281 */ GIR_EraseRootFromParent_Done,
43850 /* 123282 */ // Label 2697: @123282
43851 /* 123282 */ GIM_Try, /*On fail goto*//*Label 2698*/ GIMT_Encode4(123325), // Rule ID 827 //
43852 /* 123287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43853 /* 123290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43854 /* 123294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43855 /* 123298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43856 /* 123302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43857 /* 123306 */ // MIs[1] Operand 1
43858 /* 123306 */ // No operand predicates
43859 /* 123306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43860 /* 123308 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43861 /* 123308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8_ND),
43862 /* 123311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43863 /* 123313 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43864 /* 123315 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43865 /* 123317 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43866 /* 123320 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43867 /* 123323 */ GIR_RootConstrainSelectedInstOperands,
43868 /* 123324 */ // GIR_Coverage, 827,
43869 /* 123324 */ GIR_EraseRootFromParent_Done,
43870 /* 123325 */ // Label 2698: @123325
43871 /* 123325 */ GIM_Try, /*On fail goto*//*Label 2699*/ GIMT_Encode4(123373), // Rule ID 824 //
43872 /* 123330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43873 /* 123333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43874 /* 123337 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43875 /* 123341 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43876 /* 123345 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43877 /* 123345 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43878 /* 123349 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43879 /* 123355 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43880 /* 123359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL),
43881 /* 123362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43882 /* 123364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43883 /* 123366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43884 /* 123368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43885 /* 123371 */ GIR_RootConstrainSelectedInstOperands,
43886 /* 123372 */ // GIR_Coverage, 824,
43887 /* 123372 */ GIR_EraseRootFromParent_Done,
43888 /* 123373 */ // Label 2699: @123373
43889 /* 123373 */ GIM_Try, /*On fail goto*//*Label 2700*/ GIMT_Encode4(123421), // Rule ID 830 //
43890 /* 123378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43891 /* 123381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43892 /* 123385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43893 /* 123389 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43894 /* 123393 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43895 /* 123393 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43896 /* 123397 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43897 /* 123403 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43898 /* 123407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL_ND),
43899 /* 123410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43900 /* 123412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43901 /* 123414 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43902 /* 123416 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43903 /* 123419 */ GIR_RootConstrainSelectedInstOperands,
43904 /* 123420 */ // GIR_Coverage, 830,
43905 /* 123420 */ GIR_EraseRootFromParent_Done,
43906 /* 123421 */ // Label 2700: @123421
43907 /* 123421 */ GIM_Reject,
43908 /* 123422 */ // Label 2694: @123422
43909 /* 123422 */ GIM_Reject,
43910 /* 123423 */ // Label 2683: @123423
43911 /* 123423 */ GIM_Try, /*On fail goto*//*Label 2701*/ GIMT_Encode4(123776),
43912 /* 123428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43913 /* 123431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
43914 /* 123434 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43915 /* 123437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43916 /* 123441 */ GIM_Try, /*On fail goto*//*Label 2702*/ GIMT_Encode4(123514), // Rule ID 840 //
43917 /* 123446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43918 /* 123449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43919 /* 123453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43920 /* 123457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43921 /* 123460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43922 /* 123464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43923 /* 123468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43924 /* 123472 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
43925 /* 123476 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43926 /* 123480 */ // MIs[2] Operand 1
43927 /* 123480 */ // No operand predicates
43928 /* 123480 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
43929 /* 123482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43930 /* 123489 */ // (fshl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64mri8_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43931 /* 123489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8_ND),
43932 /* 123492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43933 /* 123494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43934 /* 123498 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43935 /* 123500 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
43936 /* 123503 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43937 /* 123506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
43938 /* 123512 */ GIR_RootConstrainSelectedInstOperands,
43939 /* 123513 */ // GIR_Coverage, 840,
43940 /* 123513 */ GIR_EraseRootFromParent_Done,
43941 /* 123514 */ // Label 2702: @123514
43942 /* 123514 */ GIM_Try, /*On fail goto*//*Label 2703*/ GIMT_Encode4(123593), // Rule ID 843 //
43943 /* 123519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43944 /* 123522 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
43945 /* 123526 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43946 /* 123530 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43947 /* 123533 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43948 /* 123537 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43949 /* 123541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43950 /* 123545 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43951 /* 123549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43952 /* 123551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43953 /* 123558 */ // (fshl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64mrCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
43954 /* 123558 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43955 /* 123562 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43956 /* 123568 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43957 /* 123572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL_ND),
43958 /* 123575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43959 /* 123577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
43960 /* 123581 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43961 /* 123583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43962 /* 123586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43963 /* 123591 */ GIR_RootConstrainSelectedInstOperands,
43964 /* 123592 */ // GIR_Coverage, 843,
43965 /* 123592 */ GIR_EraseRootFromParent_Done,
43966 /* 123593 */ // Label 2703: @123593
43967 /* 123593 */ GIM_Try, /*On fail goto*//*Label 2704*/ GIMT_Encode4(123636), // Rule ID 822 //
43968 /* 123598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43969 /* 123601 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43970 /* 123605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43971 /* 123609 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43972 /* 123613 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43973 /* 123617 */ // MIs[1] Operand 1
43974 /* 123617 */ // No operand predicates
43975 /* 123617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43976 /* 123619 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43977 /* 123619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8),
43978 /* 123622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43979 /* 123624 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43980 /* 123626 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43981 /* 123628 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43982 /* 123631 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43983 /* 123634 */ GIR_RootConstrainSelectedInstOperands,
43984 /* 123635 */ // GIR_Coverage, 822,
43985 /* 123635 */ GIR_EraseRootFromParent_Done,
43986 /* 123636 */ // Label 2704: @123636
43987 /* 123636 */ GIM_Try, /*On fail goto*//*Label 2705*/ GIMT_Encode4(123679), // Rule ID 828 //
43988 /* 123641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43989 /* 123644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43990 /* 123648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43991 /* 123652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43992 /* 123656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43993 /* 123660 */ // MIs[1] Operand 1
43994 /* 123660 */ // No operand predicates
43995 /* 123660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43996 /* 123662 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43997 /* 123662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8_ND),
43998 /* 123665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43999 /* 123667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44000 /* 123669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44001 /* 123671 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44002 /* 123674 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44003 /* 123677 */ GIR_RootConstrainSelectedInstOperands,
44004 /* 123678 */ // GIR_Coverage, 828,
44005 /* 123678 */ GIR_EraseRootFromParent_Done,
44006 /* 123679 */ // Label 2705: @123679
44007 /* 123679 */ GIM_Try, /*On fail goto*//*Label 2706*/ GIMT_Encode4(123727), // Rule ID 825 //
44008 /* 123684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44009 /* 123687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44010 /* 123691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44011 /* 123695 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44012 /* 123699 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
44013 /* 123699 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44014 /* 123703 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44015 /* 123709 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44016 /* 123713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL),
44017 /* 123716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44018 /* 123718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44019 /* 123720 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44020 /* 123722 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44021 /* 123725 */ GIR_RootConstrainSelectedInstOperands,
44022 /* 123726 */ // GIR_Coverage, 825,
44023 /* 123726 */ GIR_EraseRootFromParent_Done,
44024 /* 123727 */ // Label 2706: @123727
44025 /* 123727 */ GIM_Try, /*On fail goto*//*Label 2707*/ GIMT_Encode4(123775), // Rule ID 831 //
44026 /* 123732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44027 /* 123735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44028 /* 123739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44029 /* 123743 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44030 /* 123747 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
44031 /* 123747 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44032 /* 123751 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44033 /* 123757 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44034 /* 123761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL_ND),
44035 /* 123764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44036 /* 123766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44037 /* 123768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44038 /* 123770 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44039 /* 123773 */ GIR_RootConstrainSelectedInstOperands,
44040 /* 123774 */ // GIR_Coverage, 831,
44041 /* 123774 */ GIR_EraseRootFromParent_Done,
44042 /* 123775 */ // Label 2707: @123775
44043 /* 123775 */ GIM_Reject,
44044 /* 123776 */ // Label 2701: @123776
44045 /* 123776 */ GIM_Reject,
44046 /* 123777 */ // Label 2684: @123777
44047 /* 123777 */ GIM_Try, /*On fail goto*//*Label 2708*/ GIMT_Encode4(123879),
44048 /* 123782 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
44049 /* 123785 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
44050 /* 123788 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
44051 /* 123791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44052 /* 123795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44053 /* 123799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44054 /* 123803 */ GIM_Try, /*On fail goto*//*Label 2709*/ GIMT_Encode4(123859), // Rule ID 14159 //
44055 /* 123808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44056 /* 123811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44057 /* 123815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44058 /* 123819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44059 /* 123822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44060 /* 123826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44061 /* 123830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44062 /* 123832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44063 /* 123839 */ // (fshl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVQZ128m:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, addr:{ *:[iPTR] }:$src3)
44064 /* 123839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128m),
44065 /* 123842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44066 /* 123844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44067 /* 123846 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44068 /* 123848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44069 /* 123852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44070 /* 123857 */ GIR_RootConstrainSelectedInstOperands,
44071 /* 123858 */ // GIR_Coverage, 14159,
44072 /* 123858 */ GIR_EraseRootFromParent_Done,
44073 /* 123859 */ // Label 2709: @123859
44074 /* 123859 */ GIM_Try, /*On fail goto*//*Label 2710*/ GIMT_Encode4(123878), // Rule ID 14156 //
44075 /* 123864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44076 /* 123867 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44077 /* 123871 */ // (fshl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3) => (VPSHLDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
44078 /* 123871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128r),
44079 /* 123876 */ GIR_RootConstrainSelectedInstOperands,
44080 /* 123877 */ // GIR_Coverage, 14156,
44081 /* 123877 */ GIR_Done,
44082 /* 123878 */ // Label 2710: @123878
44083 /* 123878 */ GIM_Reject,
44084 /* 123879 */ // Label 2708: @123879
44085 /* 123879 */ GIM_Reject,
44086 /* 123880 */ // Label 2685: @123880
44087 /* 123880 */ GIM_Try, /*On fail goto*//*Label 2711*/ GIMT_Encode4(123982),
44088 /* 123885 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
44089 /* 123888 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
44090 /* 123891 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
44091 /* 123894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44092 /* 123898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44093 /* 123902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44094 /* 123906 */ GIM_Try, /*On fail goto*//*Label 2712*/ GIMT_Encode4(123962), // Rule ID 14132 //
44095 /* 123911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44096 /* 123914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44097 /* 123918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44098 /* 123922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44099 /* 123925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44100 /* 123929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44101 /* 123933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44102 /* 123935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44103 /* 123942 */ // (fshl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVDZ128m:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, addr:{ *:[iPTR] }:$src3)
44104 /* 123942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128m),
44105 /* 123945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44106 /* 123947 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44107 /* 123949 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44108 /* 123951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44109 /* 123955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44110 /* 123960 */ GIR_RootConstrainSelectedInstOperands,
44111 /* 123961 */ // GIR_Coverage, 14132,
44112 /* 123961 */ GIR_EraseRootFromParent_Done,
44113 /* 123962 */ // Label 2712: @123962
44114 /* 123962 */ GIM_Try, /*On fail goto*//*Label 2713*/ GIMT_Encode4(123981), // Rule ID 14129 //
44115 /* 123967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44116 /* 123970 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44117 /* 123974 */ // (fshl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3) => (VPSHLDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
44118 /* 123974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128r),
44119 /* 123979 */ GIR_RootConstrainSelectedInstOperands,
44120 /* 123980 */ // GIR_Coverage, 14129,
44121 /* 123980 */ GIR_Done,
44122 /* 123981 */ // Label 2713: @123981
44123 /* 123981 */ GIM_Reject,
44124 /* 123982 */ // Label 2711: @123982
44125 /* 123982 */ GIM_Reject,
44126 /* 123983 */ // Label 2686: @123983
44127 /* 123983 */ GIM_Try, /*On fail goto*//*Label 2714*/ GIMT_Encode4(124085),
44128 /* 123988 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
44129 /* 123991 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
44130 /* 123994 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
44131 /* 123997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44132 /* 124001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44133 /* 124005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44134 /* 124009 */ GIM_Try, /*On fail goto*//*Label 2715*/ GIMT_Encode4(124065), // Rule ID 14150 //
44135 /* 124014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44136 /* 124017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44137 /* 124021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44138 /* 124025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44139 /* 124028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44140 /* 124032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44141 /* 124036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44142 /* 124038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44143 /* 124045 */ // (fshl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVQZ256m:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, addr:{ *:[iPTR] }:$src3)
44144 /* 124045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256m),
44145 /* 124048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44146 /* 124050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44147 /* 124052 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44148 /* 124054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44149 /* 124058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44150 /* 124063 */ GIR_RootConstrainSelectedInstOperands,
44151 /* 124064 */ // GIR_Coverage, 14150,
44152 /* 124064 */ GIR_EraseRootFromParent_Done,
44153 /* 124065 */ // Label 2715: @124065
44154 /* 124065 */ GIM_Try, /*On fail goto*//*Label 2716*/ GIMT_Encode4(124084), // Rule ID 14147 //
44155 /* 124070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44156 /* 124073 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44157 /* 124077 */ // (fshl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3) => (VPSHLDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
44158 /* 124077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256r),
44159 /* 124082 */ GIR_RootConstrainSelectedInstOperands,
44160 /* 124083 */ // GIR_Coverage, 14147,
44161 /* 124083 */ GIR_Done,
44162 /* 124084 */ // Label 2716: @124084
44163 /* 124084 */ GIM_Reject,
44164 /* 124085 */ // Label 2714: @124085
44165 /* 124085 */ GIM_Reject,
44166 /* 124086 */ // Label 2687: @124086
44167 /* 124086 */ GIM_Try, /*On fail goto*//*Label 2717*/ GIMT_Encode4(124188),
44168 /* 124091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
44169 /* 124094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
44170 /* 124097 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
44171 /* 124100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44172 /* 124104 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44173 /* 124108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44174 /* 124112 */ GIM_Try, /*On fail goto*//*Label 2718*/ GIMT_Encode4(124168), // Rule ID 14108 //
44175 /* 124117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44176 /* 124120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44177 /* 124124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44178 /* 124128 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44179 /* 124131 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44180 /* 124135 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44181 /* 124139 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44182 /* 124141 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44183 /* 124148 */ // (fshl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVWZ128m:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, addr:{ *:[iPTR] }:$src3)
44184 /* 124148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128m),
44185 /* 124151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44186 /* 124153 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44187 /* 124155 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44188 /* 124157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44189 /* 124161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44190 /* 124166 */ GIR_RootConstrainSelectedInstOperands,
44191 /* 124167 */ // GIR_Coverage, 14108,
44192 /* 124167 */ GIR_EraseRootFromParent_Done,
44193 /* 124168 */ // Label 2718: @124168
44194 /* 124168 */ GIM_Try, /*On fail goto*//*Label 2719*/ GIMT_Encode4(124187), // Rule ID 14105 //
44195 /* 124173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44196 /* 124176 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44197 /* 124180 */ // (fshl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
44198 /* 124180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
44199 /* 124185 */ GIR_RootConstrainSelectedInstOperands,
44200 /* 124186 */ // GIR_Coverage, 14105,
44201 /* 124186 */ GIR_Done,
44202 /* 124187 */ // Label 2719: @124187
44203 /* 124187 */ GIM_Reject,
44204 /* 124188 */ // Label 2717: @124188
44205 /* 124188 */ GIM_Reject,
44206 /* 124189 */ // Label 2688: @124189
44207 /* 124189 */ GIM_Try, /*On fail goto*//*Label 2720*/ GIMT_Encode4(124291),
44208 /* 124194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
44209 /* 124197 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
44210 /* 124200 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
44211 /* 124203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44212 /* 124207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44213 /* 124211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44214 /* 124215 */ GIM_Try, /*On fail goto*//*Label 2721*/ GIMT_Encode4(124271), // Rule ID 14123 //
44215 /* 124220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44216 /* 124223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44217 /* 124227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44218 /* 124231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44219 /* 124234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44220 /* 124238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44221 /* 124242 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44222 /* 124244 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44223 /* 124251 */ // (fshl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVDZ256m:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, addr:{ *:[iPTR] }:$src3)
44224 /* 124251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256m),
44225 /* 124254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44226 /* 124256 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44227 /* 124258 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44228 /* 124260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44229 /* 124264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44230 /* 124269 */ GIR_RootConstrainSelectedInstOperands,
44231 /* 124270 */ // GIR_Coverage, 14123,
44232 /* 124270 */ GIR_EraseRootFromParent_Done,
44233 /* 124271 */ // Label 2721: @124271
44234 /* 124271 */ GIM_Try, /*On fail goto*//*Label 2722*/ GIMT_Encode4(124290), // Rule ID 14120 //
44235 /* 124276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44236 /* 124279 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44237 /* 124283 */ // (fshl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3) => (VPSHLDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
44238 /* 124283 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256r),
44239 /* 124288 */ GIR_RootConstrainSelectedInstOperands,
44240 /* 124289 */ // GIR_Coverage, 14120,
44241 /* 124289 */ GIR_Done,
44242 /* 124290 */ // Label 2722: @124290
44243 /* 124290 */ GIM_Reject,
44244 /* 124291 */ // Label 2720: @124291
44245 /* 124291 */ GIM_Reject,
44246 /* 124292 */ // Label 2689: @124292
44247 /* 124292 */ GIM_Try, /*On fail goto*//*Label 2723*/ GIMT_Encode4(124394),
44248 /* 124297 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
44249 /* 124300 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
44250 /* 124303 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
44251 /* 124306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44252 /* 124310 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44253 /* 124314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44254 /* 124318 */ GIM_Try, /*On fail goto*//*Label 2724*/ GIMT_Encode4(124374), // Rule ID 14141 //
44255 /* 124323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44256 /* 124326 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44257 /* 124330 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44258 /* 124334 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44259 /* 124337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44260 /* 124341 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44261 /* 124345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44262 /* 124347 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44263 /* 124354 */ // (fshl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVQZm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, addr:{ *:[iPTR] }:$src3)
44264 /* 124354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZm),
44265 /* 124357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44266 /* 124359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44267 /* 124361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44268 /* 124363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44269 /* 124367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44270 /* 124372 */ GIR_RootConstrainSelectedInstOperands,
44271 /* 124373 */ // GIR_Coverage, 14141,
44272 /* 124373 */ GIR_EraseRootFromParent_Done,
44273 /* 124374 */ // Label 2724: @124374
44274 /* 124374 */ GIM_Try, /*On fail goto*//*Label 2725*/ GIMT_Encode4(124393), // Rule ID 14138 //
44275 /* 124379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44276 /* 124382 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44277 /* 124386 */ // (fshl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3) => (VPSHLDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
44278 /* 124386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
44279 /* 124391 */ GIR_RootConstrainSelectedInstOperands,
44280 /* 124392 */ // GIR_Coverage, 14138,
44281 /* 124392 */ GIR_Done,
44282 /* 124393 */ // Label 2725: @124393
44283 /* 124393 */ GIM_Reject,
44284 /* 124394 */ // Label 2723: @124394
44285 /* 124394 */ GIM_Reject,
44286 /* 124395 */ // Label 2690: @124395
44287 /* 124395 */ GIM_Try, /*On fail goto*//*Label 2726*/ GIMT_Encode4(124497),
44288 /* 124400 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
44289 /* 124403 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
44290 /* 124406 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
44291 /* 124409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44292 /* 124413 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44293 /* 124417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44294 /* 124421 */ GIM_Try, /*On fail goto*//*Label 2727*/ GIMT_Encode4(124477), // Rule ID 14102 //
44295 /* 124426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44296 /* 124429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44297 /* 124433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44298 /* 124437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44299 /* 124440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44300 /* 124444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44301 /* 124448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44302 /* 124450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44303 /* 124457 */ // (fshl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVWZ256m:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, addr:{ *:[iPTR] }:$src3)
44304 /* 124457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256m),
44305 /* 124460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44306 /* 124462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44307 /* 124464 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44308 /* 124466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44309 /* 124470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44310 /* 124475 */ GIR_RootConstrainSelectedInstOperands,
44311 /* 124476 */ // GIR_Coverage, 14102,
44312 /* 124476 */ GIR_EraseRootFromParent_Done,
44313 /* 124477 */ // Label 2727: @124477
44314 /* 124477 */ GIM_Try, /*On fail goto*//*Label 2728*/ GIMT_Encode4(124496), // Rule ID 14099 //
44315 /* 124482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44316 /* 124485 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44317 /* 124489 */ // (fshl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
44318 /* 124489 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
44319 /* 124494 */ GIR_RootConstrainSelectedInstOperands,
44320 /* 124495 */ // GIR_Coverage, 14099,
44321 /* 124495 */ GIR_Done,
44322 /* 124496 */ // Label 2728: @124496
44323 /* 124496 */ GIM_Reject,
44324 /* 124497 */ // Label 2726: @124497
44325 /* 124497 */ GIM_Reject,
44326 /* 124498 */ // Label 2691: @124498
44327 /* 124498 */ GIM_Try, /*On fail goto*//*Label 2729*/ GIMT_Encode4(124600),
44328 /* 124503 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
44329 /* 124506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
44330 /* 124509 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
44331 /* 124512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44332 /* 124516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44333 /* 124520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44334 /* 124524 */ GIM_Try, /*On fail goto*//*Label 2730*/ GIMT_Encode4(124580), // Rule ID 14114 //
44335 /* 124529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44336 /* 124532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44337 /* 124536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44338 /* 124540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44339 /* 124543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44340 /* 124547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44341 /* 124551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44342 /* 124553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44343 /* 124560 */ // (fshl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVDZm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, addr:{ *:[iPTR] }:$src3)
44344 /* 124560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZm),
44345 /* 124563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44346 /* 124565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44347 /* 124567 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44348 /* 124569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44349 /* 124573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44350 /* 124578 */ GIR_RootConstrainSelectedInstOperands,
44351 /* 124579 */ // GIR_Coverage, 14114,
44352 /* 124579 */ GIR_EraseRootFromParent_Done,
44353 /* 124580 */ // Label 2730: @124580
44354 /* 124580 */ GIM_Try, /*On fail goto*//*Label 2731*/ GIMT_Encode4(124599), // Rule ID 14111 //
44355 /* 124585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44356 /* 124588 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44357 /* 124592 */ // (fshl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3) => (VPSHLDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
44358 /* 124592 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
44359 /* 124597 */ GIR_RootConstrainSelectedInstOperands,
44360 /* 124598 */ // GIR_Coverage, 14111,
44361 /* 124598 */ GIR_Done,
44362 /* 124599 */ // Label 2731: @124599
44363 /* 124599 */ GIM_Reject,
44364 /* 124600 */ // Label 2729: @124600
44365 /* 124600 */ GIM_Reject,
44366 /* 124601 */ // Label 2692: @124601
44367 /* 124601 */ GIM_Try, /*On fail goto*//*Label 2732*/ GIMT_Encode4(124703),
44368 /* 124606 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
44369 /* 124609 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
44370 /* 124612 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
44371 /* 124615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44372 /* 124619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44373 /* 124623 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44374 /* 124627 */ GIM_Try, /*On fail goto*//*Label 2733*/ GIMT_Encode4(124683), // Rule ID 14096 //
44375 /* 124632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44376 /* 124635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44377 /* 124639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44378 /* 124643 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44379 /* 124646 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44380 /* 124650 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44381 /* 124654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44382 /* 124656 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44383 /* 124663 */ // (fshl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHLDVWZm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, addr:{ *:[iPTR] }:$src3)
44384 /* 124663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZm),
44385 /* 124666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44386 /* 124668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44387 /* 124670 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44388 /* 124672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44389 /* 124676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44390 /* 124681 */ GIR_RootConstrainSelectedInstOperands,
44391 /* 124682 */ // GIR_Coverage, 14096,
44392 /* 124682 */ GIR_EraseRootFromParent_Done,
44393 /* 124683 */ // Label 2733: @124683
44394 /* 124683 */ GIM_Try, /*On fail goto*//*Label 2734*/ GIMT_Encode4(124702), // Rule ID 14093 //
44395 /* 124688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44396 /* 124691 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44397 /* 124695 */ // (fshl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
44398 /* 124695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
44399 /* 124700 */ GIR_RootConstrainSelectedInstOperands,
44400 /* 124701 */ // GIR_Coverage, 14093,
44401 /* 124701 */ GIR_Done,
44402 /* 124702 */ // Label 2734: @124702
44403 /* 124702 */ GIM_Reject,
44404 /* 124703 */ // Label 2732: @124703
44405 /* 124703 */ GIM_Reject,
44406 /* 124704 */ // Label 2693: @124704
44407 /* 124704 */ GIM_Reject,
44408 /* 124705 */ // Label 31: @124705
44409 /* 124705 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(23), /*)*//*default:*//*Label 2746*/ GIMT_Encode4(126445),
44410 /* 124716 */ /*GILLT_s32*//*Label 2735*/ GIMT_Encode4(124796),
44411 /* 124720 */ /*GILLT_s64*//*Label 2736*/ GIMT_Encode4(125130), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
44412 /* 124736 */ /*GILLT_v2s64*//*Label 2737*/ GIMT_Encode4(125464), GIMT_Encode4(0),
44413 /* 124744 */ /*GILLT_v4s32*//*Label 2738*/ GIMT_Encode4(125573),
44414 /* 124748 */ /*GILLT_v4s64*//*Label 2739*/ GIMT_Encode4(125682), GIMT_Encode4(0),
44415 /* 124756 */ /*GILLT_v8s16*//*Label 2740*/ GIMT_Encode4(125791),
44416 /* 124760 */ /*GILLT_v8s32*//*Label 2741*/ GIMT_Encode4(125900),
44417 /* 124764 */ /*GILLT_v8s64*//*Label 2742*/ GIMT_Encode4(126009), GIMT_Encode4(0), GIMT_Encode4(0),
44418 /* 124776 */ /*GILLT_v16s16*//*Label 2743*/ GIMT_Encode4(126118),
44419 /* 124780 */ /*GILLT_v16s32*//*Label 2744*/ GIMT_Encode4(126227), GIMT_Encode4(0), GIMT_Encode4(0),
44420 /* 124792 */ /*GILLT_v32s16*//*Label 2745*/ GIMT_Encode4(126336),
44421 /* 124796 */ // Label 2735: @124796
44422 /* 124796 */ GIM_Try, /*On fail goto*//*Label 2747*/ GIMT_Encode4(125129),
44423 /* 124801 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
44424 /* 124804 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
44425 /* 124807 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
44426 /* 124810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44427 /* 124814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44428 /* 124818 */ GIM_Try, /*On fail goto*//*Label 2748*/ GIMT_Encode4(124887), // Rule ID 863 //
44429 /* 124823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44430 /* 124826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44431 /* 124830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44432 /* 124834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44433 /* 124837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44434 /* 124841 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44435 /* 124845 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
44436 /* 124849 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44437 /* 124853 */ // MIs[2] Operand 1
44438 /* 124853 */ // No operand predicates
44439 /* 124853 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44440 /* 124855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44441 /* 124862 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src3) => (SHRD32mri8_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
44442 /* 124862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8_ND),
44443 /* 124865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44444 /* 124867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44445 /* 124871 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44446 /* 124873 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
44447 /* 124876 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44448 /* 124879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44449 /* 124885 */ GIR_RootConstrainSelectedInstOperands,
44450 /* 124886 */ // GIR_Coverage, 863,
44451 /* 124886 */ GIR_EraseRootFromParent_Done,
44452 /* 124887 */ // Label 2748: @124887
44453 /* 124887 */ GIM_Try, /*On fail goto*//*Label 2749*/ GIMT_Encode4(124962), // Rule ID 866 //
44454 /* 124892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44455 /* 124895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44456 /* 124899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44457 /* 124903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44458 /* 124906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44459 /* 124910 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44460 /* 124914 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44461 /* 124918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44462 /* 124920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44463 /* 124927 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (SHRD32mrCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR32:{ *:[i32] }:$src2)
44464 /* 124927 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44465 /* 124931 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44466 /* 124937 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44467 /* 124941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL_ND),
44468 /* 124944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44469 /* 124946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44470 /* 124950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44471 /* 124952 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44472 /* 124955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44473 /* 124960 */ GIR_RootConstrainSelectedInstOperands,
44474 /* 124961 */ // GIR_Coverage, 866,
44475 /* 124961 */ GIR_EraseRootFromParent_Done,
44476 /* 124962 */ // Label 2749: @124962
44477 /* 124962 */ GIM_Try, /*On fail goto*//*Label 2750*/ GIMT_Encode4(125001), // Rule ID 845 //
44478 /* 124967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44479 /* 124970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44480 /* 124974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44481 /* 124978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44482 /* 124982 */ // MIs[1] Operand 1
44483 /* 124982 */ // No operand predicates
44484 /* 124982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44485 /* 124984 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
44486 /* 124984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8),
44487 /* 124987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44488 /* 124989 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44489 /* 124991 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44490 /* 124993 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44491 /* 124996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44492 /* 124999 */ GIR_RootConstrainSelectedInstOperands,
44493 /* 125000 */ // GIR_Coverage, 845,
44494 /* 125000 */ GIR_EraseRootFromParent_Done,
44495 /* 125001 */ // Label 2750: @125001
44496 /* 125001 */ GIM_Try, /*On fail goto*//*Label 2751*/ GIMT_Encode4(125040), // Rule ID 851 //
44497 /* 125006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44498 /* 125009 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44499 /* 125013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44500 /* 125017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44501 /* 125021 */ // MIs[1] Operand 1
44502 /* 125021 */ // No operand predicates
44503 /* 125021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44504 /* 125023 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
44505 /* 125023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8_ND),
44506 /* 125026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44507 /* 125028 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44508 /* 125030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44509 /* 125032 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44510 /* 125035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44511 /* 125038 */ GIR_RootConstrainSelectedInstOperands,
44512 /* 125039 */ // GIR_Coverage, 851,
44513 /* 125039 */ GIR_EraseRootFromParent_Done,
44514 /* 125040 */ // Label 2751: @125040
44515 /* 125040 */ GIM_Try, /*On fail goto*//*Label 2752*/ GIMT_Encode4(125084), // Rule ID 848 //
44516 /* 125045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44517 /* 125048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44518 /* 125052 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44519 /* 125056 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
44520 /* 125056 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44521 /* 125060 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44522 /* 125066 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44523 /* 125070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL),
44524 /* 125073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44525 /* 125075 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44526 /* 125077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44527 /* 125079 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44528 /* 125082 */ GIR_RootConstrainSelectedInstOperands,
44529 /* 125083 */ // GIR_Coverage, 848,
44530 /* 125083 */ GIR_EraseRootFromParent_Done,
44531 /* 125084 */ // Label 2752: @125084
44532 /* 125084 */ GIM_Try, /*On fail goto*//*Label 2753*/ GIMT_Encode4(125128), // Rule ID 854 //
44533 /* 125089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44534 /* 125092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44535 /* 125096 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44536 /* 125100 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
44537 /* 125100 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44538 /* 125104 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44539 /* 125110 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44540 /* 125114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL_ND),
44541 /* 125117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44542 /* 125119 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44543 /* 125121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44544 /* 125123 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44545 /* 125126 */ GIR_RootConstrainSelectedInstOperands,
44546 /* 125127 */ // GIR_Coverage, 854,
44547 /* 125127 */ GIR_EraseRootFromParent_Done,
44548 /* 125128 */ // Label 2753: @125128
44549 /* 125128 */ GIM_Reject,
44550 /* 125129 */ // Label 2747: @125129
44551 /* 125129 */ GIM_Reject,
44552 /* 125130 */ // Label 2736: @125130
44553 /* 125130 */ GIM_Try, /*On fail goto*//*Label 2754*/ GIMT_Encode4(125463),
44554 /* 125135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
44555 /* 125138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
44556 /* 125141 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
44557 /* 125144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44558 /* 125148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44559 /* 125152 */ GIM_Try, /*On fail goto*//*Label 2755*/ GIMT_Encode4(125221), // Rule ID 864 //
44560 /* 125157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44561 /* 125160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44562 /* 125164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44563 /* 125168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44564 /* 125171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44565 /* 125175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44566 /* 125179 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
44567 /* 125183 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44568 /* 125187 */ // MIs[2] Operand 1
44569 /* 125187 */ // No operand predicates
44570 /* 125187 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44571 /* 125189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44572 /* 125196 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src3) => (SHRD64mri8_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
44573 /* 125196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8_ND),
44574 /* 125199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44575 /* 125201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44576 /* 125205 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44577 /* 125207 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src3
44578 /* 125210 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44579 /* 125213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44580 /* 125219 */ GIR_RootConstrainSelectedInstOperands,
44581 /* 125220 */ // GIR_Coverage, 864,
44582 /* 125220 */ GIR_EraseRootFromParent_Done,
44583 /* 125221 */ // Label 2755: @125221
44584 /* 125221 */ GIM_Try, /*On fail goto*//*Label 2756*/ GIMT_Encode4(125296), // Rule ID 867 //
44585 /* 125226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44586 /* 125229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44587 /* 125233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44588 /* 125237 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44589 /* 125240 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44590 /* 125244 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44591 /* 125248 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44592 /* 125252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44593 /* 125254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44594 /* 125261 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (SHRD64mrCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, GR64:{ *:[i64] }:$src2)
44595 /* 125261 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44596 /* 125265 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44597 /* 125271 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44598 /* 125275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL_ND),
44599 /* 125278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44600 /* 125280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
44601 /* 125284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44602 /* 125286 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44603 /* 125289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44604 /* 125294 */ GIR_RootConstrainSelectedInstOperands,
44605 /* 125295 */ // GIR_Coverage, 867,
44606 /* 125295 */ GIR_EraseRootFromParent_Done,
44607 /* 125296 */ // Label 2756: @125296
44608 /* 125296 */ GIM_Try, /*On fail goto*//*Label 2757*/ GIMT_Encode4(125335), // Rule ID 846 //
44609 /* 125301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44610 /* 125304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44611 /* 125308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44612 /* 125312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44613 /* 125316 */ // MIs[1] Operand 1
44614 /* 125316 */ // No operand predicates
44615 /* 125316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44616 /* 125318 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
44617 /* 125318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8),
44618 /* 125321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44619 /* 125323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44620 /* 125325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44621 /* 125327 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44622 /* 125330 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44623 /* 125333 */ GIR_RootConstrainSelectedInstOperands,
44624 /* 125334 */ // GIR_Coverage, 846,
44625 /* 125334 */ GIR_EraseRootFromParent_Done,
44626 /* 125335 */ // Label 2757: @125335
44627 /* 125335 */ GIM_Try, /*On fail goto*//*Label 2758*/ GIMT_Encode4(125374), // Rule ID 852 //
44628 /* 125340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44629 /* 125343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44630 /* 125347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44631 /* 125351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44632 /* 125355 */ // MIs[1] Operand 1
44633 /* 125355 */ // No operand predicates
44634 /* 125355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44635 /* 125357 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
44636 /* 125357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8_ND),
44637 /* 125360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44638 /* 125362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44639 /* 125364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44640 /* 125366 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
44641 /* 125369 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44642 /* 125372 */ GIR_RootConstrainSelectedInstOperands,
44643 /* 125373 */ // GIR_Coverage, 852,
44644 /* 125373 */ GIR_EraseRootFromParent_Done,
44645 /* 125374 */ // Label 2758: @125374
44646 /* 125374 */ GIM_Try, /*On fail goto*//*Label 2759*/ GIMT_Encode4(125418), // Rule ID 849 //
44647 /* 125379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44648 /* 125382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44649 /* 125386 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44650 /* 125390 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
44651 /* 125390 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44652 /* 125394 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44653 /* 125400 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44654 /* 125404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL),
44655 /* 125407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44656 /* 125409 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44657 /* 125411 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44658 /* 125413 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44659 /* 125416 */ GIR_RootConstrainSelectedInstOperands,
44660 /* 125417 */ // GIR_Coverage, 849,
44661 /* 125417 */ GIR_EraseRootFromParent_Done,
44662 /* 125418 */ // Label 2759: @125418
44663 /* 125418 */ GIM_Try, /*On fail goto*//*Label 2760*/ GIMT_Encode4(125462), // Rule ID 855 //
44664 /* 125423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44665 /* 125426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44666 /* 125430 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44667 /* 125434 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
44668 /* 125434 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44669 /* 125438 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44670 /* 125444 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
44671 /* 125448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL_ND),
44672 /* 125451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44673 /* 125453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44674 /* 125455 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44675 /* 125457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44676 /* 125460 */ GIR_RootConstrainSelectedInstOperands,
44677 /* 125461 */ // GIR_Coverage, 855,
44678 /* 125461 */ GIR_EraseRootFromParent_Done,
44679 /* 125462 */ // Label 2760: @125462
44680 /* 125462 */ GIM_Reject,
44681 /* 125463 */ // Label 2754: @125463
44682 /* 125463 */ GIM_Reject,
44683 /* 125464 */ // Label 2737: @125464
44684 /* 125464 */ GIM_Try, /*On fail goto*//*Label 2761*/ GIMT_Encode4(125572),
44685 /* 125469 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
44686 /* 125472 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
44687 /* 125475 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
44688 /* 125478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44689 /* 125482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44690 /* 125486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44691 /* 125490 */ GIM_Try, /*On fail goto*//*Label 2762*/ GIMT_Encode4(125546), // Rule ID 14231 //
44692 /* 125495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44693 /* 125498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44694 /* 125502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44695 /* 125506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44696 /* 125509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44697 /* 125513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44698 /* 125517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44699 /* 125519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44700 /* 125526 */ // (fshr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVQZ128m:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, addr:{ *:[iPTR] }:$src3)
44701 /* 125526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128m),
44702 /* 125529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44703 /* 125531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44704 /* 125533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44705 /* 125535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44706 /* 125539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44707 /* 125544 */ GIR_RootConstrainSelectedInstOperands,
44708 /* 125545 */ // GIR_Coverage, 14231,
44709 /* 125545 */ GIR_EraseRootFromParent_Done,
44710 /* 125546 */ // Label 2762: @125546
44711 /* 125546 */ GIM_Try, /*On fail goto*//*Label 2763*/ GIMT_Encode4(125571), // Rule ID 14228 //
44712 /* 125551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44713 /* 125554 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44714 /* 125558 */ // (fshr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src3) => (VPSHRDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
44715 /* 125558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128r),
44716 /* 125561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44717 /* 125563 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44718 /* 125565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44719 /* 125567 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44720 /* 125569 */ GIR_RootConstrainSelectedInstOperands,
44721 /* 125570 */ // GIR_Coverage, 14228,
44722 /* 125570 */ GIR_EraseRootFromParent_Done,
44723 /* 125571 */ // Label 2763: @125571
44724 /* 125571 */ GIM_Reject,
44725 /* 125572 */ // Label 2761: @125572
44726 /* 125572 */ GIM_Reject,
44727 /* 125573 */ // Label 2738: @125573
44728 /* 125573 */ GIM_Try, /*On fail goto*//*Label 2764*/ GIMT_Encode4(125681),
44729 /* 125578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
44730 /* 125581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
44731 /* 125584 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
44732 /* 125587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44733 /* 125591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44734 /* 125595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44735 /* 125599 */ GIM_Try, /*On fail goto*//*Label 2765*/ GIMT_Encode4(125655), // Rule ID 14204 //
44736 /* 125604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44737 /* 125607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44738 /* 125611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44739 /* 125615 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44740 /* 125618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44741 /* 125622 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44742 /* 125626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44743 /* 125628 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44744 /* 125635 */ // (fshr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVDZ128m:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, addr:{ *:[iPTR] }:$src3)
44745 /* 125635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128m),
44746 /* 125638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44747 /* 125640 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44748 /* 125642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44749 /* 125644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44750 /* 125648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44751 /* 125653 */ GIR_RootConstrainSelectedInstOperands,
44752 /* 125654 */ // GIR_Coverage, 14204,
44753 /* 125654 */ GIR_EraseRootFromParent_Done,
44754 /* 125655 */ // Label 2765: @125655
44755 /* 125655 */ GIM_Try, /*On fail goto*//*Label 2766*/ GIMT_Encode4(125680), // Rule ID 14201 //
44756 /* 125660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44757 /* 125663 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44758 /* 125667 */ // (fshr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src3) => (VPSHRDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
44759 /* 125667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128r),
44760 /* 125670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44761 /* 125672 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44762 /* 125674 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44763 /* 125676 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44764 /* 125678 */ GIR_RootConstrainSelectedInstOperands,
44765 /* 125679 */ // GIR_Coverage, 14201,
44766 /* 125679 */ GIR_EraseRootFromParent_Done,
44767 /* 125680 */ // Label 2766: @125680
44768 /* 125680 */ GIM_Reject,
44769 /* 125681 */ // Label 2764: @125681
44770 /* 125681 */ GIM_Reject,
44771 /* 125682 */ // Label 2739: @125682
44772 /* 125682 */ GIM_Try, /*On fail goto*//*Label 2767*/ GIMT_Encode4(125790),
44773 /* 125687 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
44774 /* 125690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
44775 /* 125693 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
44776 /* 125696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44777 /* 125700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44778 /* 125704 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44779 /* 125708 */ GIM_Try, /*On fail goto*//*Label 2768*/ GIMT_Encode4(125764), // Rule ID 14222 //
44780 /* 125713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44781 /* 125716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44782 /* 125720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44783 /* 125724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44784 /* 125727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44785 /* 125731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44786 /* 125735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44787 /* 125737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44788 /* 125744 */ // (fshr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVQZ256m:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, addr:{ *:[iPTR] }:$src3)
44789 /* 125744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256m),
44790 /* 125747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44791 /* 125749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44792 /* 125751 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44793 /* 125753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44794 /* 125757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44795 /* 125762 */ GIR_RootConstrainSelectedInstOperands,
44796 /* 125763 */ // GIR_Coverage, 14222,
44797 /* 125763 */ GIR_EraseRootFromParent_Done,
44798 /* 125764 */ // Label 2768: @125764
44799 /* 125764 */ GIM_Try, /*On fail goto*//*Label 2769*/ GIMT_Encode4(125789), // Rule ID 14219 //
44800 /* 125769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44801 /* 125772 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44802 /* 125776 */ // (fshr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src3) => (VPSHRDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
44803 /* 125776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256r),
44804 /* 125779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44805 /* 125781 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44806 /* 125783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44807 /* 125785 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44808 /* 125787 */ GIR_RootConstrainSelectedInstOperands,
44809 /* 125788 */ // GIR_Coverage, 14219,
44810 /* 125788 */ GIR_EraseRootFromParent_Done,
44811 /* 125789 */ // Label 2769: @125789
44812 /* 125789 */ GIM_Reject,
44813 /* 125790 */ // Label 2767: @125790
44814 /* 125790 */ GIM_Reject,
44815 /* 125791 */ // Label 2740: @125791
44816 /* 125791 */ GIM_Try, /*On fail goto*//*Label 2770*/ GIMT_Encode4(125899),
44817 /* 125796 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
44818 /* 125799 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
44819 /* 125802 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
44820 /* 125805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44821 /* 125809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44822 /* 125813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44823 /* 125817 */ GIM_Try, /*On fail goto*//*Label 2771*/ GIMT_Encode4(125873), // Rule ID 14180 //
44824 /* 125822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44825 /* 125825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44826 /* 125829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44827 /* 125833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44828 /* 125836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44829 /* 125840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44830 /* 125844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44831 /* 125846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44832 /* 125853 */ // (fshr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVWZ128m:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, addr:{ *:[iPTR] }:$src3)
44833 /* 125853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128m),
44834 /* 125856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44835 /* 125858 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44836 /* 125860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44837 /* 125862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44838 /* 125866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44839 /* 125871 */ GIR_RootConstrainSelectedInstOperands,
44840 /* 125872 */ // GIR_Coverage, 14180,
44841 /* 125872 */ GIR_EraseRootFromParent_Done,
44842 /* 125873 */ // Label 2771: @125873
44843 /* 125873 */ GIM_Try, /*On fail goto*//*Label 2772*/ GIMT_Encode4(125898), // Rule ID 14177 //
44844 /* 125878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44845 /* 125881 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44846 /* 125885 */ // (fshr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src3) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
44847 /* 125885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
44848 /* 125888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44849 /* 125890 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44850 /* 125892 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44851 /* 125894 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44852 /* 125896 */ GIR_RootConstrainSelectedInstOperands,
44853 /* 125897 */ // GIR_Coverage, 14177,
44854 /* 125897 */ GIR_EraseRootFromParent_Done,
44855 /* 125898 */ // Label 2772: @125898
44856 /* 125898 */ GIM_Reject,
44857 /* 125899 */ // Label 2770: @125899
44858 /* 125899 */ GIM_Reject,
44859 /* 125900 */ // Label 2741: @125900
44860 /* 125900 */ GIM_Try, /*On fail goto*//*Label 2773*/ GIMT_Encode4(126008),
44861 /* 125905 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
44862 /* 125908 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
44863 /* 125911 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
44864 /* 125914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44865 /* 125918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44866 /* 125922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44867 /* 125926 */ GIM_Try, /*On fail goto*//*Label 2774*/ GIMT_Encode4(125982), // Rule ID 14195 //
44868 /* 125931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44869 /* 125934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44870 /* 125938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44871 /* 125942 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44872 /* 125945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44873 /* 125949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44874 /* 125953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44875 /* 125955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44876 /* 125962 */ // (fshr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVDZ256m:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, addr:{ *:[iPTR] }:$src3)
44877 /* 125962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256m),
44878 /* 125965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44879 /* 125967 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44880 /* 125969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44881 /* 125971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44882 /* 125975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44883 /* 125980 */ GIR_RootConstrainSelectedInstOperands,
44884 /* 125981 */ // GIR_Coverage, 14195,
44885 /* 125981 */ GIR_EraseRootFromParent_Done,
44886 /* 125982 */ // Label 2774: @125982
44887 /* 125982 */ GIM_Try, /*On fail goto*//*Label 2775*/ GIMT_Encode4(126007), // Rule ID 14192 //
44888 /* 125987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44889 /* 125990 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44890 /* 125994 */ // (fshr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src3) => (VPSHRDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
44891 /* 125994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256r),
44892 /* 125997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44893 /* 125999 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44894 /* 126001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44895 /* 126003 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44896 /* 126005 */ GIR_RootConstrainSelectedInstOperands,
44897 /* 126006 */ // GIR_Coverage, 14192,
44898 /* 126006 */ GIR_EraseRootFromParent_Done,
44899 /* 126007 */ // Label 2775: @126007
44900 /* 126007 */ GIM_Reject,
44901 /* 126008 */ // Label 2773: @126008
44902 /* 126008 */ GIM_Reject,
44903 /* 126009 */ // Label 2742: @126009
44904 /* 126009 */ GIM_Try, /*On fail goto*//*Label 2776*/ GIMT_Encode4(126117),
44905 /* 126014 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
44906 /* 126017 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
44907 /* 126020 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
44908 /* 126023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44909 /* 126027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44910 /* 126031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44911 /* 126035 */ GIM_Try, /*On fail goto*//*Label 2777*/ GIMT_Encode4(126091), // Rule ID 14213 //
44912 /* 126040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44913 /* 126043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44914 /* 126047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44915 /* 126051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44916 /* 126054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44917 /* 126058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44918 /* 126062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44919 /* 126064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44920 /* 126071 */ // (fshr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVQZm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, addr:{ *:[iPTR] }:$src3)
44921 /* 126071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZm),
44922 /* 126074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44923 /* 126076 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44924 /* 126078 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44925 /* 126080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44926 /* 126084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44927 /* 126089 */ GIR_RootConstrainSelectedInstOperands,
44928 /* 126090 */ // GIR_Coverage, 14213,
44929 /* 126090 */ GIR_EraseRootFromParent_Done,
44930 /* 126091 */ // Label 2777: @126091
44931 /* 126091 */ GIM_Try, /*On fail goto*//*Label 2778*/ GIMT_Encode4(126116), // Rule ID 14210 //
44932 /* 126096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44933 /* 126099 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44934 /* 126103 */ // (fshr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src3) => (VPSHRDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
44935 /* 126103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
44936 /* 126106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44937 /* 126108 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44938 /* 126110 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44939 /* 126112 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44940 /* 126114 */ GIR_RootConstrainSelectedInstOperands,
44941 /* 126115 */ // GIR_Coverage, 14210,
44942 /* 126115 */ GIR_EraseRootFromParent_Done,
44943 /* 126116 */ // Label 2778: @126116
44944 /* 126116 */ GIM_Reject,
44945 /* 126117 */ // Label 2776: @126117
44946 /* 126117 */ GIM_Reject,
44947 /* 126118 */ // Label 2743: @126118
44948 /* 126118 */ GIM_Try, /*On fail goto*//*Label 2779*/ GIMT_Encode4(126226),
44949 /* 126123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
44950 /* 126126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
44951 /* 126129 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
44952 /* 126132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44953 /* 126136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44954 /* 126140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44955 /* 126144 */ GIM_Try, /*On fail goto*//*Label 2780*/ GIMT_Encode4(126200), // Rule ID 14174 //
44956 /* 126149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44957 /* 126152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44958 /* 126156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44959 /* 126160 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44960 /* 126163 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44961 /* 126167 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44962 /* 126171 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44963 /* 126173 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44964 /* 126180 */ // (fshr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVWZ256m:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, addr:{ *:[iPTR] }:$src3)
44965 /* 126180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256m),
44966 /* 126183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44967 /* 126185 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44968 /* 126187 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44969 /* 126189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44970 /* 126193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44971 /* 126198 */ GIR_RootConstrainSelectedInstOperands,
44972 /* 126199 */ // GIR_Coverage, 14174,
44973 /* 126199 */ GIR_EraseRootFromParent_Done,
44974 /* 126200 */ // Label 2780: @126200
44975 /* 126200 */ GIM_Try, /*On fail goto*//*Label 2781*/ GIMT_Encode4(126225), // Rule ID 14171 //
44976 /* 126205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44977 /* 126208 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44978 /* 126212 */ // (fshr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src3) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
44979 /* 126212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
44980 /* 126215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44981 /* 126217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44982 /* 126219 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44983 /* 126221 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44984 /* 126223 */ GIR_RootConstrainSelectedInstOperands,
44985 /* 126224 */ // GIR_Coverage, 14171,
44986 /* 126224 */ GIR_EraseRootFromParent_Done,
44987 /* 126225 */ // Label 2781: @126225
44988 /* 126225 */ GIM_Reject,
44989 /* 126226 */ // Label 2779: @126226
44990 /* 126226 */ GIM_Reject,
44991 /* 126227 */ // Label 2744: @126227
44992 /* 126227 */ GIM_Try, /*On fail goto*//*Label 2782*/ GIMT_Encode4(126335),
44993 /* 126232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
44994 /* 126235 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
44995 /* 126238 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
44996 /* 126241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44997 /* 126245 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44998 /* 126249 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44999 /* 126253 */ GIM_Try, /*On fail goto*//*Label 2783*/ GIMT_Encode4(126309), // Rule ID 14186 //
45000 /* 126258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
45001 /* 126261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
45002 /* 126265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45003 /* 126269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45004 /* 126272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45005 /* 126276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45006 /* 126280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45007 /* 126282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45008 /* 126289 */ // (fshr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVDZm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, addr:{ *:[iPTR] }:$src3)
45009 /* 126289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZm),
45010 /* 126292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45011 /* 126294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
45012 /* 126296 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
45013 /* 126298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
45014 /* 126302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45015 /* 126307 */ GIR_RootConstrainSelectedInstOperands,
45016 /* 126308 */ // GIR_Coverage, 14186,
45017 /* 126308 */ GIR_EraseRootFromParent_Done,
45018 /* 126309 */ // Label 2783: @126309
45019 /* 126309 */ GIM_Try, /*On fail goto*//*Label 2784*/ GIMT_Encode4(126334), // Rule ID 14183 //
45020 /* 126314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
45021 /* 126317 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45022 /* 126321 */ // (fshr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src3) => (VPSHRDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
45023 /* 126321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
45024 /* 126324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45025 /* 126326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
45026 /* 126328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
45027 /* 126330 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
45028 /* 126332 */ GIR_RootConstrainSelectedInstOperands,
45029 /* 126333 */ // GIR_Coverage, 14183,
45030 /* 126333 */ GIR_EraseRootFromParent_Done,
45031 /* 126334 */ // Label 2784: @126334
45032 /* 126334 */ GIM_Reject,
45033 /* 126335 */ // Label 2782: @126335
45034 /* 126335 */ GIM_Reject,
45035 /* 126336 */ // Label 2745: @126336
45036 /* 126336 */ GIM_Try, /*On fail goto*//*Label 2785*/ GIMT_Encode4(126444),
45037 /* 126341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
45038 /* 126344 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
45039 /* 126347 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
45040 /* 126350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45041 /* 126354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45042 /* 126358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45043 /* 126362 */ GIM_Try, /*On fail goto*//*Label 2786*/ GIMT_Encode4(126418), // Rule ID 14168 //
45044 /* 126367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
45045 /* 126370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
45046 /* 126374 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45047 /* 126378 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45048 /* 126381 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45049 /* 126385 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45050 /* 126389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45051 /* 126391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45052 /* 126398 */ // (fshr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSHRDVWZm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, addr:{ *:[iPTR] }:$src3)
45053 /* 126398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZm),
45054 /* 126401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45055 /* 126403 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
45056 /* 126405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
45057 /* 126407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
45058 /* 126411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45059 /* 126416 */ GIR_RootConstrainSelectedInstOperands,
45060 /* 126417 */ // GIR_Coverage, 14168,
45061 /* 126417 */ GIR_EraseRootFromParent_Done,
45062 /* 126418 */ // Label 2786: @126418
45063 /* 126418 */ GIM_Try, /*On fail goto*//*Label 2787*/ GIMT_Encode4(126443), // Rule ID 14165 //
45064 /* 126423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
45065 /* 126426 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45066 /* 126430 */ // (fshr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src3) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
45067 /* 126430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
45068 /* 126433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45069 /* 126435 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
45070 /* 126437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
45071 /* 126439 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
45072 /* 126441 */ GIR_RootConstrainSelectedInstOperands,
45073 /* 126442 */ // GIR_Coverage, 14165,
45074 /* 126442 */ GIR_EraseRootFromParent_Done,
45075 /* 126443 */ // Label 2787: @126443
45076 /* 126443 */ GIM_Reject,
45077 /* 126444 */ // Label 2785: @126444
45078 /* 126444 */ GIM_Reject,
45079 /* 126445 */ // Label 2746: @126445
45080 /* 126445 */ GIM_Reject,
45081 /* 126446 */ // Label 32: @126446
45082 /* 126446 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(20), /*)*//*default:*//*Label 2798*/ GIMT_Encode4(129943),
45083 /* 126457 */ /*GILLT_s8*//*Label 2788*/ GIMT_Encode4(126533),
45084 /* 126461 */ /*GILLT_s16*//*Label 2789*/ GIMT_Encode4(126963),
45085 /* 126465 */ /*GILLT_s32*//*Label 2790*/ GIMT_Encode4(127393),
45086 /* 126469 */ /*GILLT_s64*//*Label 2791*/ GIMT_Encode4(128056), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45087 /* 126485 */ /*GILLT_v2s64*//*Label 2792*/ GIMT_Encode4(128719), GIMT_Encode4(0),
45088 /* 126493 */ /*GILLT_v4s32*//*Label 2793*/ GIMT_Encode4(128986),
45089 /* 126497 */ /*GILLT_v4s64*//*Label 2794*/ GIMT_Encode4(129253), GIMT_Encode4(0), GIMT_Encode4(0),
45090 /* 126509 */ /*GILLT_v8s32*//*Label 2795*/ GIMT_Encode4(129504),
45091 /* 126513 */ /*GILLT_v8s64*//*Label 2796*/ GIMT_Encode4(129755), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45092 /* 126529 */ /*GILLT_v16s32*//*Label 2797*/ GIMT_Encode4(129849),
45093 /* 126533 */ // Label 2788: @126533
45094 /* 126533 */ GIM_Try, /*On fail goto*//*Label 2799*/ GIMT_Encode4(126962),
45095 /* 126538 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
45096 /* 126541 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45097 /* 126544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45098 /* 126548 */ GIM_Try, /*On fail goto*//*Label 2800*/ GIMT_Encode4(126607), // Rule ID 17613 //
45099 /* 126553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45100 /* 126556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45101 /* 126560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45102 /* 126564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45103 /* 126567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45104 /* 126571 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
45105 /* 126575 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45106 /* 126579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45107 /* 126581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45108 /* 126588 */ // (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 7:{ *:[i8] }) => (ROL8m1_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
45109 /* 126588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1_ND),
45110 /* 126591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45111 /* 126593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45112 /* 126597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45113 /* 126600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45114 /* 126605 */ GIR_RootConstrainSelectedInstOperands,
45115 /* 126606 */ // GIR_Coverage, 17613,
45116 /* 126606 */ GIR_EraseRootFromParent_Done,
45117 /* 126607 */ // Label 2800: @126607
45118 /* 126607 */ GIM_Try, /*On fail goto*//*Label 2801*/ GIMT_Encode4(126674), // Rule ID 800 //
45119 /* 126612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45120 /* 126615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45121 /* 126619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45122 /* 126623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45123 /* 126626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45124 /* 126630 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
45125 /* 126634 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45126 /* 126638 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45127 /* 126642 */ // MIs[2] Operand 1
45128 /* 126642 */ // No operand predicates
45129 /* 126642 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45130 /* 126644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45131 /* 126651 */ // (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (ROR8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
45132 /* 126651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi_ND),
45133 /* 126654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45134 /* 126656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45135 /* 126660 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
45136 /* 126663 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45137 /* 126666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45138 /* 126672 */ GIR_RootConstrainSelectedInstOperands,
45139 /* 126673 */ // GIR_Coverage, 800,
45140 /* 126673 */ GIR_EraseRootFromParent_Done,
45141 /* 126674 */ // Label 2801: @126674
45142 /* 126674 */ GIM_Try, /*On fail goto*//*Label 2802*/ GIMT_Encode4(126747), // Rule ID 816 //
45143 /* 126679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45144 /* 126682 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45145 /* 126686 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45146 /* 126690 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45147 /* 126693 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45148 /* 126697 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
45149 /* 126701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45150 /* 126705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45151 /* 126707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45152 /* 126714 */ // (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (ROR8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
45153 /* 126714 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45154 /* 126718 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45155 /* 126724 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45156 /* 126728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL_ND),
45157 /* 126731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45158 /* 126733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45159 /* 126737 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45160 /* 126740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45161 /* 126745 */ GIR_RootConstrainSelectedInstOperands,
45162 /* 126746 */ // GIR_Coverage, 816,
45163 /* 126746 */ GIR_EraseRootFromParent_Done,
45164 /* 126747 */ // Label 2802: @126747
45165 /* 126747 */ GIM_Try, /*On fail goto*//*Label 2803*/ GIMT_Encode4(126775), // Rule ID 17589 //
45166 /* 126752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45167 /* 126755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45168 /* 126759 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45169 /* 126763 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45170 /* 126763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1),
45171 /* 126766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45172 /* 126768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45173 /* 126770 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45174 /* 126773 */ GIR_RootConstrainSelectedInstOperands,
45175 /* 126774 */ // GIR_Coverage, 17589,
45176 /* 126774 */ GIR_EraseRootFromParent_Done,
45177 /* 126775 */ // Label 2803: @126775
45178 /* 126775 */ GIM_Try, /*On fail goto*//*Label 2804*/ GIMT_Encode4(126803), // Rule ID 17597 //
45179 /* 126780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45180 /* 126783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45181 /* 126787 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45182 /* 126791 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45183 /* 126791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1_ND),
45184 /* 126794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45185 /* 126796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45186 /* 126798 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45187 /* 126801 */ GIR_RootConstrainSelectedInstOperands,
45188 /* 126802 */ // GIR_Coverage, 17597,
45189 /* 126802 */ GIR_EraseRootFromParent_Done,
45190 /* 126803 */ // Label 2804: @126803
45191 /* 126803 */ GIM_Try, /*On fail goto*//*Label 2805*/ GIMT_Encode4(126840), // Rule ID 788 //
45192 /* 126808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45193 /* 126811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45194 /* 126815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45195 /* 126819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45196 /* 126823 */ // MIs[1] Operand 1
45197 /* 126823 */ // No operand predicates
45198 /* 126823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45199 /* 126825 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45200 /* 126825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri),
45201 /* 126828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45202 /* 126830 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45203 /* 126832 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45204 /* 126835 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45205 /* 126838 */ GIR_RootConstrainSelectedInstOperands,
45206 /* 126839 */ // GIR_Coverage, 788,
45207 /* 126839 */ GIR_EraseRootFromParent_Done,
45208 /* 126840 */ // Label 2805: @126840
45209 /* 126840 */ GIM_Try, /*On fail goto*//*Label 2806*/ GIMT_Encode4(126877), // Rule ID 792 //
45210 /* 126845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45211 /* 126848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45212 /* 126852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45213 /* 126856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45214 /* 126860 */ // MIs[1] Operand 1
45215 /* 126860 */ // No operand predicates
45216 /* 126860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45217 /* 126862 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45218 /* 126862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri_ND),
45219 /* 126865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45220 /* 126867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45221 /* 126869 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45222 /* 126872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45223 /* 126875 */ GIR_RootConstrainSelectedInstOperands,
45224 /* 126876 */ // GIR_Coverage, 792,
45225 /* 126876 */ GIR_EraseRootFromParent_Done,
45226 /* 126877 */ // Label 2806: @126877
45227 /* 126877 */ GIM_Try, /*On fail goto*//*Label 2807*/ GIMT_Encode4(126919), // Rule ID 804 //
45228 /* 126882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45229 /* 126885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45230 /* 126889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45231 /* 126893 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45232 /* 126893 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45233 /* 126897 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45234 /* 126903 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45235 /* 126907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL),
45236 /* 126910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45237 /* 126912 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45238 /* 126914 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45239 /* 126917 */ GIR_RootConstrainSelectedInstOperands,
45240 /* 126918 */ // GIR_Coverage, 804,
45241 /* 126918 */ GIR_EraseRootFromParent_Done,
45242 /* 126919 */ // Label 2807: @126919
45243 /* 126919 */ GIM_Try, /*On fail goto*//*Label 2808*/ GIMT_Encode4(126961), // Rule ID 808 //
45244 /* 126924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45245 /* 126927 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45246 /* 126931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45247 /* 126935 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45248 /* 126935 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45249 /* 126939 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45250 /* 126945 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45251 /* 126949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL_ND),
45252 /* 126952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45253 /* 126954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45254 /* 126956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45255 /* 126959 */ GIR_RootConstrainSelectedInstOperands,
45256 /* 126960 */ // GIR_Coverage, 808,
45257 /* 126960 */ GIR_EraseRootFromParent_Done,
45258 /* 126961 */ // Label 2808: @126961
45259 /* 126961 */ GIM_Reject,
45260 /* 126962 */ // Label 2799: @126962
45261 /* 126962 */ GIM_Reject,
45262 /* 126963 */ // Label 2789: @126963
45263 /* 126963 */ GIM_Try, /*On fail goto*//*Label 2809*/ GIMT_Encode4(127392),
45264 /* 126968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
45265 /* 126971 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45266 /* 126974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45267 /* 126978 */ GIM_Try, /*On fail goto*//*Label 2810*/ GIMT_Encode4(127037), // Rule ID 17614 //
45268 /* 126983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45269 /* 126986 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45270 /* 126990 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45271 /* 126994 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45272 /* 126997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45273 /* 127001 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
45274 /* 127005 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45275 /* 127009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45276 /* 127011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45277 /* 127018 */ // (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 15:{ *:[i8] }) => (ROL16m1_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
45278 /* 127018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1_ND),
45279 /* 127021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45280 /* 127023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45281 /* 127027 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45282 /* 127030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45283 /* 127035 */ GIR_RootConstrainSelectedInstOperands,
45284 /* 127036 */ // GIR_Coverage, 17614,
45285 /* 127036 */ GIR_EraseRootFromParent_Done,
45286 /* 127037 */ // Label 2810: @127037
45287 /* 127037 */ GIM_Try, /*On fail goto*//*Label 2811*/ GIMT_Encode4(127104), // Rule ID 801 //
45288 /* 127042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45289 /* 127045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45290 /* 127049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45291 /* 127053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45292 /* 127056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45293 /* 127060 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
45294 /* 127064 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45295 /* 127068 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45296 /* 127072 */ // MIs[2] Operand 1
45297 /* 127072 */ // No operand predicates
45298 /* 127072 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45299 /* 127074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45300 /* 127081 */ // (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (ROR16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
45301 /* 127081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi_ND),
45302 /* 127084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45303 /* 127086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45304 /* 127090 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
45305 /* 127093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45306 /* 127096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45307 /* 127102 */ GIR_RootConstrainSelectedInstOperands,
45308 /* 127103 */ // GIR_Coverage, 801,
45309 /* 127103 */ GIR_EraseRootFromParent_Done,
45310 /* 127104 */ // Label 2811: @127104
45311 /* 127104 */ GIM_Try, /*On fail goto*//*Label 2812*/ GIMT_Encode4(127177), // Rule ID 817 //
45312 /* 127109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45313 /* 127112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45314 /* 127116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45315 /* 127120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45316 /* 127123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45317 /* 127127 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
45318 /* 127131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45319 /* 127135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45320 /* 127137 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45321 /* 127144 */ // (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (ROR16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
45322 /* 127144 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45323 /* 127148 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45324 /* 127154 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45325 /* 127158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL_ND),
45326 /* 127161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45327 /* 127163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45328 /* 127167 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45329 /* 127170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45330 /* 127175 */ GIR_RootConstrainSelectedInstOperands,
45331 /* 127176 */ // GIR_Coverage, 817,
45332 /* 127176 */ GIR_EraseRootFromParent_Done,
45333 /* 127177 */ // Label 2812: @127177
45334 /* 127177 */ GIM_Try, /*On fail goto*//*Label 2813*/ GIMT_Encode4(127205), // Rule ID 17590 //
45335 /* 127182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45336 /* 127185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45337 /* 127189 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45338 /* 127193 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45339 /* 127193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1),
45340 /* 127196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45341 /* 127198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45342 /* 127200 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45343 /* 127203 */ GIR_RootConstrainSelectedInstOperands,
45344 /* 127204 */ // GIR_Coverage, 17590,
45345 /* 127204 */ GIR_EraseRootFromParent_Done,
45346 /* 127205 */ // Label 2813: @127205
45347 /* 127205 */ GIM_Try, /*On fail goto*//*Label 2814*/ GIMT_Encode4(127233), // Rule ID 17598 //
45348 /* 127210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45349 /* 127213 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45350 /* 127217 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45351 /* 127221 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45352 /* 127221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1_ND),
45353 /* 127224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45354 /* 127226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45355 /* 127228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45356 /* 127231 */ GIR_RootConstrainSelectedInstOperands,
45357 /* 127232 */ // GIR_Coverage, 17598,
45358 /* 127232 */ GIR_EraseRootFromParent_Done,
45359 /* 127233 */ // Label 2814: @127233
45360 /* 127233 */ GIM_Try, /*On fail goto*//*Label 2815*/ GIMT_Encode4(127270), // Rule ID 789 //
45361 /* 127238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45362 /* 127241 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45363 /* 127245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45364 /* 127249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45365 /* 127253 */ // MIs[1] Operand 1
45366 /* 127253 */ // No operand predicates
45367 /* 127253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45368 /* 127255 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45369 /* 127255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri),
45370 /* 127258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45371 /* 127260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45372 /* 127262 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45373 /* 127265 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45374 /* 127268 */ GIR_RootConstrainSelectedInstOperands,
45375 /* 127269 */ // GIR_Coverage, 789,
45376 /* 127269 */ GIR_EraseRootFromParent_Done,
45377 /* 127270 */ // Label 2815: @127270
45378 /* 127270 */ GIM_Try, /*On fail goto*//*Label 2816*/ GIMT_Encode4(127307), // Rule ID 793 //
45379 /* 127275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45380 /* 127278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45381 /* 127282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45382 /* 127286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45383 /* 127290 */ // MIs[1] Operand 1
45384 /* 127290 */ // No operand predicates
45385 /* 127290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45386 /* 127292 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45387 /* 127292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri_ND),
45388 /* 127295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45389 /* 127297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45390 /* 127299 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45391 /* 127302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45392 /* 127305 */ GIR_RootConstrainSelectedInstOperands,
45393 /* 127306 */ // GIR_Coverage, 793,
45394 /* 127306 */ GIR_EraseRootFromParent_Done,
45395 /* 127307 */ // Label 2816: @127307
45396 /* 127307 */ GIM_Try, /*On fail goto*//*Label 2817*/ GIMT_Encode4(127349), // Rule ID 805 //
45397 /* 127312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45398 /* 127315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45399 /* 127319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45400 /* 127323 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45401 /* 127323 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45402 /* 127327 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45403 /* 127333 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45404 /* 127337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL),
45405 /* 127340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45406 /* 127342 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45407 /* 127344 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45408 /* 127347 */ GIR_RootConstrainSelectedInstOperands,
45409 /* 127348 */ // GIR_Coverage, 805,
45410 /* 127348 */ GIR_EraseRootFromParent_Done,
45411 /* 127349 */ // Label 2817: @127349
45412 /* 127349 */ GIM_Try, /*On fail goto*//*Label 2818*/ GIMT_Encode4(127391), // Rule ID 809 //
45413 /* 127354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45414 /* 127357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45415 /* 127361 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45416 /* 127365 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45417 /* 127365 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45418 /* 127369 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45419 /* 127375 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45420 /* 127379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL_ND),
45421 /* 127382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45422 /* 127384 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45423 /* 127386 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45424 /* 127389 */ GIR_RootConstrainSelectedInstOperands,
45425 /* 127390 */ // GIR_Coverage, 809,
45426 /* 127390 */ GIR_EraseRootFromParent_Done,
45427 /* 127391 */ // Label 2818: @127391
45428 /* 127391 */ GIM_Reject,
45429 /* 127392 */ // Label 2809: @127392
45430 /* 127392 */ GIM_Reject,
45431 /* 127393 */ // Label 2790: @127393
45432 /* 127393 */ GIM_Try, /*On fail goto*//*Label 2819*/ GIMT_Encode4(128055),
45433 /* 127398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
45434 /* 127401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45435 /* 127404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45436 /* 127408 */ GIM_Try, /*On fail goto*//*Label 2820*/ GIMT_Encode4(127467), // Rule ID 17615 //
45437 /* 127413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45438 /* 127416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45439 /* 127420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45440 /* 127424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45441 /* 127427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45442 /* 127431 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45443 /* 127435 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45444 /* 127439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45445 /* 127441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45446 /* 127448 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 31:{ *:[i8] }) => (ROL32m1_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
45447 /* 127448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1_ND),
45448 /* 127451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45449 /* 127453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45450 /* 127457 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45451 /* 127460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45452 /* 127465 */ GIR_RootConstrainSelectedInstOperands,
45453 /* 127466 */ // GIR_Coverage, 17615,
45454 /* 127466 */ GIR_EraseRootFromParent_Done,
45455 /* 127467 */ // Label 2820: @127467
45456 /* 127467 */ GIM_Try, /*On fail goto*//*Label 2821*/ GIMT_Encode4(127534), // Rule ID 802 //
45457 /* 127472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45458 /* 127475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45459 /* 127479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45460 /* 127483 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45461 /* 127486 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45462 /* 127490 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45463 /* 127494 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45464 /* 127498 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45465 /* 127502 */ // MIs[2] Operand 1
45466 /* 127502 */ // No operand predicates
45467 /* 127502 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45468 /* 127504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45469 /* 127511 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (ROR32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
45470 /* 127511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi_ND),
45471 /* 127514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45472 /* 127516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45473 /* 127520 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
45474 /* 127523 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45475 /* 127526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45476 /* 127532 */ GIR_RootConstrainSelectedInstOperands,
45477 /* 127533 */ // GIR_Coverage, 802,
45478 /* 127533 */ GIR_EraseRootFromParent_Done,
45479 /* 127534 */ // Label 2821: @127534
45480 /* 127534 */ GIM_Try, /*On fail goto*//*Label 2822*/ GIMT_Encode4(127598), // Rule ID 17637 //
45481 /* 127539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
45482 /* 127542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45483 /* 127546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45484 /* 127550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45485 /* 127553 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45486 /* 127557 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45487 /* 127561 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45488 /* 127565 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45489 /* 127569 */ // MIs[2] Operand 1
45490 /* 127569 */ // No operand predicates
45491 /* 127569 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45492 /* 127571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45493 /* 127578 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$shamt) => (RORX32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
45494 /* 127578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi),
45495 /* 127581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45496 /* 127583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45497 /* 127587 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
45498 /* 127590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45499 /* 127596 */ GIR_RootConstrainSelectedInstOperands,
45500 /* 127597 */ // GIR_Coverage, 17637,
45501 /* 127597 */ GIR_EraseRootFromParent_Done,
45502 /* 127598 */ // Label 2822: @127598
45503 /* 127598 */ GIM_Try, /*On fail goto*//*Label 2823*/ GIMT_Encode4(127662), // Rule ID 17669 //
45504 /* 127603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
45505 /* 127606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45506 /* 127610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45507 /* 127614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45508 /* 127617 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45509 /* 127621 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45510 /* 127625 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45511 /* 127629 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45512 /* 127633 */ // MIs[2] Operand 1
45513 /* 127633 */ // No operand predicates
45514 /* 127633 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45515 /* 127635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45516 /* 127642 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$shamt) => (RORX32mi_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
45517 /* 127642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi_EVEX),
45518 /* 127645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45519 /* 127647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45520 /* 127651 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
45521 /* 127654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45522 /* 127660 */ GIR_RootConstrainSelectedInstOperands,
45523 /* 127661 */ // GIR_Coverage, 17669,
45524 /* 127661 */ GIR_EraseRootFromParent_Done,
45525 /* 127662 */ // Label 2823: @127662
45526 /* 127662 */ GIM_Try, /*On fail goto*//*Label 2824*/ GIMT_Encode4(127735), // Rule ID 818 //
45527 /* 127667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45528 /* 127670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45529 /* 127674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45530 /* 127678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45531 /* 127681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45532 /* 127685 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
45533 /* 127689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45534 /* 127693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45535 /* 127695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45536 /* 127702 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (ROR32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
45537 /* 127702 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45538 /* 127706 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45539 /* 127712 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45540 /* 127716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL_ND),
45541 /* 127719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45542 /* 127721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45543 /* 127725 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45544 /* 127728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45545 /* 127733 */ GIR_RootConstrainSelectedInstOperands,
45546 /* 127734 */ // GIR_Coverage, 818,
45547 /* 127734 */ GIR_EraseRootFromParent_Done,
45548 /* 127735 */ // Label 2824: @127735
45549 /* 127735 */ GIM_Try, /*On fail goto*//*Label 2825*/ GIMT_Encode4(127769), // Rule ID 17633 //
45550 /* 127740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
45551 /* 127743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45552 /* 127747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45553 /* 127751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45554 /* 127755 */ // MIs[1] Operand 1
45555 /* 127755 */ // No operand predicates
45556 /* 127755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45557 /* 127757 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
45558 /* 127757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri),
45559 /* 127760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45560 /* 127762 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
45561 /* 127764 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45562 /* 127767 */ GIR_RootConstrainSelectedInstOperands,
45563 /* 127768 */ // GIR_Coverage, 17633,
45564 /* 127768 */ GIR_EraseRootFromParent_Done,
45565 /* 127769 */ // Label 2825: @127769
45566 /* 127769 */ GIM_Try, /*On fail goto*//*Label 2826*/ GIMT_Encode4(127803), // Rule ID 17665 //
45567 /* 127774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
45568 /* 127777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45569 /* 127781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45570 /* 127785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45571 /* 127789 */ // MIs[1] Operand 1
45572 /* 127789 */ // No operand predicates
45573 /* 127789 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45574 /* 127791 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
45575 /* 127791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri_EVEX),
45576 /* 127794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45577 /* 127796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
45578 /* 127798 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45579 /* 127801 */ GIR_RootConstrainSelectedInstOperands,
45580 /* 127802 */ // GIR_Coverage, 17665,
45581 /* 127802 */ GIR_EraseRootFromParent_Done,
45582 /* 127803 */ // Label 2826: @127803
45583 /* 127803 */ GIM_Try, /*On fail goto*//*Label 2827*/ GIMT_Encode4(127840), // Rule ID 870 //
45584 /* 127808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
45585 /* 127811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45586 /* 127815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45587 /* 127819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45588 /* 127823 */ // MIs[1] Operand 1
45589 /* 127823 */ // No operand predicates
45590 /* 127823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45591 /* 127825 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
45592 /* 127825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT32ri),
45593 /* 127828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45594 /* 127830 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45595 /* 127832 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45596 /* 127835 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45597 /* 127838 */ GIR_RootConstrainSelectedInstOperands,
45598 /* 127839 */ // GIR_Coverage, 870,
45599 /* 127839 */ GIR_EraseRootFromParent_Done,
45600 /* 127840 */ // Label 2827: @127840
45601 /* 127840 */ GIM_Try, /*On fail goto*//*Label 2828*/ GIMT_Encode4(127868), // Rule ID 17591 //
45602 /* 127845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45603 /* 127848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45604 /* 127852 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45605 /* 127856 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45606 /* 127856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1),
45607 /* 127859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45608 /* 127861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45609 /* 127863 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45610 /* 127866 */ GIR_RootConstrainSelectedInstOperands,
45611 /* 127867 */ // GIR_Coverage, 17591,
45612 /* 127867 */ GIR_EraseRootFromParent_Done,
45613 /* 127868 */ // Label 2828: @127868
45614 /* 127868 */ GIM_Try, /*On fail goto*//*Label 2829*/ GIMT_Encode4(127896), // Rule ID 17599 //
45615 /* 127873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45616 /* 127876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45617 /* 127880 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45618 /* 127884 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45619 /* 127884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1_ND),
45620 /* 127887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45621 /* 127889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45622 /* 127891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45623 /* 127894 */ GIR_RootConstrainSelectedInstOperands,
45624 /* 127895 */ // GIR_Coverage, 17599,
45625 /* 127895 */ GIR_EraseRootFromParent_Done,
45626 /* 127896 */ // Label 2829: @127896
45627 /* 127896 */ GIM_Try, /*On fail goto*//*Label 2830*/ GIMT_Encode4(127933), // Rule ID 790 //
45628 /* 127901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45629 /* 127904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45630 /* 127908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45631 /* 127912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45632 /* 127916 */ // MIs[1] Operand 1
45633 /* 127916 */ // No operand predicates
45634 /* 127916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45635 /* 127918 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45636 /* 127918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri),
45637 /* 127921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45638 /* 127923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45639 /* 127925 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45640 /* 127928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45641 /* 127931 */ GIR_RootConstrainSelectedInstOperands,
45642 /* 127932 */ // GIR_Coverage, 790,
45643 /* 127932 */ GIR_EraseRootFromParent_Done,
45644 /* 127933 */ // Label 2830: @127933
45645 /* 127933 */ GIM_Try, /*On fail goto*//*Label 2831*/ GIMT_Encode4(127970), // Rule ID 794 //
45646 /* 127938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45647 /* 127941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45648 /* 127945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45649 /* 127949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45650 /* 127953 */ // MIs[1] Operand 1
45651 /* 127953 */ // No operand predicates
45652 /* 127953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45653 /* 127955 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45654 /* 127955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri_ND),
45655 /* 127958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45656 /* 127960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45657 /* 127962 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45658 /* 127965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45659 /* 127968 */ GIR_RootConstrainSelectedInstOperands,
45660 /* 127969 */ // GIR_Coverage, 794,
45661 /* 127969 */ GIR_EraseRootFromParent_Done,
45662 /* 127970 */ // Label 2831: @127970
45663 /* 127970 */ GIM_Try, /*On fail goto*//*Label 2832*/ GIMT_Encode4(128012), // Rule ID 806 //
45664 /* 127975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45665 /* 127978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45666 /* 127982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45667 /* 127986 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45668 /* 127986 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45669 /* 127990 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45670 /* 127996 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45671 /* 128000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL),
45672 /* 128003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45673 /* 128005 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45674 /* 128007 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45675 /* 128010 */ GIR_RootConstrainSelectedInstOperands,
45676 /* 128011 */ // GIR_Coverage, 806,
45677 /* 128011 */ GIR_EraseRootFromParent_Done,
45678 /* 128012 */ // Label 2832: @128012
45679 /* 128012 */ GIM_Try, /*On fail goto*//*Label 2833*/ GIMT_Encode4(128054), // Rule ID 810 //
45680 /* 128017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45681 /* 128020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45682 /* 128024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45683 /* 128028 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45684 /* 128028 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45685 /* 128032 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45686 /* 128038 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45687 /* 128042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL_ND),
45688 /* 128045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45689 /* 128047 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45690 /* 128049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45691 /* 128052 */ GIR_RootConstrainSelectedInstOperands,
45692 /* 128053 */ // GIR_Coverage, 810,
45693 /* 128053 */ GIR_EraseRootFromParent_Done,
45694 /* 128054 */ // Label 2833: @128054
45695 /* 128054 */ GIM_Reject,
45696 /* 128055 */ // Label 2819: @128055
45697 /* 128055 */ GIM_Reject,
45698 /* 128056 */ // Label 2791: @128056
45699 /* 128056 */ GIM_Try, /*On fail goto*//*Label 2834*/ GIMT_Encode4(128718),
45700 /* 128061 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
45701 /* 128064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45702 /* 128067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45703 /* 128071 */ GIM_Try, /*On fail goto*//*Label 2835*/ GIMT_Encode4(128130), // Rule ID 17616 //
45704 /* 128076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45705 /* 128079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45706 /* 128083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45707 /* 128087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45708 /* 128090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45709 /* 128094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45710 /* 128098 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45711 /* 128102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45712 /* 128104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45713 /* 128111 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 63:{ *:[i8] }) => (ROL64m1_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
45714 /* 128111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1_ND),
45715 /* 128114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45716 /* 128116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45717 /* 128120 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45718 /* 128123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45719 /* 128128 */ GIR_RootConstrainSelectedInstOperands,
45720 /* 128129 */ // GIR_Coverage, 17616,
45721 /* 128129 */ GIR_EraseRootFromParent_Done,
45722 /* 128130 */ // Label 2835: @128130
45723 /* 128130 */ GIM_Try, /*On fail goto*//*Label 2836*/ GIMT_Encode4(128197), // Rule ID 803 //
45724 /* 128135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45725 /* 128138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45726 /* 128142 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45727 /* 128146 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45728 /* 128149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45729 /* 128153 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45730 /* 128157 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45731 /* 128161 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45732 /* 128165 */ // MIs[2] Operand 1
45733 /* 128165 */ // No operand predicates
45734 /* 128165 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45735 /* 128167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45736 /* 128174 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (ROR64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
45737 /* 128174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi_ND),
45738 /* 128177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45739 /* 128179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45740 /* 128183 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
45741 /* 128186 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45742 /* 128189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45743 /* 128195 */ GIR_RootConstrainSelectedInstOperands,
45744 /* 128196 */ // GIR_Coverage, 803,
45745 /* 128196 */ GIR_EraseRootFromParent_Done,
45746 /* 128197 */ // Label 2836: @128197
45747 /* 128197 */ GIM_Try, /*On fail goto*//*Label 2837*/ GIMT_Encode4(128261), // Rule ID 17638 //
45748 /* 128202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
45749 /* 128205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45750 /* 128209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45751 /* 128213 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45752 /* 128216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45753 /* 128220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45754 /* 128224 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45755 /* 128228 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45756 /* 128232 */ // MIs[2] Operand 1
45757 /* 128232 */ // No operand predicates
45758 /* 128232 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45759 /* 128234 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45760 /* 128241 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$shamt) => (RORX64mi:{ *:[i64] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
45761 /* 128241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi),
45762 /* 128244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45763 /* 128246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45764 /* 128250 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
45765 /* 128253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45766 /* 128259 */ GIR_RootConstrainSelectedInstOperands,
45767 /* 128260 */ // GIR_Coverage, 17638,
45768 /* 128260 */ GIR_EraseRootFromParent_Done,
45769 /* 128261 */ // Label 2837: @128261
45770 /* 128261 */ GIM_Try, /*On fail goto*//*Label 2838*/ GIMT_Encode4(128325), // Rule ID 17670 //
45771 /* 128266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
45772 /* 128269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45773 /* 128273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45774 /* 128277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45775 /* 128280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45776 /* 128284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45777 /* 128288 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
45778 /* 128292 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45779 /* 128296 */ // MIs[2] Operand 1
45780 /* 128296 */ // No operand predicates
45781 /* 128296 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
45782 /* 128298 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45783 /* 128305 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$shamt) => (RORX64mi_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
45784 /* 128305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi_EVEX),
45785 /* 128308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45786 /* 128310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
45787 /* 128314 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
45788 /* 128317 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
45789 /* 128323 */ GIR_RootConstrainSelectedInstOperands,
45790 /* 128324 */ // GIR_Coverage, 17670,
45791 /* 128324 */ GIR_EraseRootFromParent_Done,
45792 /* 128325 */ // Label 2838: @128325
45793 /* 128325 */ GIM_Try, /*On fail goto*//*Label 2839*/ GIMT_Encode4(128398), // Rule ID 819 //
45794 /* 128330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45795 /* 128333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45796 /* 128337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45797 /* 128341 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45798 /* 128344 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45799 /* 128348 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45800 /* 128352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45801 /* 128356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45802 /* 128358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45803 /* 128365 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (ROR64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
45804 /* 128365 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45805 /* 128369 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45806 /* 128375 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45807 /* 128379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL_ND),
45808 /* 128382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45809 /* 128384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45810 /* 128388 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45811 /* 128391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45812 /* 128396 */ GIR_RootConstrainSelectedInstOperands,
45813 /* 128397 */ // GIR_Coverage, 819,
45814 /* 128397 */ GIR_EraseRootFromParent_Done,
45815 /* 128398 */ // Label 2839: @128398
45816 /* 128398 */ GIM_Try, /*On fail goto*//*Label 2840*/ GIMT_Encode4(128432), // Rule ID 17634 //
45817 /* 128403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
45818 /* 128406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45819 /* 128410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45820 /* 128414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45821 /* 128418 */ // MIs[1] Operand 1
45822 /* 128418 */ // No operand predicates
45823 /* 128418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45824 /* 128420 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
45825 /* 128420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri),
45826 /* 128423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45827 /* 128425 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
45828 /* 128427 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45829 /* 128430 */ GIR_RootConstrainSelectedInstOperands,
45830 /* 128431 */ // GIR_Coverage, 17634,
45831 /* 128431 */ GIR_EraseRootFromParent_Done,
45832 /* 128432 */ // Label 2840: @128432
45833 /* 128432 */ GIM_Try, /*On fail goto*//*Label 2841*/ GIMT_Encode4(128466), // Rule ID 17666 //
45834 /* 128437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
45835 /* 128440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45836 /* 128444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45837 /* 128448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45838 /* 128452 */ // MIs[1] Operand 1
45839 /* 128452 */ // No operand predicates
45840 /* 128452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45841 /* 128454 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
45842 /* 128454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri_EVEX),
45843 /* 128457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45844 /* 128459 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
45845 /* 128461 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45846 /* 128464 */ GIR_RootConstrainSelectedInstOperands,
45847 /* 128465 */ // GIR_Coverage, 17666,
45848 /* 128465 */ GIR_EraseRootFromParent_Done,
45849 /* 128466 */ // Label 2841: @128466
45850 /* 128466 */ GIM_Try, /*On fail goto*//*Label 2842*/ GIMT_Encode4(128503), // Rule ID 871 //
45851 /* 128471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
45852 /* 128474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45853 /* 128478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45854 /* 128482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45855 /* 128486 */ // MIs[1] Operand 1
45856 /* 128486 */ // No operand predicates
45857 /* 128486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45858 /* 128488 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
45859 /* 128488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT64ri),
45860 /* 128491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45861 /* 128493 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45862 /* 128495 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45863 /* 128498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45864 /* 128501 */ GIR_RootConstrainSelectedInstOperands,
45865 /* 128502 */ // GIR_Coverage, 871,
45866 /* 128502 */ GIR_EraseRootFromParent_Done,
45867 /* 128503 */ // Label 2842: @128503
45868 /* 128503 */ GIM_Try, /*On fail goto*//*Label 2843*/ GIMT_Encode4(128531), // Rule ID 17592 //
45869 /* 128508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45870 /* 128511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45871 /* 128515 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45872 /* 128519 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45873 /* 128519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1),
45874 /* 128522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45875 /* 128524 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45876 /* 128526 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45877 /* 128529 */ GIR_RootConstrainSelectedInstOperands,
45878 /* 128530 */ // GIR_Coverage, 17592,
45879 /* 128530 */ GIR_EraseRootFromParent_Done,
45880 /* 128531 */ // Label 2843: @128531
45881 /* 128531 */ GIM_Try, /*On fail goto*//*Label 2844*/ GIMT_Encode4(128559), // Rule ID 17600 //
45882 /* 128536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45883 /* 128539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45884 /* 128543 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45885 /* 128547 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45886 /* 128547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1_ND),
45887 /* 128550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45888 /* 128552 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45889 /* 128554 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45890 /* 128557 */ GIR_RootConstrainSelectedInstOperands,
45891 /* 128558 */ // GIR_Coverage, 17600,
45892 /* 128558 */ GIR_EraseRootFromParent_Done,
45893 /* 128559 */ // Label 2844: @128559
45894 /* 128559 */ GIM_Try, /*On fail goto*//*Label 2845*/ GIMT_Encode4(128596), // Rule ID 791 //
45895 /* 128564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45896 /* 128567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45897 /* 128571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45898 /* 128575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45899 /* 128579 */ // MIs[1] Operand 1
45900 /* 128579 */ // No operand predicates
45901 /* 128579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45902 /* 128581 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45903 /* 128581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri),
45904 /* 128584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45905 /* 128586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45906 /* 128588 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45907 /* 128591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45908 /* 128594 */ GIR_RootConstrainSelectedInstOperands,
45909 /* 128595 */ // GIR_Coverage, 791,
45910 /* 128595 */ GIR_EraseRootFromParent_Done,
45911 /* 128596 */ // Label 2845: @128596
45912 /* 128596 */ GIM_Try, /*On fail goto*//*Label 2846*/ GIMT_Encode4(128633), // Rule ID 795 //
45913 /* 128601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45914 /* 128604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45915 /* 128608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45916 /* 128612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45917 /* 128616 */ // MIs[1] Operand 1
45918 /* 128616 */ // No operand predicates
45919 /* 128616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45920 /* 128618 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45921 /* 128618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri_ND),
45922 /* 128621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45923 /* 128623 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45924 /* 128625 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45925 /* 128628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45926 /* 128631 */ GIR_RootConstrainSelectedInstOperands,
45927 /* 128632 */ // GIR_Coverage, 795,
45928 /* 128632 */ GIR_EraseRootFromParent_Done,
45929 /* 128633 */ // Label 2846: @128633
45930 /* 128633 */ GIM_Try, /*On fail goto*//*Label 2847*/ GIMT_Encode4(128675), // Rule ID 807 //
45931 /* 128638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45932 /* 128641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45933 /* 128645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45934 /* 128649 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45935 /* 128649 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45936 /* 128653 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45937 /* 128659 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45938 /* 128663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL),
45939 /* 128666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45940 /* 128668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45941 /* 128670 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45942 /* 128673 */ GIR_RootConstrainSelectedInstOperands,
45943 /* 128674 */ // GIR_Coverage, 807,
45944 /* 128674 */ GIR_EraseRootFromParent_Done,
45945 /* 128675 */ // Label 2847: @128675
45946 /* 128675 */ GIM_Try, /*On fail goto*//*Label 2848*/ GIMT_Encode4(128717), // Rule ID 811 //
45947 /* 128680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45948 /* 128683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45949 /* 128687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45950 /* 128691 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45951 /* 128691 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45952 /* 128695 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45953 /* 128701 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45954 /* 128705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL_ND),
45955 /* 128708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45956 /* 128710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45957 /* 128712 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45958 /* 128715 */ GIR_RootConstrainSelectedInstOperands,
45959 /* 128716 */ // GIR_Coverage, 811,
45960 /* 128716 */ GIR_EraseRootFromParent_Done,
45961 /* 128717 */ // Label 2848: @128717
45962 /* 128717 */ GIM_Reject,
45963 /* 128718 */ // Label 2834: @128718
45964 /* 128718 */ GIM_Reject,
45965 /* 128719 */ // Label 2792: @128719
45966 /* 128719 */ GIM_Try, /*On fail goto*//*Label 2849*/ GIMT_Encode4(128985),
45967 /* 128724 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
45968 /* 128727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45969 /* 128730 */ GIM_Try, /*On fail goto*//*Label 2850*/ GIMT_Encode4(128792), // Rule ID 8008 //
45970 /* 128735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45971 /* 128738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45972 /* 128742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45973 /* 128746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45974 /* 128750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45975 /* 128754 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45976 /* 128757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45977 /* 128761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45978 /* 128765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45979 /* 128767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45980 /* 128774 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45981 /* 128774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rm),
45982 /* 128777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45983 /* 128779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45984 /* 128781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45985 /* 128785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45986 /* 128790 */ GIR_RootConstrainSelectedInstOperands,
45987 /* 128791 */ // GIR_Coverage, 8008,
45988 /* 128791 */ GIR_EraseRootFromParent_Done,
45989 /* 128792 */ // Label 2850: @128792
45990 /* 128792 */ GIM_Try, /*On fail goto*//*Label 2851*/ GIMT_Encode4(128819), // Rule ID 8005 //
45991 /* 128797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45992 /* 128800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45993 /* 128804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45994 /* 128808 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45995 /* 128812 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPRORVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
45996 /* 128812 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rr),
45997 /* 128817 */ GIR_RootConstrainSelectedInstOperands,
45998 /* 128818 */ // GIR_Coverage, 8005,
45999 /* 128818 */ GIR_Done,
46000 /* 128819 */ // Label 2851: @128819
46001 /* 128819 */ GIM_Try, /*On fail goto*//*Label 2852*/ GIMT_Encode4(128984), // Rule ID 20812 //
46002 /* 128824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46003 /* 128827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46004 /* 128831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46005 /* 128835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46006 /* 128839 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPRORVQZrr:{ *:[v8i64] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
46007 /* 128839 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
46008 /* 128842 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46009 /* 128846 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46010 /* 128851 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46011 /* 128853 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
46012 /* 128856 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46013 /* 128860 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46014 /* 128865 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46015 /* 128868 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46016 /* 128872 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
46017 /* 128875 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46018 /* 128880 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46019 /* 128885 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46020 /* 128890 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46021 /* 128893 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46022 /* 128897 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46023 /* 128902 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46024 /* 128904 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46025 /* 128907 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46026 /* 128911 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46027 /* 128916 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46028 /* 128919 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46029 /* 128923 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46030 /* 128926 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46031 /* 128931 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46032 /* 128936 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46033 /* 128941 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
46034 /* 128944 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
46035 /* 128948 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46036 /* 128953 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46037 /* 128956 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46038 /* 128959 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46039 /* 128961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46040 /* 128964 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46041 /* 128966 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46042 /* 128973 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46043 /* 128978 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46044 /* 128983 */ // GIR_Coverage, 20812,
46045 /* 128983 */ GIR_EraseRootFromParent_Done,
46046 /* 128984 */ // Label 2852: @128984
46047 /* 128984 */ GIM_Reject,
46048 /* 128985 */ // Label 2849: @128985
46049 /* 128985 */ GIM_Reject,
46050 /* 128986 */ // Label 2793: @128986
46051 /* 128986 */ GIM_Try, /*On fail goto*//*Label 2853*/ GIMT_Encode4(129252),
46052 /* 128991 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
46053 /* 128994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46054 /* 128997 */ GIM_Try, /*On fail goto*//*Label 2854*/ GIMT_Encode4(129059), // Rule ID 7981 //
46055 /* 129002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46056 /* 129005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46057 /* 129009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46058 /* 129013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46059 /* 129017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46060 /* 129021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46061 /* 129024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46062 /* 129028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46063 /* 129032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46064 /* 129034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46065 /* 129041 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46066 /* 129041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rm),
46067 /* 129044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46068 /* 129046 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46069 /* 129048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46070 /* 129052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46071 /* 129057 */ GIR_RootConstrainSelectedInstOperands,
46072 /* 129058 */ // GIR_Coverage, 7981,
46073 /* 129058 */ GIR_EraseRootFromParent_Done,
46074 /* 129059 */ // Label 2854: @129059
46075 /* 129059 */ GIM_Try, /*On fail goto*//*Label 2855*/ GIMT_Encode4(129086), // Rule ID 7978 //
46076 /* 129064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46077 /* 129067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46078 /* 129071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46079 /* 129075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46080 /* 129079 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPRORVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
46081 /* 129079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rr),
46082 /* 129084 */ GIR_RootConstrainSelectedInstOperands,
46083 /* 129085 */ // GIR_Coverage, 7978,
46084 /* 129085 */ GIR_Done,
46085 /* 129086 */ // Label 2855: @129086
46086 /* 129086 */ GIM_Try, /*On fail goto*//*Label 2856*/ GIMT_Encode4(129251), // Rule ID 20814 //
46087 /* 129091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46088 /* 129094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46089 /* 129098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46090 /* 129102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46091 /* 129106 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPRORVDZrr:{ *:[v16i32] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
46092 /* 129106 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
46093 /* 129109 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46094 /* 129113 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46095 /* 129118 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46096 /* 129120 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
46097 /* 129123 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46098 /* 129127 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46099 /* 129132 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46100 /* 129135 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46101 /* 129139 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
46102 /* 129142 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46103 /* 129147 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46104 /* 129152 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46105 /* 129157 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46106 /* 129160 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46107 /* 129164 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46108 /* 129169 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46109 /* 129171 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46110 /* 129174 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46111 /* 129178 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46112 /* 129183 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46113 /* 129186 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46114 /* 129190 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46115 /* 129193 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46116 /* 129198 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46117 /* 129203 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46118 /* 129208 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
46119 /* 129211 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
46120 /* 129215 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46121 /* 129220 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46122 /* 129223 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46123 /* 129226 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46124 /* 129228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46125 /* 129231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46126 /* 129233 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46127 /* 129240 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46128 /* 129245 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46129 /* 129250 */ // GIR_Coverage, 20814,
46130 /* 129250 */ GIR_EraseRootFromParent_Done,
46131 /* 129251 */ // Label 2856: @129251
46132 /* 129251 */ GIM_Reject,
46133 /* 129252 */ // Label 2853: @129252
46134 /* 129252 */ GIM_Reject,
46135 /* 129253 */ // Label 2794: @129253
46136 /* 129253 */ GIM_Try, /*On fail goto*//*Label 2857*/ GIMT_Encode4(129503),
46137 /* 129258 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
46138 /* 129261 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46139 /* 129264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46140 /* 129268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46141 /* 129272 */ GIM_Try, /*On fail goto*//*Label 2858*/ GIMT_Encode4(129326), // Rule ID 7999 //
46142 /* 129277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46143 /* 129280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46144 /* 129284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46145 /* 129288 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46146 /* 129291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46147 /* 129295 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46148 /* 129299 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46149 /* 129301 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46150 /* 129308 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46151 /* 129308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rm),
46152 /* 129311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46153 /* 129313 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46154 /* 129315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46155 /* 129319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46156 /* 129324 */ GIR_RootConstrainSelectedInstOperands,
46157 /* 129325 */ // GIR_Coverage, 7999,
46158 /* 129325 */ GIR_EraseRootFromParent_Done,
46159 /* 129326 */ // Label 2858: @129326
46160 /* 129326 */ GIM_Try, /*On fail goto*//*Label 2859*/ GIMT_Encode4(129345), // Rule ID 7996 //
46161 /* 129331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46162 /* 129334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46163 /* 129338 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPRORVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
46164 /* 129338 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rr),
46165 /* 129343 */ GIR_RootConstrainSelectedInstOperands,
46166 /* 129344 */ // GIR_Coverage, 7996,
46167 /* 129344 */ GIR_Done,
46168 /* 129345 */ // Label 2859: @129345
46169 /* 129345 */ GIM_Try, /*On fail goto*//*Label 2860*/ GIMT_Encode4(129502), // Rule ID 20813 //
46170 /* 129350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46171 /* 129353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46172 /* 129357 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPRORVQZrr:{ *:[v8i64] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
46173 /* 129357 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
46174 /* 129360 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46175 /* 129364 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46176 /* 129369 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46177 /* 129371 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
46178 /* 129374 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46179 /* 129378 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46180 /* 129383 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46181 /* 129386 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46182 /* 129390 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
46183 /* 129393 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46184 /* 129398 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46185 /* 129403 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46186 /* 129408 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46187 /* 129411 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46188 /* 129415 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46189 /* 129420 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46190 /* 129422 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46191 /* 129425 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46192 /* 129429 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46193 /* 129434 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46194 /* 129437 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46195 /* 129441 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46196 /* 129444 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46197 /* 129449 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46198 /* 129454 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46199 /* 129459 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
46200 /* 129462 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
46201 /* 129466 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46202 /* 129471 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46203 /* 129474 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46204 /* 129477 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46205 /* 129479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46206 /* 129482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46207 /* 129484 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46208 /* 129491 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46209 /* 129496 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46210 /* 129501 */ // GIR_Coverage, 20813,
46211 /* 129501 */ GIR_EraseRootFromParent_Done,
46212 /* 129502 */ // Label 2860: @129502
46213 /* 129502 */ GIM_Reject,
46214 /* 129503 */ // Label 2857: @129503
46215 /* 129503 */ GIM_Reject,
46216 /* 129504 */ // Label 2795: @129504
46217 /* 129504 */ GIM_Try, /*On fail goto*//*Label 2861*/ GIMT_Encode4(129754),
46218 /* 129509 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
46219 /* 129512 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46220 /* 129515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46221 /* 129519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46222 /* 129523 */ GIM_Try, /*On fail goto*//*Label 2862*/ GIMT_Encode4(129577), // Rule ID 7972 //
46223 /* 129528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46224 /* 129531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46225 /* 129535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46226 /* 129539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46227 /* 129542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46228 /* 129546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46229 /* 129550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46230 /* 129552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46231 /* 129559 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46232 /* 129559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rm),
46233 /* 129562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46234 /* 129564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46235 /* 129566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46236 /* 129570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46237 /* 129575 */ GIR_RootConstrainSelectedInstOperands,
46238 /* 129576 */ // GIR_Coverage, 7972,
46239 /* 129576 */ GIR_EraseRootFromParent_Done,
46240 /* 129577 */ // Label 2862: @129577
46241 /* 129577 */ GIM_Try, /*On fail goto*//*Label 2863*/ GIMT_Encode4(129596), // Rule ID 7969 //
46242 /* 129582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46243 /* 129585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46244 /* 129589 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPRORVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
46245 /* 129589 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rr),
46246 /* 129594 */ GIR_RootConstrainSelectedInstOperands,
46247 /* 129595 */ // GIR_Coverage, 7969,
46248 /* 129595 */ GIR_Done,
46249 /* 129596 */ // Label 2863: @129596
46250 /* 129596 */ GIM_Try, /*On fail goto*//*Label 2864*/ GIMT_Encode4(129753), // Rule ID 20815 //
46251 /* 129601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46252 /* 129604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46253 /* 129608 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (EXTRACT_SUBREG:{ *:[v8i32] } (VPRORVDZrr:{ *:[v16i32] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
46254 /* 129608 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
46255 /* 129611 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46256 /* 129615 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46257 /* 129620 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46258 /* 129622 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
46259 /* 129625 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46260 /* 129629 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46261 /* 129634 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46262 /* 129637 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46263 /* 129641 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
46264 /* 129644 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46265 /* 129649 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46266 /* 129654 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46267 /* 129659 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46268 /* 129662 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46269 /* 129666 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46270 /* 129671 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46271 /* 129673 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46272 /* 129676 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46273 /* 129680 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46274 /* 129685 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46275 /* 129688 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46276 /* 129692 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46277 /* 129695 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46278 /* 129700 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46279 /* 129705 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46280 /* 129710 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
46281 /* 129713 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
46282 /* 129717 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46283 /* 129722 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46284 /* 129725 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46285 /* 129728 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46286 /* 129730 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46287 /* 129733 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46288 /* 129735 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46289 /* 129742 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46290 /* 129747 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46291 /* 129752 */ // GIR_Coverage, 20815,
46292 /* 129752 */ GIR_EraseRootFromParent_Done,
46293 /* 129753 */ // Label 2864: @129753
46294 /* 129753 */ GIM_Reject,
46295 /* 129754 */ // Label 2861: @129754
46296 /* 129754 */ GIM_Reject,
46297 /* 129755 */ // Label 2796: @129755
46298 /* 129755 */ GIM_Try, /*On fail goto*//*Label 2865*/ GIMT_Encode4(129848),
46299 /* 129760 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
46300 /* 129763 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
46301 /* 129766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46302 /* 129770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46303 /* 129774 */ GIM_Try, /*On fail goto*//*Label 2866*/ GIMT_Encode4(129828), // Rule ID 7990 //
46304 /* 129779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46305 /* 129782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46306 /* 129786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46307 /* 129790 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46308 /* 129793 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46309 /* 129797 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46310 /* 129801 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46311 /* 129803 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46312 /* 129810 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46313 /* 129810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrm),
46314 /* 129813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46315 /* 129815 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46316 /* 129817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46317 /* 129821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46318 /* 129826 */ GIR_RootConstrainSelectedInstOperands,
46319 /* 129827 */ // GIR_Coverage, 7990,
46320 /* 129827 */ GIR_EraseRootFromParent_Done,
46321 /* 129828 */ // Label 2866: @129828
46322 /* 129828 */ GIM_Try, /*On fail goto*//*Label 2867*/ GIMT_Encode4(129847), // Rule ID 7987 //
46323 /* 129833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46324 /* 129836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46325 /* 129840 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPRORVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
46326 /* 129840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
46327 /* 129845 */ GIR_RootConstrainSelectedInstOperands,
46328 /* 129846 */ // GIR_Coverage, 7987,
46329 /* 129846 */ GIR_Done,
46330 /* 129847 */ // Label 2867: @129847
46331 /* 129847 */ GIM_Reject,
46332 /* 129848 */ // Label 2865: @129848
46333 /* 129848 */ GIM_Reject,
46334 /* 129849 */ // Label 2797: @129849
46335 /* 129849 */ GIM_Try, /*On fail goto*//*Label 2868*/ GIMT_Encode4(129942),
46336 /* 129854 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
46337 /* 129857 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
46338 /* 129860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46339 /* 129864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46340 /* 129868 */ GIM_Try, /*On fail goto*//*Label 2869*/ GIMT_Encode4(129922), // Rule ID 7963 //
46341 /* 129873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46342 /* 129876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46343 /* 129880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46344 /* 129884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46345 /* 129887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46346 /* 129891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46347 /* 129895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46348 /* 129897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46349 /* 129904 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46350 /* 129904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrm),
46351 /* 129907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46352 /* 129909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46353 /* 129911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46354 /* 129915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46355 /* 129920 */ GIR_RootConstrainSelectedInstOperands,
46356 /* 129921 */ // GIR_Coverage, 7963,
46357 /* 129921 */ GIR_EraseRootFromParent_Done,
46358 /* 129922 */ // Label 2869: @129922
46359 /* 129922 */ GIM_Try, /*On fail goto*//*Label 2870*/ GIMT_Encode4(129941), // Rule ID 7960 //
46360 /* 129927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46361 /* 129930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46362 /* 129934 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPRORVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
46363 /* 129934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
46364 /* 129939 */ GIR_RootConstrainSelectedInstOperands,
46365 /* 129940 */ // GIR_Coverage, 7960,
46366 /* 129940 */ GIR_Done,
46367 /* 129941 */ // Label 2870: @129941
46368 /* 129941 */ GIM_Reject,
46369 /* 129942 */ // Label 2868: @129942
46370 /* 129942 */ GIM_Reject,
46371 /* 129943 */ // Label 2798: @129943
46372 /* 129943 */ GIM_Reject,
46373 /* 129944 */ // Label 33: @129944
46374 /* 129944 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(20), /*)*//*default:*//*Label 2883*/ GIMT_Encode4(133663),
46375 /* 129955 */ /*GILLT_s8*//*Label 2871*/ GIMT_Encode4(130031),
46376 /* 129959 */ /*GILLT_s16*//*Label 2872*/ GIMT_Encode4(130461),
46377 /* 129963 */ /*GILLT_s32*//*Label 2873*/ GIMT_Encode4(130891),
46378 /* 129967 */ /*GILLT_s64*//*Label 2874*/ GIMT_Encode4(131358), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
46379 /* 129983 */ /*GILLT_v2s64*//*Label 2875*/ GIMT_Encode4(131825), GIMT_Encode4(0),
46380 /* 129991 */ /*GILLT_v4s32*//*Label 2876*/ GIMT_Encode4(132243),
46381 /* 129995 */ /*GILLT_v4s64*//*Label 2877*/ GIMT_Encode4(132661), GIMT_Encode4(0),
46382 /* 130003 */ /*GILLT_v8s16*//*Label 2878*/ GIMT_Encode4(132912),
46383 /* 130007 */ /*GILLT_v8s32*//*Label 2879*/ GIMT_Encode4(133068),
46384 /* 130011 */ /*GILLT_v8s64*//*Label 2880*/ GIMT_Encode4(133319), GIMT_Encode4(0),
46385 /* 130019 */ /*GILLT_v16s8*//*Label 2881*/ GIMT_Encode4(133413), GIMT_Encode4(0),
46386 /* 130027 */ /*GILLT_v16s32*//*Label 2882*/ GIMT_Encode4(133569),
46387 /* 130031 */ // Label 2871: @130031
46388 /* 130031 */ GIM_Try, /*On fail goto*//*Label 2884*/ GIMT_Encode4(130460),
46389 /* 130036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
46390 /* 130039 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
46391 /* 130042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
46392 /* 130046 */ GIM_Try, /*On fail goto*//*Label 2885*/ GIMT_Encode4(130105), // Rule ID 17609 //
46393 /* 130051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46394 /* 130054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46395 /* 130058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46396 /* 130062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46397 /* 130065 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46398 /* 130069 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
46399 /* 130073 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
46400 /* 130077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46401 /* 130079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46402 /* 130086 */ // (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 7:{ *:[i8] }) => (ROR8m1_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
46403 /* 130086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1_ND),
46404 /* 130089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46405 /* 130091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46406 /* 130095 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46407 /* 130098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46408 /* 130103 */ GIR_RootConstrainSelectedInstOperands,
46409 /* 130104 */ // GIR_Coverage, 17609,
46410 /* 130104 */ GIR_EraseRootFromParent_Done,
46411 /* 130105 */ // Label 2885: @130105
46412 /* 130105 */ GIM_Try, /*On fail goto*//*Label 2886*/ GIMT_Encode4(130172), // Rule ID 768 //
46413 /* 130110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46414 /* 130113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46415 /* 130117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46416 /* 130121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46417 /* 130124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46418 /* 130128 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
46419 /* 130132 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
46420 /* 130136 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46421 /* 130140 */ // MIs[2] Operand 1
46422 /* 130140 */ // No operand predicates
46423 /* 130140 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46424 /* 130142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46425 /* 130149 */ // (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src2) => (ROL8mi_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
46426 /* 130149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi_ND),
46427 /* 130152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46428 /* 130154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46429 /* 130158 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
46430 /* 130161 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46431 /* 130164 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46432 /* 130170 */ GIR_RootConstrainSelectedInstOperands,
46433 /* 130171 */ // GIR_Coverage, 768,
46434 /* 130171 */ GIR_EraseRootFromParent_Done,
46435 /* 130172 */ // Label 2886: @130172
46436 /* 130172 */ GIM_Try, /*On fail goto*//*Label 2887*/ GIMT_Encode4(130245), // Rule ID 784 //
46437 /* 130177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46438 /* 130180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46439 /* 130184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46440 /* 130188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46441 /* 130191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46442 /* 130195 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
46443 /* 130199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46444 /* 130203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46445 /* 130205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46446 /* 130212 */ // (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }) => (ROL8mCL_ND:{ *:[i8] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
46447 /* 130212 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46448 /* 130216 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46449 /* 130222 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46450 /* 130226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL_ND),
46451 /* 130229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46452 /* 130231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46453 /* 130235 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46454 /* 130238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46455 /* 130243 */ GIR_RootConstrainSelectedInstOperands,
46456 /* 130244 */ // GIR_Coverage, 784,
46457 /* 130244 */ GIR_EraseRootFromParent_Done,
46458 /* 130245 */ // Label 2887: @130245
46459 /* 130245 */ GIM_Try, /*On fail goto*//*Label 2888*/ GIMT_Encode4(130273), // Rule ID 17585 //
46460 /* 130250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46461 /* 130253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
46462 /* 130257 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
46463 /* 130261 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
46464 /* 130261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1),
46465 /* 130264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46466 /* 130266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46467 /* 130268 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46468 /* 130271 */ GIR_RootConstrainSelectedInstOperands,
46469 /* 130272 */ // GIR_Coverage, 17585,
46470 /* 130272 */ GIR_EraseRootFromParent_Done,
46471 /* 130273 */ // Label 2888: @130273
46472 /* 130273 */ GIM_Try, /*On fail goto*//*Label 2889*/ GIMT_Encode4(130301), // Rule ID 17593 //
46473 /* 130278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46474 /* 130281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
46475 /* 130285 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
46476 /* 130289 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
46477 /* 130289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1_ND),
46478 /* 130292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46479 /* 130294 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46480 /* 130296 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46481 /* 130299 */ GIR_RootConstrainSelectedInstOperands,
46482 /* 130300 */ // GIR_Coverage, 17593,
46483 /* 130300 */ GIR_EraseRootFromParent_Done,
46484 /* 130301 */ // Label 2889: @130301
46485 /* 130301 */ GIM_Try, /*On fail goto*//*Label 2890*/ GIMT_Encode4(130338), // Rule ID 756 //
46486 /* 130306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46487 /* 130309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
46488 /* 130313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46489 /* 130317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46490 /* 130321 */ // MIs[1] Operand 1
46491 /* 130321 */ // No operand predicates
46492 /* 130321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46493 /* 130323 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
46494 /* 130323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri),
46495 /* 130326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46496 /* 130328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46497 /* 130330 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46498 /* 130333 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46499 /* 130336 */ GIR_RootConstrainSelectedInstOperands,
46500 /* 130337 */ // GIR_Coverage, 756,
46501 /* 130337 */ GIR_EraseRootFromParent_Done,
46502 /* 130338 */ // Label 2890: @130338
46503 /* 130338 */ GIM_Try, /*On fail goto*//*Label 2891*/ GIMT_Encode4(130375), // Rule ID 760 //
46504 /* 130343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46505 /* 130346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
46506 /* 130350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46507 /* 130354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46508 /* 130358 */ // MIs[1] Operand 1
46509 /* 130358 */ // No operand predicates
46510 /* 130358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46511 /* 130360 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
46512 /* 130360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri_ND),
46513 /* 130363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46514 /* 130365 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46515 /* 130367 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46516 /* 130370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46517 /* 130373 */ GIR_RootConstrainSelectedInstOperands,
46518 /* 130374 */ // GIR_Coverage, 760,
46519 /* 130374 */ GIR_EraseRootFromParent_Done,
46520 /* 130375 */ // Label 2891: @130375
46521 /* 130375 */ GIM_Try, /*On fail goto*//*Label 2892*/ GIMT_Encode4(130417), // Rule ID 772 //
46522 /* 130380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46523 /* 130383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
46524 /* 130387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46525 /* 130391 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
46526 /* 130391 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46527 /* 130395 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46528 /* 130401 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46529 /* 130405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL),
46530 /* 130408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46531 /* 130410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46532 /* 130412 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46533 /* 130415 */ GIR_RootConstrainSelectedInstOperands,
46534 /* 130416 */ // GIR_Coverage, 772,
46535 /* 130416 */ GIR_EraseRootFromParent_Done,
46536 /* 130417 */ // Label 2892: @130417
46537 /* 130417 */ GIM_Try, /*On fail goto*//*Label 2893*/ GIMT_Encode4(130459), // Rule ID 776 //
46538 /* 130422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46539 /* 130425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
46540 /* 130429 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46541 /* 130433 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
46542 /* 130433 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46543 /* 130437 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46544 /* 130443 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46545 /* 130447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL_ND),
46546 /* 130450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46547 /* 130452 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46548 /* 130454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46549 /* 130457 */ GIR_RootConstrainSelectedInstOperands,
46550 /* 130458 */ // GIR_Coverage, 776,
46551 /* 130458 */ GIR_EraseRootFromParent_Done,
46552 /* 130459 */ // Label 2893: @130459
46553 /* 130459 */ GIM_Reject,
46554 /* 130460 */ // Label 2884: @130460
46555 /* 130460 */ GIM_Reject,
46556 /* 130461 */ // Label 2872: @130461
46557 /* 130461 */ GIM_Try, /*On fail goto*//*Label 2894*/ GIMT_Encode4(130890),
46558 /* 130466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
46559 /* 130469 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
46560 /* 130472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
46561 /* 130476 */ GIM_Try, /*On fail goto*//*Label 2895*/ GIMT_Encode4(130535), // Rule ID 17610 //
46562 /* 130481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46563 /* 130484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46564 /* 130488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46565 /* 130492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46566 /* 130495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46567 /* 130499 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
46568 /* 130503 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
46569 /* 130507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46570 /* 130509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46571 /* 130516 */ // (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 15:{ *:[i8] }) => (ROR16m1_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
46572 /* 130516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1_ND),
46573 /* 130519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46574 /* 130521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46575 /* 130525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46576 /* 130528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46577 /* 130533 */ GIR_RootConstrainSelectedInstOperands,
46578 /* 130534 */ // GIR_Coverage, 17610,
46579 /* 130534 */ GIR_EraseRootFromParent_Done,
46580 /* 130535 */ // Label 2895: @130535
46581 /* 130535 */ GIM_Try, /*On fail goto*//*Label 2896*/ GIMT_Encode4(130602), // Rule ID 769 //
46582 /* 130540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46583 /* 130543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46584 /* 130547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46585 /* 130551 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46586 /* 130554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46587 /* 130558 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
46588 /* 130562 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
46589 /* 130566 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46590 /* 130570 */ // MIs[2] Operand 1
46591 /* 130570 */ // No operand predicates
46592 /* 130570 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46593 /* 130572 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46594 /* 130579 */ // (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src2) => (ROL16mi_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
46595 /* 130579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi_ND),
46596 /* 130582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46597 /* 130584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46598 /* 130588 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
46599 /* 130591 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46600 /* 130594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46601 /* 130600 */ GIR_RootConstrainSelectedInstOperands,
46602 /* 130601 */ // GIR_Coverage, 769,
46603 /* 130601 */ GIR_EraseRootFromParent_Done,
46604 /* 130602 */ // Label 2896: @130602
46605 /* 130602 */ GIM_Try, /*On fail goto*//*Label 2897*/ GIMT_Encode4(130675), // Rule ID 785 //
46606 /* 130607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46607 /* 130610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46608 /* 130614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46609 /* 130618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46610 /* 130621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46611 /* 130625 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
46612 /* 130629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46613 /* 130633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46614 /* 130635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46615 /* 130642 */ // (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }) => (ROL16mCL_ND:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
46616 /* 130642 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46617 /* 130646 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46618 /* 130652 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46619 /* 130656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL_ND),
46620 /* 130659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46621 /* 130661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46622 /* 130665 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46623 /* 130668 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46624 /* 130673 */ GIR_RootConstrainSelectedInstOperands,
46625 /* 130674 */ // GIR_Coverage, 785,
46626 /* 130674 */ GIR_EraseRootFromParent_Done,
46627 /* 130675 */ // Label 2897: @130675
46628 /* 130675 */ GIM_Try, /*On fail goto*//*Label 2898*/ GIMT_Encode4(130703), // Rule ID 17586 //
46629 /* 130680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46630 /* 130683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
46631 /* 130687 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
46632 /* 130691 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
46633 /* 130691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1),
46634 /* 130694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46635 /* 130696 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46636 /* 130698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46637 /* 130701 */ GIR_RootConstrainSelectedInstOperands,
46638 /* 130702 */ // GIR_Coverage, 17586,
46639 /* 130702 */ GIR_EraseRootFromParent_Done,
46640 /* 130703 */ // Label 2898: @130703
46641 /* 130703 */ GIM_Try, /*On fail goto*//*Label 2899*/ GIMT_Encode4(130731), // Rule ID 17594 //
46642 /* 130708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46643 /* 130711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
46644 /* 130715 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
46645 /* 130719 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
46646 /* 130719 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1_ND),
46647 /* 130722 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46648 /* 130724 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46649 /* 130726 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46650 /* 130729 */ GIR_RootConstrainSelectedInstOperands,
46651 /* 130730 */ // GIR_Coverage, 17594,
46652 /* 130730 */ GIR_EraseRootFromParent_Done,
46653 /* 130731 */ // Label 2899: @130731
46654 /* 130731 */ GIM_Try, /*On fail goto*//*Label 2900*/ GIMT_Encode4(130768), // Rule ID 757 //
46655 /* 130736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46656 /* 130739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
46657 /* 130743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46658 /* 130747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46659 /* 130751 */ // MIs[1] Operand 1
46660 /* 130751 */ // No operand predicates
46661 /* 130751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46662 /* 130753 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
46663 /* 130753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
46664 /* 130756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46665 /* 130758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46666 /* 130760 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46667 /* 130763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46668 /* 130766 */ GIR_RootConstrainSelectedInstOperands,
46669 /* 130767 */ // GIR_Coverage, 757,
46670 /* 130767 */ GIR_EraseRootFromParent_Done,
46671 /* 130768 */ // Label 2900: @130768
46672 /* 130768 */ GIM_Try, /*On fail goto*//*Label 2901*/ GIMT_Encode4(130805), // Rule ID 761 //
46673 /* 130773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46674 /* 130776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
46675 /* 130780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46676 /* 130784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46677 /* 130788 */ // MIs[1] Operand 1
46678 /* 130788 */ // No operand predicates
46679 /* 130788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46680 /* 130790 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
46681 /* 130790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri_ND),
46682 /* 130793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46683 /* 130795 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46684 /* 130797 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46685 /* 130800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46686 /* 130803 */ GIR_RootConstrainSelectedInstOperands,
46687 /* 130804 */ // GIR_Coverage, 761,
46688 /* 130804 */ GIR_EraseRootFromParent_Done,
46689 /* 130805 */ // Label 2901: @130805
46690 /* 130805 */ GIM_Try, /*On fail goto*//*Label 2902*/ GIMT_Encode4(130847), // Rule ID 773 //
46691 /* 130810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46692 /* 130813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
46693 /* 130817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46694 /* 130821 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
46695 /* 130821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46696 /* 130825 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46697 /* 130831 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46698 /* 130835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL),
46699 /* 130838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46700 /* 130840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46701 /* 130842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46702 /* 130845 */ GIR_RootConstrainSelectedInstOperands,
46703 /* 130846 */ // GIR_Coverage, 773,
46704 /* 130846 */ GIR_EraseRootFromParent_Done,
46705 /* 130847 */ // Label 2902: @130847
46706 /* 130847 */ GIM_Try, /*On fail goto*//*Label 2903*/ GIMT_Encode4(130889), // Rule ID 777 //
46707 /* 130852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46708 /* 130855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
46709 /* 130859 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46710 /* 130863 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
46711 /* 130863 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46712 /* 130867 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46713 /* 130873 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46714 /* 130877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL_ND),
46715 /* 130880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46716 /* 130882 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46717 /* 130884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46718 /* 130887 */ GIR_RootConstrainSelectedInstOperands,
46719 /* 130888 */ // GIR_Coverage, 777,
46720 /* 130888 */ GIR_EraseRootFromParent_Done,
46721 /* 130889 */ // Label 2903: @130889
46722 /* 130889 */ GIM_Reject,
46723 /* 130890 */ // Label 2894: @130890
46724 /* 130890 */ GIM_Reject,
46725 /* 130891 */ // Label 2873: @130891
46726 /* 130891 */ GIM_Try, /*On fail goto*//*Label 2904*/ GIMT_Encode4(131357),
46727 /* 130896 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
46728 /* 130899 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
46729 /* 130902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46730 /* 130906 */ GIM_Try, /*On fail goto*//*Label 2905*/ GIMT_Encode4(130965), // Rule ID 17611 //
46731 /* 130911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46732 /* 130914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46733 /* 130918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46734 /* 130922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46735 /* 130925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46736 /* 130929 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
46737 /* 130933 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
46738 /* 130937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46739 /* 130939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46740 /* 130946 */ // (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 31:{ *:[i8] }) => (ROR32m1_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
46741 /* 130946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1_ND),
46742 /* 130949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46743 /* 130951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46744 /* 130955 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46745 /* 130958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46746 /* 130963 */ GIR_RootConstrainSelectedInstOperands,
46747 /* 130964 */ // GIR_Coverage, 17611,
46748 /* 130964 */ GIR_EraseRootFromParent_Done,
46749 /* 130965 */ // Label 2905: @130965
46750 /* 130965 */ GIM_Try, /*On fail goto*//*Label 2906*/ GIMT_Encode4(131032), // Rule ID 770 //
46751 /* 130970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46752 /* 130973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46753 /* 130977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46754 /* 130981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46755 /* 130984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46756 /* 130988 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
46757 /* 130992 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
46758 /* 130996 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46759 /* 131000 */ // MIs[2] Operand 1
46760 /* 131000 */ // No operand predicates
46761 /* 131000 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46762 /* 131002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46763 /* 131009 */ // (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src2) => (ROL32mi_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
46764 /* 131009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi_ND),
46765 /* 131012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46766 /* 131014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46767 /* 131018 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
46768 /* 131021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46769 /* 131024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46770 /* 131030 */ GIR_RootConstrainSelectedInstOperands,
46771 /* 131031 */ // GIR_Coverage, 770,
46772 /* 131031 */ GIR_EraseRootFromParent_Done,
46773 /* 131032 */ // Label 2906: @131032
46774 /* 131032 */ GIM_Try, /*On fail goto*//*Label 2907*/ GIMT_Encode4(131105), // Rule ID 786 //
46775 /* 131037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46776 /* 131040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46777 /* 131044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46778 /* 131048 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46779 /* 131051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46780 /* 131055 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
46781 /* 131059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46782 /* 131063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46783 /* 131065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46784 /* 131072 */ // (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }) => (ROL32mCL_ND:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
46785 /* 131072 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46786 /* 131076 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46787 /* 131082 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46788 /* 131086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL_ND),
46789 /* 131089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46790 /* 131091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46791 /* 131095 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46792 /* 131098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46793 /* 131103 */ GIR_RootConstrainSelectedInstOperands,
46794 /* 131104 */ // GIR_Coverage, 786,
46795 /* 131104 */ GIR_EraseRootFromParent_Done,
46796 /* 131105 */ // Label 2907: @131105
46797 /* 131105 */ GIM_Try, /*On fail goto*//*Label 2908*/ GIMT_Encode4(131142), // Rule ID 868 //
46798 /* 131110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
46799 /* 131113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46800 /* 131117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46801 /* 131121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46802 /* 131125 */ // MIs[1] Operand 1
46803 /* 131125 */ // No operand predicates
46804 /* 131125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46805 /* 131127 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
46806 /* 131127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT32ri),
46807 /* 131130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46808 /* 131132 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46809 /* 131134 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
46810 /* 131137 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46811 /* 131140 */ GIR_RootConstrainSelectedInstOperands,
46812 /* 131141 */ // GIR_Coverage, 868,
46813 /* 131141 */ GIR_EraseRootFromParent_Done,
46814 /* 131142 */ // Label 2908: @131142
46815 /* 131142 */ GIM_Try, /*On fail goto*//*Label 2909*/ GIMT_Encode4(131170), // Rule ID 17587 //
46816 /* 131147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46817 /* 131150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46818 /* 131154 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
46819 /* 131158 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
46820 /* 131158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1),
46821 /* 131161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46822 /* 131163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46823 /* 131165 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46824 /* 131168 */ GIR_RootConstrainSelectedInstOperands,
46825 /* 131169 */ // GIR_Coverage, 17587,
46826 /* 131169 */ GIR_EraseRootFromParent_Done,
46827 /* 131170 */ // Label 2909: @131170
46828 /* 131170 */ GIM_Try, /*On fail goto*//*Label 2910*/ GIMT_Encode4(131198), // Rule ID 17595 //
46829 /* 131175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46830 /* 131178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46831 /* 131182 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
46832 /* 131186 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
46833 /* 131186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1_ND),
46834 /* 131189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46835 /* 131191 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46836 /* 131193 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46837 /* 131196 */ GIR_RootConstrainSelectedInstOperands,
46838 /* 131197 */ // GIR_Coverage, 17595,
46839 /* 131197 */ GIR_EraseRootFromParent_Done,
46840 /* 131198 */ // Label 2910: @131198
46841 /* 131198 */ GIM_Try, /*On fail goto*//*Label 2911*/ GIMT_Encode4(131235), // Rule ID 758 //
46842 /* 131203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46843 /* 131206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46844 /* 131210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46845 /* 131214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46846 /* 131218 */ // MIs[1] Operand 1
46847 /* 131218 */ // No operand predicates
46848 /* 131218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46849 /* 131220 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
46850 /* 131220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri),
46851 /* 131223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46852 /* 131225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46853 /* 131227 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46854 /* 131230 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46855 /* 131233 */ GIR_RootConstrainSelectedInstOperands,
46856 /* 131234 */ // GIR_Coverage, 758,
46857 /* 131234 */ GIR_EraseRootFromParent_Done,
46858 /* 131235 */ // Label 2911: @131235
46859 /* 131235 */ GIM_Try, /*On fail goto*//*Label 2912*/ GIMT_Encode4(131272), // Rule ID 762 //
46860 /* 131240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46861 /* 131243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46862 /* 131247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46863 /* 131251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46864 /* 131255 */ // MIs[1] Operand 1
46865 /* 131255 */ // No operand predicates
46866 /* 131255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46867 /* 131257 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
46868 /* 131257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri_ND),
46869 /* 131260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46870 /* 131262 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46871 /* 131264 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
46872 /* 131267 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46873 /* 131270 */ GIR_RootConstrainSelectedInstOperands,
46874 /* 131271 */ // GIR_Coverage, 762,
46875 /* 131271 */ GIR_EraseRootFromParent_Done,
46876 /* 131272 */ // Label 2912: @131272
46877 /* 131272 */ GIM_Try, /*On fail goto*//*Label 2913*/ GIMT_Encode4(131314), // Rule ID 774 //
46878 /* 131277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
46879 /* 131280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46880 /* 131284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46881 /* 131288 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
46882 /* 131288 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46883 /* 131292 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46884 /* 131298 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46885 /* 131302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL),
46886 /* 131305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46887 /* 131307 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46888 /* 131309 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46889 /* 131312 */ GIR_RootConstrainSelectedInstOperands,
46890 /* 131313 */ // GIR_Coverage, 774,
46891 /* 131313 */ GIR_EraseRootFromParent_Done,
46892 /* 131314 */ // Label 2913: @131314
46893 /* 131314 */ GIM_Try, /*On fail goto*//*Label 2914*/ GIMT_Encode4(131356), // Rule ID 778 //
46894 /* 131319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46895 /* 131322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
46896 /* 131326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46897 /* 131330 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
46898 /* 131330 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46899 /* 131334 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46900 /* 131340 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46901 /* 131344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL_ND),
46902 /* 131347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46903 /* 131349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46904 /* 131351 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46905 /* 131354 */ GIR_RootConstrainSelectedInstOperands,
46906 /* 131355 */ // GIR_Coverage, 778,
46907 /* 131355 */ GIR_EraseRootFromParent_Done,
46908 /* 131356 */ // Label 2914: @131356
46909 /* 131356 */ GIM_Reject,
46910 /* 131357 */ // Label 2904: @131357
46911 /* 131357 */ GIM_Reject,
46912 /* 131358 */ // Label 2874: @131358
46913 /* 131358 */ GIM_Try, /*On fail goto*//*Label 2915*/ GIMT_Encode4(131824),
46914 /* 131363 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
46915 /* 131366 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
46916 /* 131369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46917 /* 131373 */ GIM_Try, /*On fail goto*//*Label 2916*/ GIMT_Encode4(131432), // Rule ID 17612 //
46918 /* 131378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
46919 /* 131381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46920 /* 131385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46921 /* 131389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46922 /* 131392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46923 /* 131396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46924 /* 131400 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
46925 /* 131404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46926 /* 131406 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46927 /* 131413 */ // (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 63:{ *:[i8] }) => (ROR64m1_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src)
46928 /* 131413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1_ND),
46929 /* 131416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46930 /* 131418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
46931 /* 131422 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46932 /* 131425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46933 /* 131430 */ GIR_RootConstrainSelectedInstOperands,
46934 /* 131431 */ // GIR_Coverage, 17612,
46935 /* 131431 */ GIR_EraseRootFromParent_Done,
46936 /* 131432 */ // Label 2916: @131432
46937 /* 131432 */ GIM_Try, /*On fail goto*//*Label 2917*/ GIMT_Encode4(131499), // Rule ID 771 //
46938 /* 131437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46939 /* 131440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46940 /* 131444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46941 /* 131448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46942 /* 131451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46943 /* 131455 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46944 /* 131459 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
46945 /* 131463 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46946 /* 131467 */ // MIs[2] Operand 1
46947 /* 131467 */ // No operand predicates
46948 /* 131467 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
46949 /* 131469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46950 /* 131476 */ // (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src2) => (ROL64mi_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1, (imm:{ *:[i8] }):$src2)
46951 /* 131476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi_ND),
46952 /* 131479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46953 /* 131481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46954 /* 131485 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
46955 /* 131488 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46956 /* 131491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
46957 /* 131497 */ GIR_RootConstrainSelectedInstOperands,
46958 /* 131498 */ // GIR_Coverage, 771,
46959 /* 131498 */ GIR_EraseRootFromParent_Done,
46960 /* 131499 */ // Label 2917: @131499
46961 /* 131499 */ GIM_Try, /*On fail goto*//*Label 2918*/ GIMT_Encode4(131572), // Rule ID 787 //
46962 /* 131504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
46963 /* 131507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46964 /* 131511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46965 /* 131515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46966 /* 131518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46967 /* 131522 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46968 /* 131526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
46969 /* 131530 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46970 /* 131532 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46971 /* 131539 */ // (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }) => (ROL64mCL_ND:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
46972 /* 131539 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46973 /* 131543 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46974 /* 131549 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
46975 /* 131553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL_ND),
46976 /* 131556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46977 /* 131558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46978 /* 131562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46979 /* 131565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46980 /* 131570 */ GIR_RootConstrainSelectedInstOperands,
46981 /* 131571 */ // GIR_Coverage, 787,
46982 /* 131571 */ GIR_EraseRootFromParent_Done,
46983 /* 131572 */ // Label 2918: @131572
46984 /* 131572 */ GIM_Try, /*On fail goto*//*Label 2919*/ GIMT_Encode4(131609), // Rule ID 869 //
46985 /* 131577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
46986 /* 131580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
46987 /* 131584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46988 /* 131588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
46989 /* 131592 */ // MIs[1] Operand 1
46990 /* 131592 */ // No operand predicates
46991 /* 131592 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46992 /* 131594 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
46993 /* 131594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT64ri),
46994 /* 131597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46995 /* 131599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46996 /* 131601 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
46997 /* 131604 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
46998 /* 131607 */ GIR_RootConstrainSelectedInstOperands,
46999 /* 131608 */ // GIR_Coverage, 869,
47000 /* 131608 */ GIR_EraseRootFromParent_Done,
47001 /* 131609 */ // Label 2919: @131609
47002 /* 131609 */ GIM_Try, /*On fail goto*//*Label 2920*/ GIMT_Encode4(131637), // Rule ID 17588 //
47003 /* 131614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
47004 /* 131617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
47005 /* 131621 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
47006 /* 131625 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
47007 /* 131625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1),
47008 /* 131628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47009 /* 131630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47010 /* 131632 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
47011 /* 131635 */ GIR_RootConstrainSelectedInstOperands,
47012 /* 131636 */ // GIR_Coverage, 17588,
47013 /* 131636 */ GIR_EraseRootFromParent_Done,
47014 /* 131637 */ // Label 2920: @131637
47015 /* 131637 */ GIM_Try, /*On fail goto*//*Label 2921*/ GIMT_Encode4(131665), // Rule ID 17596 //
47016 /* 131642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
47017 /* 131645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
47018 /* 131649 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
47019 /* 131653 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
47020 /* 131653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1_ND),
47021 /* 131656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47022 /* 131658 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47023 /* 131660 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
47024 /* 131663 */ GIR_RootConstrainSelectedInstOperands,
47025 /* 131664 */ // GIR_Coverage, 17596,
47026 /* 131664 */ GIR_EraseRootFromParent_Done,
47027 /* 131665 */ // Label 2921: @131665
47028 /* 131665 */ GIM_Try, /*On fail goto*//*Label 2922*/ GIMT_Encode4(131702), // Rule ID 759 //
47029 /* 131670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
47030 /* 131673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
47031 /* 131677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47032 /* 131681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
47033 /* 131685 */ // MIs[1] Operand 1
47034 /* 131685 */ // No operand predicates
47035 /* 131685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47036 /* 131687 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
47037 /* 131687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri),
47038 /* 131690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47039 /* 131692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47040 /* 131694 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
47041 /* 131697 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
47042 /* 131700 */ GIR_RootConstrainSelectedInstOperands,
47043 /* 131701 */ // GIR_Coverage, 759,
47044 /* 131701 */ GIR_EraseRootFromParent_Done,
47045 /* 131702 */ // Label 2922: @131702
47046 /* 131702 */ GIM_Try, /*On fail goto*//*Label 2923*/ GIMT_Encode4(131739), // Rule ID 763 //
47047 /* 131707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
47048 /* 131710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
47049 /* 131714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47050 /* 131718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
47051 /* 131722 */ // MIs[1] Operand 1
47052 /* 131722 */ // No operand predicates
47053 /* 131722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47054 /* 131724 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
47055 /* 131724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri_ND),
47056 /* 131727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47057 /* 131729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47058 /* 131731 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
47059 /* 131734 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
47060 /* 131737 */ GIR_RootConstrainSelectedInstOperands,
47061 /* 131738 */ // GIR_Coverage, 763,
47062 /* 131738 */ GIR_EraseRootFromParent_Done,
47063 /* 131739 */ // Label 2923: @131739
47064 /* 131739 */ GIM_Try, /*On fail goto*//*Label 2924*/ GIMT_Encode4(131781), // Rule ID 775 //
47065 /* 131744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
47066 /* 131747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
47067 /* 131751 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
47068 /* 131755 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
47069 /* 131755 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47070 /* 131759 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47071 /* 131765 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
47072 /* 131769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL),
47073 /* 131772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47074 /* 131774 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47075 /* 131776 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
47076 /* 131779 */ GIR_RootConstrainSelectedInstOperands,
47077 /* 131780 */ // GIR_Coverage, 775,
47078 /* 131780 */ GIR_EraseRootFromParent_Done,
47079 /* 131781 */ // Label 2924: @131781
47080 /* 131781 */ GIM_Try, /*On fail goto*//*Label 2925*/ GIMT_Encode4(131823), // Rule ID 779 //
47081 /* 131786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
47082 /* 131789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
47083 /* 131793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
47084 /* 131797 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
47085 /* 131797 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47086 /* 131801 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47087 /* 131807 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
47088 /* 131811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL_ND),
47089 /* 131814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47090 /* 131816 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47091 /* 131818 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
47092 /* 131821 */ GIR_RootConstrainSelectedInstOperands,
47093 /* 131822 */ // GIR_Coverage, 779,
47094 /* 131822 */ GIR_EraseRootFromParent_Done,
47095 /* 131823 */ // Label 2925: @131823
47096 /* 131823 */ GIM_Reject,
47097 /* 131824 */ // Label 2915: @131824
47098 /* 131824 */ GIM_Reject,
47099 /* 131825 */ // Label 2875: @131825
47100 /* 131825 */ GIM_Try, /*On fail goto*//*Label 2926*/ GIMT_Encode4(132242),
47101 /* 131830 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
47102 /* 131833 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
47103 /* 131836 */ GIM_Try, /*On fail goto*//*Label 2927*/ GIMT_Encode4(131898), // Rule ID 1582 //
47104 /* 131841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47105 /* 131844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47106 /* 131848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
47107 /* 131852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47108 /* 131856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47109 /* 131859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47110 /* 131863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47111 /* 131867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47112 /* 131871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47113 /* 131873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47114 /* 131880 */ // (rotl:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src2) => (VPROTQmr:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v2i64] }:$src2)
47115 /* 131880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQmr),
47116 /* 131883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47117 /* 131885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
47118 /* 131889 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
47119 /* 131891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47120 /* 131896 */ GIR_RootConstrainSelectedInstOperands,
47121 /* 131897 */ // GIR_Coverage, 1582,
47122 /* 131897 */ GIR_EraseRootFromParent_Done,
47123 /* 131898 */ // Label 2927: @131898
47124 /* 131898 */ GIM_Try, /*On fail goto*//*Label 2928*/ GIMT_Encode4(131960), // Rule ID 1581 //
47125 /* 131903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47126 /* 131906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47127 /* 131910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47128 /* 131914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47129 /* 131918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47130 /* 131922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47131 /* 131925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47132 /* 131929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47133 /* 131933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47134 /* 131935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47135 /* 131942 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
47136 /* 131942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQrm),
47137 /* 131945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47138 /* 131947 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47139 /* 131949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47140 /* 131953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47141 /* 131958 */ GIR_RootConstrainSelectedInstOperands,
47142 /* 131959 */ // GIR_Coverage, 1581,
47143 /* 131959 */ GIR_EraseRootFromParent_Done,
47144 /* 131960 */ // Label 2928: @131960
47145 /* 131960 */ GIM_Try, /*On fail goto*//*Label 2929*/ GIMT_Encode4(132022), // Rule ID 8062 //
47146 /* 131965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47147 /* 131968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47148 /* 131972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47149 /* 131976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47150 /* 131980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47151 /* 131984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47152 /* 131987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47153 /* 131991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47154 /* 131995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47155 /* 131997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47156 /* 132004 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
47157 /* 132004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rm),
47158 /* 132007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47159 /* 132009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47160 /* 132011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47161 /* 132015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47162 /* 132020 */ GIR_RootConstrainSelectedInstOperands,
47163 /* 132021 */ // GIR_Coverage, 8062,
47164 /* 132021 */ GIR_EraseRootFromParent_Done,
47165 /* 132022 */ // Label 2929: @132022
47166 /* 132022 */ GIM_Try, /*On fail goto*//*Label 2930*/ GIMT_Encode4(132049), // Rule ID 1580 //
47167 /* 132027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47168 /* 132030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47169 /* 132034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47170 /* 132038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47171 /* 132042 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPROTQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
47172 /* 132042 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTQrr),
47173 /* 132047 */ GIR_RootConstrainSelectedInstOperands,
47174 /* 132048 */ // GIR_Coverage, 1580,
47175 /* 132048 */ GIR_Done,
47176 /* 132049 */ // Label 2930: @132049
47177 /* 132049 */ GIM_Try, /*On fail goto*//*Label 2931*/ GIMT_Encode4(132076), // Rule ID 8059 //
47178 /* 132054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47179 /* 132057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47180 /* 132061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47181 /* 132065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47182 /* 132069 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPROLVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
47183 /* 132069 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rr),
47184 /* 132074 */ GIR_RootConstrainSelectedInstOperands,
47185 /* 132075 */ // GIR_Coverage, 8059,
47186 /* 132075 */ GIR_Done,
47187 /* 132076 */ // Label 2931: @132076
47188 /* 132076 */ GIM_Try, /*On fail goto*//*Label 2932*/ GIMT_Encode4(132241), // Rule ID 20804 //
47189 /* 132081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47190 /* 132084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47191 /* 132088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47192 /* 132092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47193 /* 132096 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPROLVQZrr:{ *:[v8i64] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
47194 /* 132096 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47195 /* 132099 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47196 /* 132103 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47197 /* 132108 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
47198 /* 132110 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47199 /* 132113 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47200 /* 132117 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47201 /* 132122 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
47202 /* 132125 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
47203 /* 132129 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
47204 /* 132132 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47205 /* 132137 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47206 /* 132142 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47207 /* 132147 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47208 /* 132150 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47209 /* 132154 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47210 /* 132159 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47211 /* 132161 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47212 /* 132164 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47213 /* 132168 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47214 /* 132173 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47215 /* 132176 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
47216 /* 132180 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47217 /* 132183 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47218 /* 132188 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47219 /* 132193 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47220 /* 132198 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47221 /* 132201 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
47222 /* 132205 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47223 /* 132210 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47224 /* 132213 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47225 /* 132216 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47226 /* 132218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47227 /* 132221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47228 /* 132223 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47229 /* 132230 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47230 /* 132235 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47231 /* 132240 */ // GIR_Coverage, 20804,
47232 /* 132240 */ GIR_EraseRootFromParent_Done,
47233 /* 132241 */ // Label 2932: @132241
47234 /* 132241 */ GIM_Reject,
47235 /* 132242 */ // Label 2926: @132242
47236 /* 132242 */ GIM_Reject,
47237 /* 132243 */ // Label 2876: @132243
47238 /* 132243 */ GIM_Try, /*On fail goto*//*Label 2933*/ GIMT_Encode4(132660),
47239 /* 132248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
47240 /* 132251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
47241 /* 132254 */ GIM_Try, /*On fail goto*//*Label 2934*/ GIMT_Encode4(132316), // Rule ID 1579 //
47242 /* 132259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47243 /* 132262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47244 /* 132266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
47245 /* 132270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47246 /* 132274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47247 /* 132277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47248 /* 132281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47249 /* 132285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47250 /* 132289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47251 /* 132291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47252 /* 132298 */ // (rotl:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src2) => (VPROTDmr:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v4i32] }:$src2)
47253 /* 132298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDmr),
47254 /* 132301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47255 /* 132303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
47256 /* 132307 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
47257 /* 132309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47258 /* 132314 */ GIR_RootConstrainSelectedInstOperands,
47259 /* 132315 */ // GIR_Coverage, 1579,
47260 /* 132315 */ GIR_EraseRootFromParent_Done,
47261 /* 132316 */ // Label 2934: @132316
47262 /* 132316 */ GIM_Try, /*On fail goto*//*Label 2935*/ GIMT_Encode4(132378), // Rule ID 1578 //
47263 /* 132321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47264 /* 132324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47265 /* 132328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47266 /* 132332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47267 /* 132336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47268 /* 132340 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47269 /* 132343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47270 /* 132347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47271 /* 132351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47272 /* 132353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47273 /* 132360 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
47274 /* 132360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDrm),
47275 /* 132363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47276 /* 132365 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47277 /* 132367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47278 /* 132371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47279 /* 132376 */ GIR_RootConstrainSelectedInstOperands,
47280 /* 132377 */ // GIR_Coverage, 1578,
47281 /* 132377 */ GIR_EraseRootFromParent_Done,
47282 /* 132378 */ // Label 2935: @132378
47283 /* 132378 */ GIM_Try, /*On fail goto*//*Label 2936*/ GIMT_Encode4(132440), // Rule ID 8035 //
47284 /* 132383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47285 /* 132386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47286 /* 132390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47287 /* 132394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47288 /* 132398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47289 /* 132402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47290 /* 132405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47291 /* 132409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47292 /* 132413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47293 /* 132415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47294 /* 132422 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
47295 /* 132422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rm),
47296 /* 132425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47297 /* 132427 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47298 /* 132429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47299 /* 132433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47300 /* 132438 */ GIR_RootConstrainSelectedInstOperands,
47301 /* 132439 */ // GIR_Coverage, 8035,
47302 /* 132439 */ GIR_EraseRootFromParent_Done,
47303 /* 132440 */ // Label 2936: @132440
47304 /* 132440 */ GIM_Try, /*On fail goto*//*Label 2937*/ GIMT_Encode4(132467), // Rule ID 1577 //
47305 /* 132445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47306 /* 132448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47307 /* 132452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47308 /* 132456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47309 /* 132460 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPROTDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
47310 /* 132460 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTDrr),
47311 /* 132465 */ GIR_RootConstrainSelectedInstOperands,
47312 /* 132466 */ // GIR_Coverage, 1577,
47313 /* 132466 */ GIR_Done,
47314 /* 132467 */ // Label 2937: @132467
47315 /* 132467 */ GIM_Try, /*On fail goto*//*Label 2938*/ GIMT_Encode4(132494), // Rule ID 8032 //
47316 /* 132472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47317 /* 132475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47318 /* 132479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47319 /* 132483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47320 /* 132487 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPROLVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
47321 /* 132487 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rr),
47322 /* 132492 */ GIR_RootConstrainSelectedInstOperands,
47323 /* 132493 */ // GIR_Coverage, 8032,
47324 /* 132493 */ GIR_Done,
47325 /* 132494 */ // Label 2938: @132494
47326 /* 132494 */ GIM_Try, /*On fail goto*//*Label 2939*/ GIMT_Encode4(132659), // Rule ID 20806 //
47327 /* 132499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47328 /* 132502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47329 /* 132506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47330 /* 132510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47331 /* 132514 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPROLVDZrr:{ *:[v16i32] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
47332 /* 132514 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47333 /* 132517 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47334 /* 132521 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47335 /* 132526 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
47336 /* 132528 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47337 /* 132531 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47338 /* 132535 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47339 /* 132540 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
47340 /* 132543 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
47341 /* 132547 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
47342 /* 132550 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47343 /* 132555 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47344 /* 132560 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47345 /* 132565 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47346 /* 132568 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47347 /* 132572 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47348 /* 132577 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47349 /* 132579 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47350 /* 132582 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47351 /* 132586 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47352 /* 132591 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47353 /* 132594 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
47354 /* 132598 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47355 /* 132601 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47356 /* 132606 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47357 /* 132611 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47358 /* 132616 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47359 /* 132619 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
47360 /* 132623 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47361 /* 132628 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47362 /* 132631 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47363 /* 132634 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47364 /* 132636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47365 /* 132639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47366 /* 132641 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47367 /* 132648 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47368 /* 132653 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47369 /* 132658 */ // GIR_Coverage, 20806,
47370 /* 132658 */ GIR_EraseRootFromParent_Done,
47371 /* 132659 */ // Label 2939: @132659
47372 /* 132659 */ GIM_Reject,
47373 /* 132660 */ // Label 2933: @132660
47374 /* 132660 */ GIM_Reject,
47375 /* 132661 */ // Label 2877: @132661
47376 /* 132661 */ GIM_Try, /*On fail goto*//*Label 2940*/ GIMT_Encode4(132911),
47377 /* 132666 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
47378 /* 132669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
47379 /* 132672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47380 /* 132676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47381 /* 132680 */ GIM_Try, /*On fail goto*//*Label 2941*/ GIMT_Encode4(132734), // Rule ID 8053 //
47382 /* 132685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47383 /* 132688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47384 /* 132692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47385 /* 132696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47386 /* 132699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47387 /* 132703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47388 /* 132707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47389 /* 132709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47390 /* 132716 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
47391 /* 132716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rm),
47392 /* 132719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47393 /* 132721 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47394 /* 132723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47395 /* 132727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47396 /* 132732 */ GIR_RootConstrainSelectedInstOperands,
47397 /* 132733 */ // GIR_Coverage, 8053,
47398 /* 132733 */ GIR_EraseRootFromParent_Done,
47399 /* 132734 */ // Label 2941: @132734
47400 /* 132734 */ GIM_Try, /*On fail goto*//*Label 2942*/ GIMT_Encode4(132753), // Rule ID 8050 //
47401 /* 132739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47402 /* 132742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47403 /* 132746 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPROLVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
47404 /* 132746 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rr),
47405 /* 132751 */ GIR_RootConstrainSelectedInstOperands,
47406 /* 132752 */ // GIR_Coverage, 8050,
47407 /* 132752 */ GIR_Done,
47408 /* 132753 */ // Label 2942: @132753
47409 /* 132753 */ GIM_Try, /*On fail goto*//*Label 2943*/ GIMT_Encode4(132910), // Rule ID 20805 //
47410 /* 132758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47411 /* 132761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47412 /* 132765 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPROLVQZrr:{ *:[v8i64] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
47413 /* 132765 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
47414 /* 132768 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47415 /* 132772 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47416 /* 132777 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
47417 /* 132779 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
47418 /* 132782 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47419 /* 132786 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47420 /* 132791 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
47421 /* 132794 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
47422 /* 132798 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
47423 /* 132801 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47424 /* 132806 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47425 /* 132811 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47426 /* 132816 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47427 /* 132819 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47428 /* 132823 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47429 /* 132828 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47430 /* 132830 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47431 /* 132833 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47432 /* 132837 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47433 /* 132842 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47434 /* 132845 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
47435 /* 132849 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47436 /* 132852 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47437 /* 132857 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47438 /* 132862 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47439 /* 132867 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
47440 /* 132870 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
47441 /* 132874 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47442 /* 132879 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47443 /* 132882 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47444 /* 132885 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47445 /* 132887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47446 /* 132890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47447 /* 132892 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47448 /* 132899 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47449 /* 132904 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47450 /* 132909 */ // GIR_Coverage, 20805,
47451 /* 132909 */ GIR_EraseRootFromParent_Done,
47452 /* 132910 */ // Label 2943: @132910
47453 /* 132910 */ GIM_Reject,
47454 /* 132911 */ // Label 2940: @132911
47455 /* 132911 */ GIM_Reject,
47456 /* 132912 */ // Label 2878: @132912
47457 /* 132912 */ GIM_Try, /*On fail goto*//*Label 2944*/ GIMT_Encode4(133067),
47458 /* 132917 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
47459 /* 132920 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
47460 /* 132923 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47461 /* 132927 */ GIM_Try, /*On fail goto*//*Label 2945*/ GIMT_Encode4(132985), // Rule ID 1585 //
47462 /* 132932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47463 /* 132935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
47464 /* 132939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47465 /* 132943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47466 /* 132946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47467 /* 132950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47468 /* 132954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47469 /* 132958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47470 /* 132960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47471 /* 132967 */ // (rotl:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src2) => (VPROTWmr:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v8i16] }:$src2)
47472 /* 132967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWmr),
47473 /* 132970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47474 /* 132972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
47475 /* 132976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
47476 /* 132978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47477 /* 132983 */ GIR_RootConstrainSelectedInstOperands,
47478 /* 132984 */ // GIR_Coverage, 1585,
47479 /* 132984 */ GIR_EraseRootFromParent_Done,
47480 /* 132985 */ // Label 2945: @132985
47481 /* 132985 */ GIM_Try, /*On fail goto*//*Label 2946*/ GIMT_Encode4(133043), // Rule ID 1584 //
47482 /* 132990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47483 /* 132993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47484 /* 132997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47485 /* 133001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47486 /* 133005 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47487 /* 133008 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47488 /* 133012 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47489 /* 133016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47490 /* 133018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47491 /* 133025 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
47492 /* 133025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWrm),
47493 /* 133028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47494 /* 133030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47495 /* 133032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47496 /* 133036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47497 /* 133041 */ GIR_RootConstrainSelectedInstOperands,
47498 /* 133042 */ // GIR_Coverage, 1584,
47499 /* 133042 */ GIR_EraseRootFromParent_Done,
47500 /* 133043 */ // Label 2946: @133043
47501 /* 133043 */ GIM_Try, /*On fail goto*//*Label 2947*/ GIMT_Encode4(133066), // Rule ID 1583 //
47502 /* 133048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47503 /* 133051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47504 /* 133055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47505 /* 133059 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPROTWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
47506 /* 133059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTWrr),
47507 /* 133064 */ GIR_RootConstrainSelectedInstOperands,
47508 /* 133065 */ // GIR_Coverage, 1583,
47509 /* 133065 */ GIR_Done,
47510 /* 133066 */ // Label 2947: @133066
47511 /* 133066 */ GIM_Reject,
47512 /* 133067 */ // Label 2944: @133067
47513 /* 133067 */ GIM_Reject,
47514 /* 133068 */ // Label 2879: @133068
47515 /* 133068 */ GIM_Try, /*On fail goto*//*Label 2948*/ GIMT_Encode4(133318),
47516 /* 133073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
47517 /* 133076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
47518 /* 133079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47519 /* 133083 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47520 /* 133087 */ GIM_Try, /*On fail goto*//*Label 2949*/ GIMT_Encode4(133141), // Rule ID 8026 //
47521 /* 133092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47522 /* 133095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47523 /* 133099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47524 /* 133103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47525 /* 133106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47526 /* 133110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47527 /* 133114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47528 /* 133116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47529 /* 133123 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
47530 /* 133123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rm),
47531 /* 133126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47532 /* 133128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47533 /* 133130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47534 /* 133134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47535 /* 133139 */ GIR_RootConstrainSelectedInstOperands,
47536 /* 133140 */ // GIR_Coverage, 8026,
47537 /* 133140 */ GIR_EraseRootFromParent_Done,
47538 /* 133141 */ // Label 2949: @133141
47539 /* 133141 */ GIM_Try, /*On fail goto*//*Label 2950*/ GIMT_Encode4(133160), // Rule ID 8023 //
47540 /* 133146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
47541 /* 133149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47542 /* 133153 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPROLVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
47543 /* 133153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rr),
47544 /* 133158 */ GIR_RootConstrainSelectedInstOperands,
47545 /* 133159 */ // GIR_Coverage, 8023,
47546 /* 133159 */ GIR_Done,
47547 /* 133160 */ // Label 2950: @133160
47548 /* 133160 */ GIM_Try, /*On fail goto*//*Label 2951*/ GIMT_Encode4(133317), // Rule ID 20807 //
47549 /* 133165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
47550 /* 133168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47551 /* 133172 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (EXTRACT_SUBREG:{ *:[v8i32] } (VPROLVDZrr:{ *:[v16i32] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
47552 /* 133172 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
47553 /* 133175 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47554 /* 133179 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47555 /* 133184 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
47556 /* 133186 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
47557 /* 133189 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47558 /* 133193 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47559 /* 133198 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
47560 /* 133201 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
47561 /* 133205 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
47562 /* 133208 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47563 /* 133213 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47564 /* 133218 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47565 /* 133223 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47566 /* 133226 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47567 /* 133230 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47568 /* 133235 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47569 /* 133237 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47570 /* 133240 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47571 /* 133244 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47572 /* 133249 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47573 /* 133252 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
47574 /* 133256 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47575 /* 133259 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47576 /* 133264 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47577 /* 133269 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47578 /* 133274 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
47579 /* 133277 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
47580 /* 133281 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47581 /* 133286 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47582 /* 133289 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47583 /* 133292 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47584 /* 133294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47585 /* 133297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47586 /* 133299 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47587 /* 133306 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47588 /* 133311 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47589 /* 133316 */ // GIR_Coverage, 20807,
47590 /* 133316 */ GIR_EraseRootFromParent_Done,
47591 /* 133317 */ // Label 2951: @133317
47592 /* 133317 */ GIM_Reject,
47593 /* 133318 */ // Label 2948: @133318
47594 /* 133318 */ GIM_Reject,
47595 /* 133319 */ // Label 2880: @133319
47596 /* 133319 */ GIM_Try, /*On fail goto*//*Label 2952*/ GIMT_Encode4(133412),
47597 /* 133324 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
47598 /* 133327 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
47599 /* 133330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47600 /* 133334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47601 /* 133338 */ GIM_Try, /*On fail goto*//*Label 2953*/ GIMT_Encode4(133392), // Rule ID 8044 //
47602 /* 133343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
47603 /* 133346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47604 /* 133350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47605 /* 133354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47606 /* 133357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47607 /* 133361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47608 /* 133365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47609 /* 133367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47610 /* 133374 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
47611 /* 133374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrm),
47612 /* 133377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47613 /* 133379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47614 /* 133381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47615 /* 133385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47616 /* 133390 */ GIR_RootConstrainSelectedInstOperands,
47617 /* 133391 */ // GIR_Coverage, 8044,
47618 /* 133391 */ GIR_EraseRootFromParent_Done,
47619 /* 133392 */ // Label 2953: @133392
47620 /* 133392 */ GIM_Try, /*On fail goto*//*Label 2954*/ GIMT_Encode4(133411), // Rule ID 8041 //
47621 /* 133397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
47622 /* 133400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47623 /* 133404 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPROLVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
47624 /* 133404 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
47625 /* 133409 */ GIR_RootConstrainSelectedInstOperands,
47626 /* 133410 */ // GIR_Coverage, 8041,
47627 /* 133410 */ GIR_Done,
47628 /* 133411 */ // Label 2954: @133411
47629 /* 133411 */ GIM_Reject,
47630 /* 133412 */ // Label 2952: @133412
47631 /* 133412 */ GIM_Reject,
47632 /* 133413 */ // Label 2881: @133413
47633 /* 133413 */ GIM_Try, /*On fail goto*//*Label 2955*/ GIMT_Encode4(133568),
47634 /* 133418 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
47635 /* 133421 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
47636 /* 133424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47637 /* 133428 */ GIM_Try, /*On fail goto*//*Label 2956*/ GIMT_Encode4(133486), // Rule ID 1576 //
47638 /* 133433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47639 /* 133436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
47640 /* 133440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47641 /* 133444 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47642 /* 133447 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47643 /* 133451 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47644 /* 133455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47645 /* 133459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47646 /* 133461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47647 /* 133468 */ // (rotl:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src2) => (VPROTBmr:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v16i8] }:$src2)
47648 /* 133468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBmr),
47649 /* 133471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47650 /* 133473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
47651 /* 133477 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
47652 /* 133479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47653 /* 133484 */ GIR_RootConstrainSelectedInstOperands,
47654 /* 133485 */ // GIR_Coverage, 1576,
47655 /* 133485 */ GIR_EraseRootFromParent_Done,
47656 /* 133486 */ // Label 2956: @133486
47657 /* 133486 */ GIM_Try, /*On fail goto*//*Label 2957*/ GIMT_Encode4(133544), // Rule ID 1575 //
47658 /* 133491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47659 /* 133494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47660 /* 133498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47661 /* 133502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47662 /* 133506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47663 /* 133509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47664 /* 133513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47665 /* 133517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47666 /* 133519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47667 /* 133526 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
47668 /* 133526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBrm),
47669 /* 133529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47670 /* 133531 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47671 /* 133533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47672 /* 133537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47673 /* 133542 */ GIR_RootConstrainSelectedInstOperands,
47674 /* 133543 */ // GIR_Coverage, 1575,
47675 /* 133543 */ GIR_EraseRootFromParent_Done,
47676 /* 133544 */ // Label 2957: @133544
47677 /* 133544 */ GIM_Try, /*On fail goto*//*Label 2958*/ GIMT_Encode4(133567), // Rule ID 1574 //
47678 /* 133549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
47679 /* 133552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47680 /* 133556 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
47681 /* 133560 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPROTBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
47682 /* 133560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTBrr),
47683 /* 133565 */ GIR_RootConstrainSelectedInstOperands,
47684 /* 133566 */ // GIR_Coverage, 1574,
47685 /* 133566 */ GIR_Done,
47686 /* 133567 */ // Label 2958: @133567
47687 /* 133567 */ GIM_Reject,
47688 /* 133568 */ // Label 2955: @133568
47689 /* 133568 */ GIM_Reject,
47690 /* 133569 */ // Label 2882: @133569
47691 /* 133569 */ GIM_Try, /*On fail goto*//*Label 2959*/ GIMT_Encode4(133662),
47692 /* 133574 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
47693 /* 133577 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
47694 /* 133580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47695 /* 133584 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47696 /* 133588 */ GIM_Try, /*On fail goto*//*Label 2960*/ GIMT_Encode4(133642), // Rule ID 8017 //
47697 /* 133593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
47698 /* 133596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47699 /* 133600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47700 /* 133604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47701 /* 133607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47702 /* 133611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47703 /* 133615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47704 /* 133617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47705 /* 133624 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
47706 /* 133624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrm),
47707 /* 133627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47708 /* 133629 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
47709 /* 133631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
47710 /* 133635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47711 /* 133640 */ GIR_RootConstrainSelectedInstOperands,
47712 /* 133641 */ // GIR_Coverage, 8017,
47713 /* 133641 */ GIR_EraseRootFromParent_Done,
47714 /* 133642 */ // Label 2960: @133642
47715 /* 133642 */ GIM_Try, /*On fail goto*//*Label 2961*/ GIMT_Encode4(133661), // Rule ID 8014 //
47716 /* 133647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
47717 /* 133650 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47718 /* 133654 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPROLVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
47719 /* 133654 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
47720 /* 133659 */ GIR_RootConstrainSelectedInstOperands,
47721 /* 133660 */ // GIR_Coverage, 8014,
47722 /* 133660 */ GIR_Done,
47723 /* 133661 */ // Label 2961: @133661
47724 /* 133661 */ GIM_Reject,
47725 /* 133662 */ // Label 2959: @133662
47726 /* 133662 */ GIM_Reject,
47727 /* 133663 */ // Label 2883: @133663
47728 /* 133663 */ GIM_Reject,
47729 /* 133664 */ // Label 34: @133664
47730 /* 133664 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(7), GIMT_Encode2(24), /*)*//*default:*//*Label 2968*/ GIMT_Encode4(135320),
47731 /* 133675 */ /*GILLT_v2s1*//*Label 2962*/ GIMT_Encode4(133743), GIMT_Encode4(0),
47732 /* 133683 */ /*GILLT_v4s1*//*Label 2963*/ GIMT_Encode4(133904), GIMT_Encode4(0), GIMT_Encode4(0),
47733 /* 133695 */ /*GILLT_v8s1*//*Label 2964*/ GIMT_Encode4(134251), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
47734 /* 133711 */ /*GILLT_v16s1*//*Label 2965*/ GIMT_Encode4(134648), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
47735 /* 133727 */ /*GILLT_v32s1*//*Label 2966*/ GIMT_Encode4(135045), GIMT_Encode4(0), GIMT_Encode4(0),
47736 /* 133739 */ /*GILLT_v64s1*//*Label 2967*/ GIMT_Encode4(135269),
47737 /* 133743 */ // Label 2962: @133743
47738 /* 133743 */ GIM_Try, /*On fail goto*//*Label 2969*/ GIMT_Encode4(133903),
47739 /* 133748 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
47740 /* 133751 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
47741 /* 133754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
47742 /* 133758 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47743 /* 133763 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47744 /* 133767 */ GIM_Try, /*On fail goto*//*Label 2970*/ GIMT_Encode4(133798), // Rule ID 12609 //
47745 /* 133772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
47746 /* 133775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47747 /* 133779 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47748 /* 133785 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47749 /* 133787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47750 /* 133789 */ // (setcc:{ *:[v2i1] } immAllZerosV:{ *:[v2i64] }, VR128X:{ *:[v2i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ128kr:{ *:[v2i1] } VR128X:{ *:[v2i64] }:$src)
47751 /* 133789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ128kr),
47752 /* 133792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47753 /* 133794 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47754 /* 133796 */ GIR_RootConstrainSelectedInstOperands,
47755 /* 133797 */ // GIR_Coverage, 12609,
47756 /* 133797 */ GIR_EraseRootFromParent_Done,
47757 /* 133798 */ // Label 2970: @133798
47758 /* 133798 */ GIM_Try, /*On fail goto*//*Label 2971*/ GIMT_Encode4(133902), // Rule ID 21666 //
47759 /* 133803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
47760 /* 133806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47761 /* 133810 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47762 /* 133816 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47763 /* 133818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47764 /* 133820 */ // (setcc:{ *:[v2i1] } immAllZerosV:{ *:[v2i64] }, VR128X:{ *:[v2i64] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (VPMOVQ2MZkr:{ *:[v8i1] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src, sub_xmm:{ *:[i32] })), VK2:{ *:[i32] })
47765 /* 133820 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47766 /* 133823 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47767 /* 133827 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47768 /* 133832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47769 /* 133834 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47770 /* 133837 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47771 /* 133841 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47772 /* 133846 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47773 /* 133849 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47774 /* 133853 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47775 /* 133856 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47776 /* 133861 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47777 /* 133866 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47778 /* 133871 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
47779 /* 133874 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
47780 /* 133878 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47781 /* 133883 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47782 /* 133886 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47783 /* 133888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47784 /* 133891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47785 /* 133893 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47786 /* 133896 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
47787 /* 133901 */ // GIR_Coverage, 21666,
47788 /* 133901 */ GIR_EraseRootFromParent_Done,
47789 /* 133902 */ // Label 2971: @133902
47790 /* 133902 */ GIM_Reject,
47791 /* 133903 */ // Label 2969: @133903
47792 /* 133903 */ GIM_Reject,
47793 /* 133904 */ // Label 2963: @133904
47794 /* 133904 */ GIM_Try, /*On fail goto*//*Label 2972*/ GIMT_Encode4(133954), // Rule ID 12606 //
47795 /* 133909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
47796 /* 133912 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
47797 /* 133915 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
47798 /* 133918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
47799 /* 133922 */ // MIs[0] Operand 1
47800 /* 133922 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47801 /* 133927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47802 /* 133931 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47803 /* 133937 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47804 /* 133939 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47805 /* 133943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47806 /* 133945 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i32] }, VR128X:{ *:[v4i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ128kr:{ *:[v4i1] } VR128X:{ *:[v4i32] }:$src)
47807 /* 133945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ128kr),
47808 /* 133948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47809 /* 133950 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47810 /* 133952 */ GIR_RootConstrainSelectedInstOperands,
47811 /* 133953 */ // GIR_Coverage, 12606,
47812 /* 133953 */ GIR_EraseRootFromParent_Done,
47813 /* 133954 */ // Label 2972: @133954
47814 /* 133954 */ GIM_Try, /*On fail goto*//*Label 2973*/ GIMT_Encode4(134004), // Rule ID 12608 //
47815 /* 133959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
47816 /* 133962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
47817 /* 133965 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
47818 /* 133968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
47819 /* 133972 */ // MIs[0] Operand 1
47820 /* 133972 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47821 /* 133977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47822 /* 133981 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47823 /* 133987 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47824 /* 133989 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47825 /* 133993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47826 /* 133995 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i64] }, VR256X:{ *:[v4i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ256kr:{ *:[v4i1] } VR256X:{ *:[v4i64] }:$src)
47827 /* 133995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ256kr),
47828 /* 133998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47829 /* 134000 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47830 /* 134002 */ GIR_RootConstrainSelectedInstOperands,
47831 /* 134003 */ // GIR_Coverage, 12608,
47832 /* 134003 */ GIR_EraseRootFromParent_Done,
47833 /* 134004 */ // Label 2973: @134004
47834 /* 134004 */ GIM_Try, /*On fail goto*//*Label 2974*/ GIMT_Encode4(134127), // Rule ID 21664 //
47835 /* 134009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
47836 /* 134012 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
47837 /* 134015 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
47838 /* 134018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
47839 /* 134022 */ // MIs[0] Operand 1
47840 /* 134022 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47841 /* 134027 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47842 /* 134031 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47843 /* 134037 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47844 /* 134039 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47845 /* 134043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47846 /* 134045 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i32] }, VR128X:{ *:[v4i32] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (VPMOVD2MZkr:{ *:[v16i1] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src, sub_xmm:{ *:[i32] })), VK4:{ *:[i32] })
47847 /* 134045 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
47848 /* 134048 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47849 /* 134052 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47850 /* 134057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47851 /* 134059 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
47852 /* 134062 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47853 /* 134066 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47854 /* 134071 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47855 /* 134074 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47856 /* 134078 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47857 /* 134081 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47858 /* 134086 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47859 /* 134091 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47860 /* 134096 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
47861 /* 134099 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
47862 /* 134103 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47863 /* 134108 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47864 /* 134111 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47865 /* 134113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47866 /* 134116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47867 /* 134118 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47868 /* 134121 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
47869 /* 134126 */ // GIR_Coverage, 21664,
47870 /* 134126 */ GIR_EraseRootFromParent_Done,
47871 /* 134127 */ // Label 2974: @134127
47872 /* 134127 */ GIM_Try, /*On fail goto*//*Label 2975*/ GIMT_Encode4(134250), // Rule ID 21665 //
47873 /* 134132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
47874 /* 134135 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
47875 /* 134138 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
47876 /* 134141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
47877 /* 134145 */ // MIs[0] Operand 1
47878 /* 134145 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47879 /* 134150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47880 /* 134154 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47881 /* 134160 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47882 /* 134162 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47883 /* 134166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47884 /* 134168 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i64] }, VR256X:{ *:[v4i64] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (VPMOVQ2MZkr:{ *:[v8i1] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src, sub_ymm:{ *:[i32] })), VK4:{ *:[i32] })
47885 /* 134168 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
47886 /* 134171 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47887 /* 134175 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47888 /* 134180 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47889 /* 134182 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
47890 /* 134185 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47891 /* 134189 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47892 /* 134194 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47893 /* 134197 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47894 /* 134201 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47895 /* 134204 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47896 /* 134209 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47897 /* 134214 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47898 /* 134219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
47899 /* 134222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
47900 /* 134226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47901 /* 134231 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47902 /* 134234 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47903 /* 134236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47904 /* 134239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47905 /* 134241 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47906 /* 134244 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
47907 /* 134249 */ // GIR_Coverage, 21665,
47908 /* 134249 */ GIR_EraseRootFromParent_Done,
47909 /* 134250 */ // Label 2975: @134250
47910 /* 134250 */ GIM_Reject,
47911 /* 134251 */ // Label 2964: @134251
47912 /* 134251 */ GIM_Try, /*On fail goto*//*Label 2976*/ GIMT_Encode4(134301), // Rule ID 12603 //
47913 /* 134256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47914 /* 134259 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
47915 /* 134262 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
47916 /* 134265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47917 /* 134269 */ // MIs[0] Operand 1
47918 /* 134269 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47919 /* 134274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47920 /* 134278 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47921 /* 134284 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47922 /* 134286 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47923 /* 134290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47924 /* 134292 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i16] }, VR128X:{ *:[v8i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ128kr:{ *:[v8i1] } VR128X:{ *:[v8i16] }:$src)
47925 /* 134292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ128kr),
47926 /* 134295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47927 /* 134297 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47928 /* 134299 */ GIR_RootConstrainSelectedInstOperands,
47929 /* 134300 */ // GIR_Coverage, 12603,
47930 /* 134300 */ GIR_EraseRootFromParent_Done,
47931 /* 134301 */ // Label 2976: @134301
47932 /* 134301 */ GIM_Try, /*On fail goto*//*Label 2977*/ GIMT_Encode4(134351), // Rule ID 12605 //
47933 /* 134306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
47934 /* 134309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
47935 /* 134312 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
47936 /* 134315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47937 /* 134319 */ // MIs[0] Operand 1
47938 /* 134319 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47939 /* 134324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47940 /* 134328 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47941 /* 134334 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47942 /* 134336 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47943 /* 134340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47944 /* 134342 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i32] }, VR256X:{ *:[v8i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ256kr:{ *:[v8i1] } VR256X:{ *:[v8i32] }:$src)
47945 /* 134342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ256kr),
47946 /* 134345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47947 /* 134347 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47948 /* 134349 */ GIR_RootConstrainSelectedInstOperands,
47949 /* 134350 */ // GIR_Coverage, 12605,
47950 /* 134350 */ GIR_EraseRootFromParent_Done,
47951 /* 134351 */ // Label 2977: @134351
47952 /* 134351 */ GIM_Try, /*On fail goto*//*Label 2978*/ GIMT_Encode4(134401), // Rule ID 12607 //
47953 /* 134356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
47954 /* 134359 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
47955 /* 134362 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
47956 /* 134365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47957 /* 134369 */ // MIs[0] Operand 1
47958 /* 134369 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47959 /* 134374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47960 /* 134378 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47961 /* 134384 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47962 /* 134386 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47963 /* 134390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47964 /* 134392 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZkr:{ *:[v8i1] } VR512:{ *:[v8i64] }:$src)
47965 /* 134392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
47966 /* 134395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47967 /* 134397 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47968 /* 134399 */ GIR_RootConstrainSelectedInstOperands,
47969 /* 134400 */ // GIR_Coverage, 12607,
47970 /* 134400 */ GIR_EraseRootFromParent_Done,
47971 /* 134401 */ // Label 2978: @134401
47972 /* 134401 */ GIM_Try, /*On fail goto*//*Label 2979*/ GIMT_Encode4(134524), // Rule ID 21662 //
47973 /* 134406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47974 /* 134409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
47975 /* 134412 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
47976 /* 134415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
47977 /* 134419 */ // MIs[0] Operand 1
47978 /* 134419 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47979 /* 134424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47980 /* 134428 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47981 /* 134434 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47982 /* 134436 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47983 /* 134440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47984 /* 134442 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i16] }, VR128X:{ *:[v8i16] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (VPMOVW2MZkr:{ *:[v32i1] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src, sub_xmm:{ *:[i32] })), VK8:{ *:[i32] })
47985 /* 134442 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47986 /* 134445 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47987 /* 134449 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47988 /* 134454 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47989 /* 134456 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47990 /* 134459 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47991 /* 134463 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47992 /* 134468 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47993 /* 134471 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47994 /* 134475 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47995 /* 134478 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47996 /* 134483 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47997 /* 134488 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47998 /* 134493 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
47999 /* 134496 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
48000 /* 134500 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48001 /* 134505 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48002 /* 134508 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48003 /* 134510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48004 /* 134513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48005 /* 134515 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48006 /* 134518 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
48007 /* 134523 */ // GIR_Coverage, 21662,
48008 /* 134523 */ GIR_EraseRootFromParent_Done,
48009 /* 134524 */ // Label 2979: @134524
48010 /* 134524 */ GIM_Try, /*On fail goto*//*Label 2980*/ GIMT_Encode4(134647), // Rule ID 21663 //
48011 /* 134529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
48012 /* 134532 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
48013 /* 134535 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
48014 /* 134538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
48015 /* 134542 */ // MIs[0] Operand 1
48016 /* 134542 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48017 /* 134547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48018 /* 134551 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48019 /* 134557 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48020 /* 134559 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48021 /* 134563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48022 /* 134565 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i32] }, VR256X:{ *:[v8i32] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (VPMOVD2MZkr:{ *:[v16i1] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src, sub_ymm:{ *:[i32] })), VK8:{ *:[i32] })
48023 /* 134565 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48024 /* 134568 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48025 /* 134572 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48026 /* 134577 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48027 /* 134579 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48028 /* 134582 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48029 /* 134586 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48030 /* 134591 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48031 /* 134594 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
48032 /* 134598 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48033 /* 134601 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48034 /* 134606 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48035 /* 134611 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48036 /* 134616 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
48037 /* 134619 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
48038 /* 134623 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48039 /* 134628 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48040 /* 134631 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48041 /* 134633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48042 /* 134636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48043 /* 134638 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48044 /* 134641 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
48045 /* 134646 */ // GIR_Coverage, 21663,
48046 /* 134646 */ GIR_EraseRootFromParent_Done,
48047 /* 134647 */ // Label 2980: @134647
48048 /* 134647 */ GIM_Reject,
48049 /* 134648 */ // Label 2965: @134648
48050 /* 134648 */ GIM_Try, /*On fail goto*//*Label 2981*/ GIMT_Encode4(134698), // Rule ID 12600 //
48051 /* 134653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48052 /* 134656 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
48053 /* 134659 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
48054 /* 134662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
48055 /* 134666 */ // MIs[0] Operand 1
48056 /* 134666 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48057 /* 134671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48058 /* 134675 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48059 /* 134681 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48060 /* 134683 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48061 /* 134687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48062 /* 134689 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i8] }, VR128X:{ *:[v16i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ128kr:{ *:[v16i1] } VR128X:{ *:[v16i8] }:$src)
48063 /* 134689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ128kr),
48064 /* 134692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48065 /* 134694 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48066 /* 134696 */ GIR_RootConstrainSelectedInstOperands,
48067 /* 134697 */ // GIR_Coverage, 12600,
48068 /* 134697 */ GIR_EraseRootFromParent_Done,
48069 /* 134698 */ // Label 2981: @134698
48070 /* 134698 */ GIM_Try, /*On fail goto*//*Label 2982*/ GIMT_Encode4(134748), // Rule ID 12602 //
48071 /* 134703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48072 /* 134706 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
48073 /* 134709 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
48074 /* 134712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
48075 /* 134716 */ // MIs[0] Operand 1
48076 /* 134716 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48077 /* 134721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48078 /* 134725 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48079 /* 134731 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48080 /* 134733 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48081 /* 134737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48082 /* 134739 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i16] }, VR256X:{ *:[v16i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ256kr:{ *:[v16i1] } VR256X:{ *:[v16i16] }:$src)
48083 /* 134739 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ256kr),
48084 /* 134742 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48085 /* 134744 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48086 /* 134746 */ GIR_RootConstrainSelectedInstOperands,
48087 /* 134747 */ // GIR_Coverage, 12602,
48088 /* 134747 */ GIR_EraseRootFromParent_Done,
48089 /* 134748 */ // Label 2982: @134748
48090 /* 134748 */ GIM_Try, /*On fail goto*//*Label 2983*/ GIMT_Encode4(134798), // Rule ID 12604 //
48091 /* 134753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
48092 /* 134756 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
48093 /* 134759 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
48094 /* 134762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
48095 /* 134766 */ // MIs[0] Operand 1
48096 /* 134766 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48097 /* 134771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48098 /* 134775 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48099 /* 134781 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48100 /* 134783 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48101 /* 134787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48102 /* 134789 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZkr:{ *:[v16i1] } VR512:{ *:[v16i32] }:$src)
48103 /* 134789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
48104 /* 134792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48105 /* 134794 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48106 /* 134796 */ GIR_RootConstrainSelectedInstOperands,
48107 /* 134797 */ // GIR_Coverage, 12604,
48108 /* 134797 */ GIR_EraseRootFromParent_Done,
48109 /* 134798 */ // Label 2983: @134798
48110 /* 134798 */ GIM_Try, /*On fail goto*//*Label 2984*/ GIMT_Encode4(134921), // Rule ID 21660 //
48111 /* 134803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48112 /* 134806 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
48113 /* 134809 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
48114 /* 134812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
48115 /* 134816 */ // MIs[0] Operand 1
48116 /* 134816 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48117 /* 134821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48118 /* 134825 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48119 /* 134831 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48120 /* 134833 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48121 /* 134837 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48122 /* 134839 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i8] }, VR128X:{ *:[v16i8] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } (VPMOVB2MZkr:{ *:[v64i1] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR128X:{ *:[v16i8] }:$src, sub_xmm:{ *:[i32] })), VK16:{ *:[i32] })
48123 /* 134839 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
48124 /* 134842 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48125 /* 134846 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48126 /* 134851 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48127 /* 134853 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
48128 /* 134856 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48129 /* 134860 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48130 /* 134865 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48131 /* 134868 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
48132 /* 134872 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48133 /* 134875 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48134 /* 134880 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48135 /* 134885 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48136 /* 134890 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
48137 /* 134893 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
48138 /* 134897 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48139 /* 134902 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48140 /* 134905 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48141 /* 134907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48142 /* 134910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48143 /* 134912 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48144 /* 134915 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
48145 /* 134920 */ // GIR_Coverage, 21660,
48146 /* 134920 */ GIR_EraseRootFromParent_Done,
48147 /* 134921 */ // Label 2984: @134921
48148 /* 134921 */ GIM_Try, /*On fail goto*//*Label 2985*/ GIMT_Encode4(135044), // Rule ID 21661 //
48149 /* 134926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48150 /* 134929 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
48151 /* 134932 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
48152 /* 134935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
48153 /* 134939 */ // MIs[0] Operand 1
48154 /* 134939 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48155 /* 134944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48156 /* 134948 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48157 /* 134954 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48158 /* 134956 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48159 /* 134960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48160 /* 134962 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i16] }, VR256X:{ *:[v16i16] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } (VPMOVW2MZkr:{ *:[v32i1] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src, sub_ymm:{ *:[i32] })), VK16:{ *:[i32] })
48161 /* 134962 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48162 /* 134965 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48163 /* 134969 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48164 /* 134974 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48165 /* 134976 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48166 /* 134979 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48167 /* 134983 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48168 /* 134988 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48169 /* 134991 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
48170 /* 134995 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48171 /* 134998 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48172 /* 135003 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48173 /* 135008 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48174 /* 135013 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
48175 /* 135016 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
48176 /* 135020 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48177 /* 135025 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48178 /* 135028 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48179 /* 135030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48180 /* 135033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48181 /* 135035 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48182 /* 135038 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
48183 /* 135043 */ // GIR_Coverage, 21661,
48184 /* 135043 */ GIR_EraseRootFromParent_Done,
48185 /* 135044 */ // Label 2985: @135044
48186 /* 135044 */ GIM_Reject,
48187 /* 135045 */ // Label 2966: @135045
48188 /* 135045 */ GIM_Try, /*On fail goto*//*Label 2986*/ GIMT_Encode4(135095), // Rule ID 12599 //
48189 /* 135050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48190 /* 135053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
48191 /* 135056 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
48192 /* 135059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
48193 /* 135063 */ // MIs[0] Operand 1
48194 /* 135063 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48195 /* 135068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48196 /* 135072 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48197 /* 135078 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48198 /* 135080 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48199 /* 135084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48200 /* 135086 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i8] }, VR256X:{ *:[v32i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ256kr:{ *:[v32i1] } VR256X:{ *:[v32i8] }:$src)
48201 /* 135086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ256kr),
48202 /* 135089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48203 /* 135091 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48204 /* 135093 */ GIR_RootConstrainSelectedInstOperands,
48205 /* 135094 */ // GIR_Coverage, 12599,
48206 /* 135094 */ GIR_EraseRootFromParent_Done,
48207 /* 135095 */ // Label 2986: @135095
48208 /* 135095 */ GIM_Try, /*On fail goto*//*Label 2987*/ GIMT_Encode4(135145), // Rule ID 12601 //
48209 /* 135100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48210 /* 135103 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
48211 /* 135106 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
48212 /* 135109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
48213 /* 135113 */ // MIs[0] Operand 1
48214 /* 135113 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48215 /* 135118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48216 /* 135122 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48217 /* 135128 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48218 /* 135130 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48219 /* 135134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48220 /* 135136 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i16] }, VR512:{ *:[v32i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZkr:{ *:[v32i1] } VR512:{ *:[v32i16] }:$src)
48221 /* 135136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
48222 /* 135139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48223 /* 135141 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48224 /* 135143 */ GIR_RootConstrainSelectedInstOperands,
48225 /* 135144 */ // GIR_Coverage, 12601,
48226 /* 135144 */ GIR_EraseRootFromParent_Done,
48227 /* 135145 */ // Label 2987: @135145
48228 /* 135145 */ GIM_Try, /*On fail goto*//*Label 2988*/ GIMT_Encode4(135268), // Rule ID 21659 //
48229 /* 135150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48230 /* 135153 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
48231 /* 135156 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
48232 /* 135159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
48233 /* 135163 */ // MIs[0] Operand 1
48234 /* 135163 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48235 /* 135168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48236 /* 135172 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48237 /* 135178 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48238 /* 135180 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48239 /* 135184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48240 /* 135186 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i8] }, VR256X:{ *:[v32i8] }:$src, SETGT:{ *:[Other] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (VPMOVB2MZkr:{ *:[v64i1] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR256X:{ *:[v32i8] }:$src, sub_ymm:{ *:[i32] })), VK32:{ *:[i32] })
48241 /* 135186 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
48242 /* 135189 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48243 /* 135193 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48244 /* 135198 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48245 /* 135200 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
48246 /* 135203 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48247 /* 135207 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48248 /* 135212 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48249 /* 135215 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
48250 /* 135219 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48251 /* 135222 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48252 /* 135227 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48253 /* 135232 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48254 /* 135237 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
48255 /* 135240 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
48256 /* 135244 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48257 /* 135249 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48258 /* 135252 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48259 /* 135254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48260 /* 135257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48261 /* 135259 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48262 /* 135262 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
48263 /* 135267 */ // GIR_Coverage, 21659,
48264 /* 135267 */ GIR_EraseRootFromParent_Done,
48265 /* 135268 */ // Label 2988: @135268
48266 /* 135268 */ GIM_Reject,
48267 /* 135269 */ // Label 2967: @135269
48268 /* 135269 */ GIM_Try, /*On fail goto*//*Label 2989*/ GIMT_Encode4(135319), // Rule ID 12598 //
48269 /* 135274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48270 /* 135277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
48271 /* 135280 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
48272 /* 135283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
48273 /* 135287 */ // MIs[0] Operand 1
48274 /* 135287 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
48275 /* 135292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48276 /* 135296 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48277 /* 135302 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48278 /* 135304 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48279 /* 135308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48280 /* 135310 */ // (setcc:{ *:[v64i1] } immAllZerosV:{ *:[v64i8] }, VR512:{ *:[v64i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZkr:{ *:[v64i1] } VR512:{ *:[v64i8] }:$src)
48281 /* 135310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
48282 /* 135313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48283 /* 135315 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48284 /* 135317 */ GIR_RootConstrainSelectedInstOperands,
48285 /* 135318 */ // GIR_Coverage, 12598,
48286 /* 135318 */ GIR_EraseRootFromParent_Done,
48287 /* 135319 */ // Label 2989: @135319
48288 /* 135319 */ GIM_Reject,
48289 /* 135320 */ // Label 2968: @135320
48290 /* 135320 */ GIM_Reject,
48291 /* 135321 */ // Label 35: @135321
48292 /* 135321 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 3002*/ GIMT_Encode4(142986),
48293 /* 135332 */ /*GILLT_v2s64*//*Label 2990*/ GIMT_Encode4(135400), GIMT_Encode4(0),
48294 /* 135340 */ /*GILLT_v4s32*//*Label 2991*/ GIMT_Encode4(136264),
48295 /* 135344 */ /*GILLT_v4s64*//*Label 2992*/ GIMT_Encode4(137128), GIMT_Encode4(0),
48296 /* 135352 */ /*GILLT_v8s16*//*Label 2993*/ GIMT_Encode4(137908),
48297 /* 135356 */ /*GILLT_v8s32*//*Label 2994*/ GIMT_Encode4(139066),
48298 /* 135360 */ /*GILLT_v8s64*//*Label 2995*/ GIMT_Encode4(139846), GIMT_Encode4(0),
48299 /* 135368 */ /*GILLT_v16s8*//*Label 2996*/ GIMT_Encode4(140227),
48300 /* 135372 */ /*GILLT_v16s16*//*Label 2997*/ GIMT_Encode4(140667),
48301 /* 135376 */ /*GILLT_v16s32*//*Label 2998*/ GIMT_Encode4(141737), GIMT_Encode4(0),
48302 /* 135384 */ /*GILLT_v32s8*//*Label 2999*/ GIMT_Encode4(142078),
48303 /* 135388 */ /*GILLT_v32s16*//*Label 3000*/ GIMT_Encode4(142482), GIMT_Encode4(0),
48304 /* 135396 */ /*GILLT_v64s8*//*Label 3001*/ GIMT_Encode4(142900),
48305 /* 135400 */ // Label 2990: @135400
48306 /* 135400 */ GIM_Try, /*On fail goto*//*Label 3003*/ GIMT_Encode4(136263),
48307 /* 135405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
48308 /* 135408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
48309 /* 135411 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
48310 /* 135414 */ GIM_Try, /*On fail goto*//*Label 3004*/ GIMT_Encode4(135459), // Rule ID 4492 //
48311 /* 135419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48312 /* 135422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48313 /* 135426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48314 /* 135430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48315 /* 135434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48316 /* 135438 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48317 /* 135444 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48318 /* 135446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48319 /* 135448 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src, immAllZerosV:{ *:[v2f64] }) => (VMOVAPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
48320 /* 135448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrkz),
48321 /* 135451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48322 /* 135453 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48323 /* 135455 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48324 /* 135457 */ GIR_RootConstrainSelectedInstOperands,
48325 /* 135458 */ // GIR_Coverage, 4492,
48326 /* 135458 */ GIR_EraseRootFromParent_Done,
48327 /* 135459 */ // Label 3004: @135459
48328 /* 135459 */ GIM_Try, /*On fail goto*//*Label 3005*/ GIMT_Encode4(135504), // Rule ID 4546 //
48329 /* 135464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48330 /* 135467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48331 /* 135471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48332 /* 135475 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48333 /* 135479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48334 /* 135483 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48335 /* 135489 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48336 /* 135491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48337 /* 135493 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src, immAllZerosV:{ *:[v2i64] }) => (VMOVDQA64Z128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
48338 /* 135493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrkz),
48339 /* 135496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48340 /* 135498 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48341 /* 135500 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48342 /* 135502 */ GIR_RootConstrainSelectedInstOperands,
48343 /* 135503 */ // GIR_Coverage, 4546,
48344 /* 135503 */ GIR_EraseRootFromParent_Done,
48345 /* 135504 */ // Label 3005: @135504
48346 /* 135504 */ GIM_Try, /*On fail goto*//*Label 3006*/ GIMT_Encode4(135653), // Rule ID 19785 //
48347 /* 135509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48348 /* 135512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48349 /* 135516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48350 /* 135520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48351 /* 135524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48352 /* 135528 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48353 /* 135534 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48354 /* 135536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48355 /* 135538 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, immAllZerosV:{ *:[v2f64] }) => (EXTRACT_SUBREG:{ *:[v2f64] } (VMOVAPDZrrkz:{ *:[v8f64] } (COPY_TO_REGCLASS:{ *:[v8i1] } VK2WM:{ *:[v2i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8f64] } (IMPLICIT_DEF:{ *:[v8f64] }), VR128X:{ *:[v2f64] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48356 /* 135538 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48357 /* 135541 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48358 /* 135545 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48359 /* 135550 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48360 /* 135552 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48361 /* 135555 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48362 /* 135559 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48363 /* 135564 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48364 /* 135567 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48365 /* 135571 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48366 /* 135574 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48367 /* 135579 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48368 /* 135584 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48369 /* 135589 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48370 /* 135592 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48371 /* 135596 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48372 /* 135601 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48373 /* 135605 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48374 /* 135610 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48375 /* 135613 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48376 /* 135617 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48377 /* 135622 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48378 /* 135625 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48379 /* 135628 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48380 /* 135630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48381 /* 135633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48382 /* 135635 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48383 /* 135642 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48384 /* 135647 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48385 /* 135652 */ // GIR_Coverage, 19785,
48386 /* 135652 */ GIR_EraseRootFromParent_Done,
48387 /* 135653 */ // Label 3006: @135653
48388 /* 135653 */ GIM_Try, /*On fail goto*//*Label 3007*/ GIMT_Encode4(135802), // Rule ID 19787 //
48389 /* 135658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48390 /* 135661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48391 /* 135665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48392 /* 135669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48393 /* 135673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48394 /* 135677 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48395 /* 135683 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48396 /* 135685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48397 /* 135687 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, immAllZerosV:{ *:[v2i64] }) => (EXTRACT_SUBREG:{ *:[v2i64] } (VMOVDQA64Zrrkz:{ *:[v8i64] } (COPY_TO_REGCLASS:{ *:[v8i1] } VK2WM:{ *:[v2i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48398 /* 135687 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48399 /* 135690 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48400 /* 135694 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48401 /* 135699 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48402 /* 135701 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48403 /* 135704 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48404 /* 135708 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48405 /* 135713 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48406 /* 135716 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48407 /* 135720 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48408 /* 135723 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48409 /* 135728 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48410 /* 135733 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48411 /* 135738 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48412 /* 135741 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48413 /* 135745 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48414 /* 135750 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48415 /* 135754 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48416 /* 135759 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48417 /* 135762 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48418 /* 135766 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48419 /* 135771 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48420 /* 135774 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48421 /* 135777 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48422 /* 135779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48423 /* 135782 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48424 /* 135784 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48425 /* 135791 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48426 /* 135796 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48427 /* 135801 */ // GIR_Coverage, 19787,
48428 /* 135801 */ GIR_EraseRootFromParent_Done,
48429 /* 135802 */ // Label 3007: @135802
48430 /* 135802 */ GIM_Try, /*On fail goto*//*Label 3008*/ GIMT_Encode4(135839), // Rule ID 4494 //
48431 /* 135807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48432 /* 135810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48433 /* 135814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48434 /* 135818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48435 /* 135822 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48436 /* 135826 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src0) => (VMOVAPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1)
48437 /* 135826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrk),
48438 /* 135829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48439 /* 135831 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48440 /* 135833 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48441 /* 135835 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48442 /* 135837 */ GIR_RootConstrainSelectedInstOperands,
48443 /* 135838 */ // GIR_Coverage, 4494,
48444 /* 135838 */ GIR_EraseRootFromParent_Done,
48445 /* 135839 */ // Label 3008: @135839
48446 /* 135839 */ GIM_Try, /*On fail goto*//*Label 3009*/ GIMT_Encode4(135876), // Rule ID 4548 //
48447 /* 135844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48448 /* 135847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48449 /* 135851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48450 /* 135855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48451 /* 135859 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48452 /* 135863 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src0) => (VMOVDQA64Z128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1)
48453 /* 135863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrk),
48454 /* 135866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48455 /* 135868 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48456 /* 135870 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48457 /* 135872 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48458 /* 135874 */ GIR_RootConstrainSelectedInstOperands,
48459 /* 135875 */ // GIR_Coverage, 4548,
48460 /* 135875 */ GIR_EraseRootFromParent_Done,
48461 /* 135876 */ // Label 3009: @135876
48462 /* 135876 */ GIM_Try, /*On fail goto*//*Label 3010*/ GIMT_Encode4(136069), // Rule ID 19784 //
48463 /* 135881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48464 /* 135884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48465 /* 135888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48466 /* 135892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48467 /* 135896 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48468 /* 135900 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src0) => (EXTRACT_SUBREG:{ *:[v2f64] } (VMOVAPDZrrk:{ *:[v8f64] } (INSERT_SUBREG:{ *:[v8f64] } (IMPLICIT_DEF:{ *:[v8f64] }), VR128X:{ *:[v2f64] }:$src0, sub_xmm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v8i1] } VK2WM:{ *:[v2i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8f64] } (IMPLICIT_DEF:{ *:[v8f64] }), VR128X:{ *:[v2f64] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48469 /* 135900 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48470 /* 135903 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48471 /* 135907 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48472 /* 135912 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48473 /* 135914 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48474 /* 135917 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48475 /* 135921 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48476 /* 135926 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48477 /* 135929 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48478 /* 135933 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48479 /* 135936 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48480 /* 135941 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48481 /* 135946 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48482 /* 135951 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48483 /* 135954 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48484 /* 135958 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48485 /* 135963 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48486 /* 135967 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48487 /* 135972 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48488 /* 135975 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48489 /* 135979 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48490 /* 135984 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48491 /* 135986 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48492 /* 135989 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48493 /* 135993 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48494 /* 135998 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48495 /* 136001 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48496 /* 136005 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48497 /* 136008 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48498 /* 136013 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48499 /* 136018 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48500 /* 136023 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48501 /* 136026 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
48502 /* 136030 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48503 /* 136035 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48504 /* 136038 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48505 /* 136041 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48506 /* 136044 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48507 /* 136046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48508 /* 136049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48509 /* 136051 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48510 /* 136058 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48511 /* 136063 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48512 /* 136068 */ // GIR_Coverage, 19784,
48513 /* 136068 */ GIR_EraseRootFromParent_Done,
48514 /* 136069 */ // Label 3010: @136069
48515 /* 136069 */ GIM_Try, /*On fail goto*//*Label 3011*/ GIMT_Encode4(136262), // Rule ID 19786 //
48516 /* 136074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48517 /* 136077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48518 /* 136081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
48519 /* 136085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48520 /* 136089 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48521 /* 136093 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src0) => (EXTRACT_SUBREG:{ *:[v2i64] } (VMOVDQA64Zrrk:{ *:[v8i64] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src0, sub_xmm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v8i1] } VK2WM:{ *:[v2i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48522 /* 136093 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48523 /* 136096 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48524 /* 136100 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48525 /* 136105 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48526 /* 136107 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48527 /* 136110 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48528 /* 136114 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48529 /* 136119 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48530 /* 136122 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48531 /* 136126 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48532 /* 136129 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48533 /* 136134 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48534 /* 136139 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48535 /* 136144 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48536 /* 136147 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48537 /* 136151 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48538 /* 136156 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48539 /* 136160 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48540 /* 136165 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48541 /* 136168 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48542 /* 136172 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48543 /* 136177 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48544 /* 136179 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
48545 /* 136182 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48546 /* 136186 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48547 /* 136191 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48548 /* 136194 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48549 /* 136198 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48550 /* 136201 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48551 /* 136206 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48552 /* 136211 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48553 /* 136216 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48554 /* 136219 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
48555 /* 136223 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48556 /* 136228 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48557 /* 136231 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48558 /* 136234 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48559 /* 136237 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48560 /* 136239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48561 /* 136242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48562 /* 136244 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48563 /* 136251 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48564 /* 136256 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48565 /* 136261 */ // GIR_Coverage, 19786,
48566 /* 136261 */ GIR_EraseRootFromParent_Done,
48567 /* 136262 */ // Label 3011: @136262
48568 /* 136262 */ GIM_Reject,
48569 /* 136263 */ // Label 3003: @136263
48570 /* 136263 */ GIM_Reject,
48571 /* 136264 */ // Label 2991: @136264
48572 /* 136264 */ GIM_Try, /*On fail goto*//*Label 3012*/ GIMT_Encode4(137127),
48573 /* 136269 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
48574 /* 136272 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
48575 /* 136275 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
48576 /* 136278 */ GIM_Try, /*On fail goto*//*Label 3013*/ GIMT_Encode4(136323), // Rule ID 4474 //
48577 /* 136283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48578 /* 136286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48579 /* 136290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48580 /* 136294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48581 /* 136298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48582 /* 136302 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48583 /* 136308 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48584 /* 136310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48585 /* 136312 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src, immAllZerosV:{ *:[v4f32] }) => (VMOVAPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
48586 /* 136312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrkz),
48587 /* 136315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48588 /* 136317 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48589 /* 136319 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48590 /* 136321 */ GIR_RootConstrainSelectedInstOperands,
48591 /* 136322 */ // GIR_Coverage, 4474,
48592 /* 136322 */ GIR_EraseRootFromParent_Done,
48593 /* 136323 */ // Label 3013: @136323
48594 /* 136323 */ GIM_Try, /*On fail goto*//*Label 3014*/ GIMT_Encode4(136368), // Rule ID 4532 //
48595 /* 136328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48596 /* 136331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48597 /* 136335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48598 /* 136339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48599 /* 136343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48600 /* 136347 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48601 /* 136353 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48602 /* 136355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48603 /* 136357 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src, immAllZerosV:{ *:[v4i32] }) => (VMOVDQA32Z128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
48604 /* 136357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrkz),
48605 /* 136360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48606 /* 136362 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48607 /* 136364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48608 /* 136366 */ GIR_RootConstrainSelectedInstOperands,
48609 /* 136367 */ // GIR_Coverage, 4532,
48610 /* 136367 */ GIR_EraseRootFromParent_Done,
48611 /* 136368 */ // Label 3014: @136368
48612 /* 136368 */ GIM_Try, /*On fail goto*//*Label 3015*/ GIMT_Encode4(136517), // Rule ID 19777 //
48613 /* 136373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48614 /* 136376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48615 /* 136380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48616 /* 136384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48617 /* 136388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48618 /* 136392 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48619 /* 136398 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48620 /* 136400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48621 /* 136402 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, immAllZerosV:{ *:[v4f32] }) => (EXTRACT_SUBREG:{ *:[v4f32] } (VMOVAPSZrrkz:{ *:[v16f32] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4WM:{ *:[v4i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16f32] } (IMPLICIT_DEF:{ *:[v16f32] }), VR128X:{ *:[v4f32] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48622 /* 136402 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48623 /* 136405 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48624 /* 136409 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48625 /* 136414 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48626 /* 136416 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48627 /* 136419 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48628 /* 136423 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48629 /* 136428 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48630 /* 136431 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48631 /* 136435 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48632 /* 136438 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48633 /* 136443 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48634 /* 136448 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48635 /* 136453 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48636 /* 136456 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48637 /* 136460 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48638 /* 136465 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48639 /* 136469 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48640 /* 136474 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48641 /* 136477 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
48642 /* 136481 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48643 /* 136486 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48644 /* 136489 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48645 /* 136492 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48646 /* 136494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48647 /* 136497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48648 /* 136499 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48649 /* 136506 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48650 /* 136511 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48651 /* 136516 */ // GIR_Coverage, 19777,
48652 /* 136516 */ GIR_EraseRootFromParent_Done,
48653 /* 136517 */ // Label 3015: @136517
48654 /* 136517 */ GIM_Try, /*On fail goto*//*Label 3016*/ GIMT_Encode4(136666), // Rule ID 19779 //
48655 /* 136522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48656 /* 136525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48657 /* 136529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48658 /* 136533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48659 /* 136537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48660 /* 136541 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48661 /* 136547 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48662 /* 136549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48663 /* 136551 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, immAllZerosV:{ *:[v4i32] }) => (EXTRACT_SUBREG:{ *:[v4i32] } (VMOVDQA32Zrrkz:{ *:[v16i32] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4WM:{ *:[v4i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48664 /* 136551 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48665 /* 136554 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48666 /* 136558 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48667 /* 136563 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48668 /* 136565 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48669 /* 136568 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48670 /* 136572 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48671 /* 136577 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48672 /* 136580 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48673 /* 136584 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48674 /* 136587 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48675 /* 136592 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48676 /* 136597 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48677 /* 136602 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48678 /* 136605 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48679 /* 136609 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48680 /* 136614 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48681 /* 136618 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48682 /* 136623 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48683 /* 136626 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48684 /* 136630 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48685 /* 136635 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48686 /* 136638 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48687 /* 136641 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48688 /* 136643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48689 /* 136646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48690 /* 136648 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48691 /* 136655 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48692 /* 136660 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48693 /* 136665 */ // GIR_Coverage, 19779,
48694 /* 136665 */ GIR_EraseRootFromParent_Done,
48695 /* 136666 */ // Label 3016: @136666
48696 /* 136666 */ GIM_Try, /*On fail goto*//*Label 3017*/ GIMT_Encode4(136703), // Rule ID 4476 //
48697 /* 136671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48698 /* 136674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48699 /* 136678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48700 /* 136682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48701 /* 136686 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48702 /* 136690 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src0) => (VMOVAPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1)
48703 /* 136690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrk),
48704 /* 136693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48705 /* 136695 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48706 /* 136697 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48707 /* 136699 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48708 /* 136701 */ GIR_RootConstrainSelectedInstOperands,
48709 /* 136702 */ // GIR_Coverage, 4476,
48710 /* 136702 */ GIR_EraseRootFromParent_Done,
48711 /* 136703 */ // Label 3017: @136703
48712 /* 136703 */ GIM_Try, /*On fail goto*//*Label 3018*/ GIMT_Encode4(136740), // Rule ID 4533 //
48713 /* 136708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48714 /* 136711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48715 /* 136715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48716 /* 136719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48717 /* 136723 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48718 /* 136727 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src0) => (VMOVDQA32Z128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1)
48719 /* 136727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrk),
48720 /* 136730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48721 /* 136732 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48722 /* 136734 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48723 /* 136736 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48724 /* 136738 */ GIR_RootConstrainSelectedInstOperands,
48725 /* 136739 */ // GIR_Coverage, 4533,
48726 /* 136739 */ GIR_EraseRootFromParent_Done,
48727 /* 136740 */ // Label 3018: @136740
48728 /* 136740 */ GIM_Try, /*On fail goto*//*Label 3019*/ GIMT_Encode4(136933), // Rule ID 19776 //
48729 /* 136745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48730 /* 136748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48731 /* 136752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48732 /* 136756 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48733 /* 136760 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48734 /* 136764 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src0) => (EXTRACT_SUBREG:{ *:[v4f32] } (VMOVAPSZrrk:{ *:[v16f32] } (INSERT_SUBREG:{ *:[v16f32] } (IMPLICIT_DEF:{ *:[v16f32] }), VR128X:{ *:[v4f32] }:$src0, sub_xmm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4WM:{ *:[v4i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16f32] } (IMPLICIT_DEF:{ *:[v16f32] }), VR128X:{ *:[v4f32] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48735 /* 136764 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48736 /* 136767 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48737 /* 136771 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48738 /* 136776 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48739 /* 136778 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48740 /* 136781 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48741 /* 136785 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48742 /* 136790 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48743 /* 136793 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48744 /* 136797 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48745 /* 136800 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48746 /* 136805 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48747 /* 136810 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48748 /* 136815 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48749 /* 136818 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48750 /* 136822 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48751 /* 136827 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48752 /* 136831 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48753 /* 136836 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48754 /* 136839 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48755 /* 136843 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48756 /* 136848 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48757 /* 136850 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48758 /* 136853 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48759 /* 136857 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48760 /* 136862 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48761 /* 136865 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48762 /* 136869 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48763 /* 136872 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48764 /* 136877 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48765 /* 136882 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48766 /* 136887 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48767 /* 136890 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
48768 /* 136894 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48769 /* 136899 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48770 /* 136902 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48771 /* 136905 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48772 /* 136908 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48773 /* 136910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48774 /* 136913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48775 /* 136915 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48776 /* 136922 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48777 /* 136927 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48778 /* 136932 */ // GIR_Coverage, 19776,
48779 /* 136932 */ GIR_EraseRootFromParent_Done,
48780 /* 136933 */ // Label 3019: @136933
48781 /* 136933 */ GIM_Try, /*On fail goto*//*Label 3020*/ GIMT_Encode4(137126), // Rule ID 19778 //
48782 /* 136938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48783 /* 136941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48784 /* 136945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48785 /* 136949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48786 /* 136953 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48787 /* 136957 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src0) => (EXTRACT_SUBREG:{ *:[v4i32] } (VMOVDQA32Zrrk:{ *:[v16i32] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src0, sub_xmm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK4WM:{ *:[v4i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
48788 /* 136957 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48789 /* 136960 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48790 /* 136964 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48791 /* 136969 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48792 /* 136971 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48793 /* 136974 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48794 /* 136978 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48795 /* 136983 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48796 /* 136986 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48797 /* 136990 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48798 /* 136993 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48799 /* 136998 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48800 /* 137003 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48801 /* 137008 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48802 /* 137011 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48803 /* 137015 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48804 /* 137020 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48805 /* 137024 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48806 /* 137029 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48807 /* 137032 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48808 /* 137036 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48809 /* 137041 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48810 /* 137043 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48811 /* 137046 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48812 /* 137050 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48813 /* 137055 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48814 /* 137058 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48815 /* 137062 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48816 /* 137065 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48817 /* 137070 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48818 /* 137075 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48819 /* 137080 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48820 /* 137083 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
48821 /* 137087 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48822 /* 137092 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48823 /* 137095 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48824 /* 137098 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48825 /* 137101 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48826 /* 137103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48827 /* 137106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48828 /* 137108 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48829 /* 137115 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48830 /* 137120 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48831 /* 137125 */ // GIR_Coverage, 19778,
48832 /* 137125 */ GIR_EraseRootFromParent_Done,
48833 /* 137126 */ // Label 3020: @137126
48834 /* 137126 */ GIM_Reject,
48835 /* 137127 */ // Label 3012: @137127
48836 /* 137127 */ GIM_Reject,
48837 /* 137128 */ // Label 2992: @137128
48838 /* 137128 */ GIM_Try, /*On fail goto*//*Label 3021*/ GIMT_Encode4(137907),
48839 /* 137133 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
48840 /* 137136 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
48841 /* 137139 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
48842 /* 137142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48843 /* 137146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48844 /* 137150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48845 /* 137154 */ GIM_Try, /*On fail goto*//*Label 3022*/ GIMT_Encode4(137187), // Rule ID 4487 //
48846 /* 137159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48847 /* 137162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48848 /* 137166 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48849 /* 137172 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48850 /* 137174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48851 /* 137176 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src, immAllZerosV:{ *:[v4f64] }) => (VMOVAPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
48852 /* 137176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrkz),
48853 /* 137179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48854 /* 137181 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48855 /* 137183 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48856 /* 137185 */ GIR_RootConstrainSelectedInstOperands,
48857 /* 137186 */ // GIR_Coverage, 4487,
48858 /* 137186 */ GIR_EraseRootFromParent_Done,
48859 /* 137187 */ // Label 3022: @137187
48860 /* 137187 */ GIM_Try, /*On fail goto*//*Label 3023*/ GIMT_Encode4(137220), // Rule ID 4541 //
48861 /* 137192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48862 /* 137195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48863 /* 137199 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48864 /* 137205 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48865 /* 137207 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48866 /* 137209 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src, immAllZerosV:{ *:[v4i64] }) => (VMOVDQA64Z256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
48867 /* 137209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrkz),
48868 /* 137212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48869 /* 137214 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48870 /* 137216 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48871 /* 137218 */ GIR_RootConstrainSelectedInstOperands,
48872 /* 137219 */ // GIR_Coverage, 4541,
48873 /* 137219 */ GIR_EraseRootFromParent_Done,
48874 /* 137220 */ // Label 3023: @137220
48875 /* 137220 */ GIM_Try, /*On fail goto*//*Label 3024*/ GIMT_Encode4(137357), // Rule ID 19789 //
48876 /* 137225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48877 /* 137228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48878 /* 137232 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48879 /* 137238 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48880 /* 137240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48881 /* 137242 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, immAllZerosV:{ *:[v4f64] }) => (EXTRACT_SUBREG:{ *:[v4f64] } (VMOVAPDZrrkz:{ *:[v8f64] } (COPY_TO_REGCLASS:{ *:[v8i1] } VK4WM:{ *:[v4i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8f64] } (IMPLICIT_DEF:{ *:[v8f64] }), VR256X:{ *:[v4f64] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
48882 /* 137242 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48883 /* 137245 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48884 /* 137249 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48885 /* 137254 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48886 /* 137256 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48887 /* 137259 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48888 /* 137263 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48889 /* 137268 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48890 /* 137271 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48891 /* 137275 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48892 /* 137278 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48893 /* 137283 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48894 /* 137288 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48895 /* 137293 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48896 /* 137296 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48897 /* 137300 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48898 /* 137305 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48899 /* 137309 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48900 /* 137314 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48901 /* 137317 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
48902 /* 137321 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48903 /* 137326 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48904 /* 137329 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48905 /* 137332 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48906 /* 137334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48907 /* 137337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48908 /* 137339 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48909 /* 137346 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48910 /* 137351 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48911 /* 137356 */ // GIR_Coverage, 19789,
48912 /* 137356 */ GIR_EraseRootFromParent_Done,
48913 /* 137357 */ // Label 3024: @137357
48914 /* 137357 */ GIM_Try, /*On fail goto*//*Label 3025*/ GIMT_Encode4(137494), // Rule ID 19791 //
48915 /* 137362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48916 /* 137365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48917 /* 137369 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48918 /* 137375 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48919 /* 137377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48920 /* 137379 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, immAllZerosV:{ *:[v4i64] }) => (EXTRACT_SUBREG:{ *:[v4i64] } (VMOVDQA64Zrrkz:{ *:[v8i64] } (COPY_TO_REGCLASS:{ *:[v8i1] } VK4WM:{ *:[v4i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
48921 /* 137379 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
48922 /* 137382 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48923 /* 137386 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48924 /* 137391 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48925 /* 137393 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
48926 /* 137396 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48927 /* 137400 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48928 /* 137405 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48929 /* 137408 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48930 /* 137412 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48931 /* 137415 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48932 /* 137420 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48933 /* 137425 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48934 /* 137430 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
48935 /* 137433 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48936 /* 137437 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48937 /* 137442 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48938 /* 137446 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
48939 /* 137451 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
48940 /* 137454 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
48941 /* 137458 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48942 /* 137463 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48943 /* 137466 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48944 /* 137469 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48945 /* 137471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48946 /* 137474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48947 /* 137476 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48948 /* 137483 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48949 /* 137488 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48950 /* 137493 */ // GIR_Coverage, 19791,
48951 /* 137493 */ GIR_EraseRootFromParent_Done,
48952 /* 137494 */ // Label 3025: @137494
48953 /* 137494 */ GIM_Try, /*On fail goto*//*Label 3026*/ GIMT_Encode4(137519), // Rule ID 4489 //
48954 /* 137499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48955 /* 137502 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48956 /* 137506 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src0) => (VMOVAPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1)
48957 /* 137506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrk),
48958 /* 137509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48959 /* 137511 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48960 /* 137513 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48961 /* 137515 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48962 /* 137517 */ GIR_RootConstrainSelectedInstOperands,
48963 /* 137518 */ // GIR_Coverage, 4489,
48964 /* 137518 */ GIR_EraseRootFromParent_Done,
48965 /* 137519 */ // Label 3026: @137519
48966 /* 137519 */ GIM_Try, /*On fail goto*//*Label 3027*/ GIMT_Encode4(137544), // Rule ID 4543 //
48967 /* 137524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48968 /* 137527 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48969 /* 137531 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src0) => (VMOVDQA64Z256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1)
48970 /* 137531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrk),
48971 /* 137534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48972 /* 137536 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48973 /* 137538 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48974 /* 137540 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48975 /* 137542 */ GIR_RootConstrainSelectedInstOperands,
48976 /* 137543 */ // GIR_Coverage, 4543,
48977 /* 137543 */ GIR_EraseRootFromParent_Done,
48978 /* 137544 */ // Label 3027: @137544
48979 /* 137544 */ GIM_Try, /*On fail goto*//*Label 3028*/ GIMT_Encode4(137725), // Rule ID 19788 //
48980 /* 137549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48981 /* 137552 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48982 /* 137556 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src0) => (EXTRACT_SUBREG:{ *:[v4f64] } (VMOVAPDZrrk:{ *:[v8f64] } (INSERT_SUBREG:{ *:[v8f64] } (IMPLICIT_DEF:{ *:[v8f64] }), VR256X:{ *:[v4f64] }:$src0, sub_ymm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v8i1] } VK4WM:{ *:[v4i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8f64] } (IMPLICIT_DEF:{ *:[v8f64] }), VR256X:{ *:[v4f64] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
48983 /* 137556 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
48984 /* 137559 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48985 /* 137563 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48986 /* 137568 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48987 /* 137570 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
48988 /* 137573 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48989 /* 137577 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48990 /* 137582 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48991 /* 137585 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48992 /* 137589 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48993 /* 137592 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48994 /* 137597 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48995 /* 137602 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48996 /* 137607 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
48997 /* 137610 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48998 /* 137614 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48999 /* 137619 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49000 /* 137623 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49001 /* 137628 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49002 /* 137631 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49003 /* 137635 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49004 /* 137640 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49005 /* 137642 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
49006 /* 137645 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49007 /* 137649 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49008 /* 137654 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49009 /* 137657 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49010 /* 137661 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
49011 /* 137664 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49012 /* 137669 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49013 /* 137674 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49014 /* 137679 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49015 /* 137682 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
49016 /* 137686 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49017 /* 137691 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49018 /* 137694 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49019 /* 137697 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49020 /* 137700 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49021 /* 137702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49022 /* 137705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49023 /* 137707 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49024 /* 137714 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49025 /* 137719 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49026 /* 137724 */ // GIR_Coverage, 19788,
49027 /* 137724 */ GIR_EraseRootFromParent_Done,
49028 /* 137725 */ // Label 3028: @137725
49029 /* 137725 */ GIM_Try, /*On fail goto*//*Label 3029*/ GIMT_Encode4(137906), // Rule ID 19790 //
49030 /* 137730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49031 /* 137733 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49032 /* 137737 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src0) => (EXTRACT_SUBREG:{ *:[v4i64] } (VMOVDQA64Zrrk:{ *:[v8i64] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src0, sub_ymm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v8i1] } VK4WM:{ *:[v4i1] }:$mask, VK8WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
49033 /* 137737 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
49034 /* 137740 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49035 /* 137744 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49036 /* 137749 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49037 /* 137751 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
49038 /* 137754 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49039 /* 137758 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49040 /* 137763 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49041 /* 137766 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49042 /* 137770 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
49043 /* 137773 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49044 /* 137778 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49045 /* 137783 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49046 /* 137788 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
49047 /* 137791 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49048 /* 137795 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49049 /* 137800 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49050 /* 137804 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49051 /* 137809 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49052 /* 137812 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49053 /* 137816 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49054 /* 137821 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49055 /* 137823 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
49056 /* 137826 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49057 /* 137830 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49058 /* 137835 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49059 /* 137838 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49060 /* 137842 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
49061 /* 137845 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49062 /* 137850 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49063 /* 137855 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49064 /* 137860 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49065 /* 137863 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
49066 /* 137867 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49067 /* 137872 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49068 /* 137875 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49069 /* 137878 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49070 /* 137881 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49071 /* 137883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49072 /* 137886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49073 /* 137888 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49074 /* 137895 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49075 /* 137900 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49076 /* 137905 */ // GIR_Coverage, 19790,
49077 /* 137905 */ GIR_EraseRootFromParent_Done,
49078 /* 137906 */ // Label 3029: @137906
49079 /* 137906 */ GIM_Reject,
49080 /* 137907 */ // Label 3021: @137907
49081 /* 137907 */ GIM_Reject,
49082 /* 137908 */ // Label 2993: @137908
49083 /* 137908 */ GIM_Try, /*On fail goto*//*Label 3030*/ GIMT_Encode4(139065),
49084 /* 137913 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
49085 /* 137916 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
49086 /* 137919 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
49087 /* 137922 */ GIM_Try, /*On fail goto*//*Label 3031*/ GIMT_Encode4(138001), // Rule ID 19875 //
49088 /* 137927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49089 /* 137930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49090 /* 137934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49091 /* 137938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49092 /* 137942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49093 /* 137946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49094 /* 137949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49095 /* 137953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49096 /* 137957 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49097 /* 137961 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49098 /* 137965 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49099 /* 137971 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49100 /* 137973 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49101 /* 137975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49102 /* 137982 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rmkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
49103 /* 137982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
49104 /* 137985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49105 /* 137987 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49106 /* 137989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49107 /* 137993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49108 /* 137999 */ GIR_RootConstrainSelectedInstOperands,
49109 /* 138000 */ // GIR_Coverage, 19875,
49110 /* 138000 */ GIR_EraseRootFromParent_Done,
49111 /* 138001 */ // Label 3031: @138001
49112 /* 138001 */ GIM_Try, /*On fail goto*//*Label 3032*/ GIMT_Encode4(138076), // Rule ID 19877 //
49113 /* 138006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49114 /* 138009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49115 /* 138013 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49116 /* 138017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49117 /* 138021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49118 /* 138025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49119 /* 138028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49120 /* 138032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49121 /* 138036 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49122 /* 138040 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49123 /* 138046 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49124 /* 138048 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49125 /* 138050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49126 /* 138057 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rmkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
49127 /* 138057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
49128 /* 138060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49129 /* 138062 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49130 /* 138064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49131 /* 138068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49132 /* 138074 */ GIR_RootConstrainSelectedInstOperands,
49133 /* 138075 */ // GIR_Coverage, 19877,
49134 /* 138075 */ GIR_EraseRootFromParent_Done,
49135 /* 138076 */ // Label 3032: @138076
49136 /* 138076 */ GIM_Try, /*On fail goto*//*Label 3033*/ GIMT_Encode4(138148), // Rule ID 19874 //
49137 /* 138081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49138 /* 138084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49139 /* 138088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49140 /* 138092 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49141 /* 138096 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49142 /* 138100 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49143 /* 138103 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49144 /* 138107 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49145 /* 138111 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49146 /* 138115 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49147 /* 138119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49148 /* 138121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49149 /* 138128 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rmk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
49150 /* 138128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
49151 /* 138131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49152 /* 138133 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49153 /* 138135 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49154 /* 138137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49155 /* 138141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49156 /* 138146 */ GIR_RootConstrainSelectedInstOperands,
49157 /* 138147 */ // GIR_Coverage, 19874,
49158 /* 138147 */ GIR_EraseRootFromParent_Done,
49159 /* 138148 */ // Label 3033: @138148
49160 /* 138148 */ GIM_Try, /*On fail goto*//*Label 3034*/ GIMT_Encode4(138216), // Rule ID 19876 //
49161 /* 138153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49162 /* 138156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49163 /* 138160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49164 /* 138164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49165 /* 138168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49166 /* 138172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49167 /* 138175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49168 /* 138179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49169 /* 138183 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49170 /* 138187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49171 /* 138189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49172 /* 138196 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rmk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, addr:{ *:[iPTR] }:$src)
49173 /* 138196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
49174 /* 138199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49175 /* 138201 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49176 /* 138203 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49177 /* 138205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49178 /* 138209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49179 /* 138214 */ GIR_RootConstrainSelectedInstOperands,
49180 /* 138215 */ // GIR_Coverage, 19876,
49181 /* 138215 */ GIR_EraseRootFromParent_Done,
49182 /* 138216 */ // Label 3034: @138216
49183 /* 138216 */ GIM_Try, /*On fail goto*//*Label 3035*/ GIMT_Encode4(138261), // Rule ID 4574 //
49184 /* 138221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49185 /* 138224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49186 /* 138228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49187 /* 138232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49188 /* 138236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49189 /* 138240 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49190 /* 138246 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49191 /* 138248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49192 /* 138250 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src, immAllZerosV:{ *:[v8i16] }) => (VMOVDQU16Z128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
49193 /* 138250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
49194 /* 138253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49195 /* 138255 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49196 /* 138257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49197 /* 138259 */ GIR_RootConstrainSelectedInstOperands,
49198 /* 138260 */ // GIR_Coverage, 4574,
49199 /* 138260 */ GIR_EraseRootFromParent_Done,
49200 /* 138261 */ // Label 3035: @138261
49201 /* 138261 */ GIM_Try, /*On fail goto*//*Label 3036*/ GIMT_Encode4(138410), // Rule ID 19797 //
49202 /* 138266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49203 /* 138269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49204 /* 138273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49205 /* 138277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49206 /* 138281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49207 /* 138285 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49208 /* 138291 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49209 /* 138293 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49210 /* 138295 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, immAllZerosV:{ *:[v8i16] }) => (EXTRACT_SUBREG:{ *:[v8i16] } (VMOVDQU16Zrrkz:{ *:[v32i16] } (COPY_TO_REGCLASS:{ *:[v32i1] } VK8WM:{ *:[v8i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
49211 /* 138295 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
49212 /* 138298 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49213 /* 138302 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49214 /* 138307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49215 /* 138309 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49216 /* 138312 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49217 /* 138316 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49218 /* 138321 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49219 /* 138324 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49220 /* 138328 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
49221 /* 138331 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49222 /* 138336 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49223 /* 138341 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49224 /* 138346 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
49225 /* 138349 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49226 /* 138353 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49227 /* 138358 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49228 /* 138362 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49229 /* 138367 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49230 /* 138370 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49231 /* 138374 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49232 /* 138379 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49233 /* 138382 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49234 /* 138385 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49235 /* 138387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49236 /* 138390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49237 /* 138392 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49238 /* 138399 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49239 /* 138404 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49240 /* 138409 */ // GIR_Coverage, 19797,
49241 /* 138409 */ GIR_EraseRootFromParent_Done,
49242 /* 138410 */ // Label 3036: @138410
49243 /* 138410 */ GIM_Try, /*On fail goto*//*Label 3037*/ GIMT_Encode4(138559), // Rule ID 19801 //
49244 /* 138415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49245 /* 138418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49246 /* 138422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49247 /* 138426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49248 /* 138430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49249 /* 138434 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49250 /* 138440 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49251 /* 138442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49252 /* 138444 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, immAllZerosV:{ *:[v8f16] }) => (EXTRACT_SUBREG:{ *:[v8f16] } (VMOVDQU16Zrrkz:{ *:[v32f16] } (COPY_TO_REGCLASS:{ *:[v32i1] } VK8WM:{ *:[v8i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32f16] } (IMPLICIT_DEF:{ *:[v32f16] }), VR128X:{ *:[v8f16] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
49253 /* 138444 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
49254 /* 138447 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49255 /* 138451 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49256 /* 138456 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49257 /* 138458 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49258 /* 138461 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49259 /* 138465 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49260 /* 138470 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49261 /* 138473 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49262 /* 138477 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
49263 /* 138480 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49264 /* 138485 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49265 /* 138490 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49266 /* 138495 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
49267 /* 138498 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49268 /* 138502 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49269 /* 138507 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49270 /* 138511 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49271 /* 138516 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49272 /* 138519 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
49273 /* 138523 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49274 /* 138528 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49275 /* 138531 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49276 /* 138534 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49277 /* 138536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49278 /* 138539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49279 /* 138541 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49280 /* 138548 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49281 /* 138553 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49282 /* 138558 */ // GIR_Coverage, 19801,
49283 /* 138558 */ GIR_EraseRootFromParent_Done,
49284 /* 138559 */ // Label 3037: @138559
49285 /* 138559 */ GIM_Try, /*On fail goto*//*Label 3038*/ GIMT_Encode4(138604), // Rule ID 19873 //
49286 /* 138564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49287 /* 138567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49288 /* 138571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49289 /* 138575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49290 /* 138579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49291 /* 138583 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49292 /* 138589 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49293 /* 138591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49294 /* 138593 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rrkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
49295 /* 138593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
49296 /* 138596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49297 /* 138598 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49298 /* 138600 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49299 /* 138602 */ GIR_RootConstrainSelectedInstOperands,
49300 /* 138603 */ // GIR_Coverage, 19873,
49301 /* 138603 */ GIR_EraseRootFromParent_Done,
49302 /* 138604 */ // Label 3038: @138604
49303 /* 138604 */ GIM_Try, /*On fail goto*//*Label 3039*/ GIMT_Encode4(138641), // Rule ID 4575 //
49304 /* 138609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49305 /* 138612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49306 /* 138616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49307 /* 138620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49308 /* 138624 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49309 /* 138628 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1)
49310 /* 138628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
49311 /* 138631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49312 /* 138633 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49313 /* 138635 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49314 /* 138637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49315 /* 138639 */ GIR_RootConstrainSelectedInstOperands,
49316 /* 138640 */ // GIR_Coverage, 4575,
49317 /* 138640 */ GIR_EraseRootFromParent_Done,
49318 /* 138641 */ // Label 3039: @138641
49319 /* 138641 */ GIM_Try, /*On fail goto*//*Label 3040*/ GIMT_Encode4(138834), // Rule ID 19796 //
49320 /* 138646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49321 /* 138649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49322 /* 138653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49323 /* 138657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49324 /* 138661 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49325 /* 138665 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src0) => (EXTRACT_SUBREG:{ *:[v8i16] } (VMOVDQU16Zrrk:{ *:[v32i16] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src0, sub_xmm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v32i1] } VK8WM:{ *:[v8i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
49326 /* 138665 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
49327 /* 138668 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49328 /* 138672 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49329 /* 138677 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49330 /* 138679 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
49331 /* 138682 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49332 /* 138686 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49333 /* 138691 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49334 /* 138694 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49335 /* 138698 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
49336 /* 138701 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49337 /* 138706 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49338 /* 138711 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49339 /* 138716 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
49340 /* 138719 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49341 /* 138723 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49342 /* 138728 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49343 /* 138732 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49344 /* 138737 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49345 /* 138740 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49346 /* 138744 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49347 /* 138749 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49348 /* 138751 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
49349 /* 138754 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49350 /* 138758 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49351 /* 138763 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49352 /* 138766 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49353 /* 138770 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
49354 /* 138773 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49355 /* 138778 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49356 /* 138783 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49357 /* 138788 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49358 /* 138791 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49359 /* 138795 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49360 /* 138800 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49361 /* 138803 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49362 /* 138806 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49363 /* 138809 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49364 /* 138811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49365 /* 138814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49366 /* 138816 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49367 /* 138823 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49368 /* 138828 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49369 /* 138833 */ // GIR_Coverage, 19796,
49370 /* 138833 */ GIR_EraseRootFromParent_Done,
49371 /* 138834 */ // Label 3040: @138834
49372 /* 138834 */ GIM_Try, /*On fail goto*//*Label 3041*/ GIMT_Encode4(139027), // Rule ID 19800 //
49373 /* 138839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49374 /* 138842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49375 /* 138846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49376 /* 138850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49377 /* 138854 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49378 /* 138858 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src0) => (EXTRACT_SUBREG:{ *:[v8f16] } (VMOVDQU16Zrrk:{ *:[v32f16] } (INSERT_SUBREG:{ *:[v32f16] } (IMPLICIT_DEF:{ *:[v32f16] }), VR128X:{ *:[v8f16] }:$src0, sub_xmm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v32i1] } VK8WM:{ *:[v8i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32f16] } (IMPLICIT_DEF:{ *:[v32f16] }), VR128X:{ *:[v8f16] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
49379 /* 138858 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
49380 /* 138861 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49381 /* 138865 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49382 /* 138870 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49383 /* 138872 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
49384 /* 138875 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49385 /* 138879 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49386 /* 138884 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49387 /* 138887 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49388 /* 138891 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
49389 /* 138894 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49390 /* 138899 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49391 /* 138904 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49392 /* 138909 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
49393 /* 138912 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49394 /* 138916 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49395 /* 138921 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49396 /* 138925 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
49397 /* 138930 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
49398 /* 138933 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49399 /* 138937 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49400 /* 138942 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49401 /* 138944 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
49402 /* 138947 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49403 /* 138951 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49404 /* 138956 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49405 /* 138959 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49406 /* 138963 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
49407 /* 138966 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49408 /* 138971 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49409 /* 138976 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49410 /* 138981 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
49411 /* 138984 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
49412 /* 138988 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49413 /* 138993 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49414 /* 138996 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49415 /* 138999 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49416 /* 139002 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49417 /* 139004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49418 /* 139007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49419 /* 139009 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49420 /* 139016 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49421 /* 139021 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49422 /* 139026 */ // GIR_Coverage, 19800,
49423 /* 139026 */ GIR_EraseRootFromParent_Done,
49424 /* 139027 */ // Label 3041: @139027
49425 /* 139027 */ GIM_Try, /*On fail goto*//*Label 3042*/ GIMT_Encode4(139064), // Rule ID 19872 //
49426 /* 139032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49427 /* 139035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49428 /* 139039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49429 /* 139043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49430 /* 139047 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49431 /* 139051 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
49432 /* 139051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
49433 /* 139054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49434 /* 139056 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49435 /* 139058 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49436 /* 139060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49437 /* 139062 */ GIR_RootConstrainSelectedInstOperands,
49438 /* 139063 */ // GIR_Coverage, 19872,
49439 /* 139063 */ GIR_EraseRootFromParent_Done,
49440 /* 139064 */ // Label 3042: @139064
49441 /* 139064 */ GIM_Reject,
49442 /* 139065 */ // Label 3030: @139065
49443 /* 139065 */ GIM_Reject,
49444 /* 139066 */ // Label 2994: @139066
49445 /* 139066 */ GIM_Try, /*On fail goto*//*Label 3043*/ GIMT_Encode4(139845),
49446 /* 139071 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
49447 /* 139074 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
49448 /* 139077 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
49449 /* 139080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49450 /* 139084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49451 /* 139088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49452 /* 139092 */ GIM_Try, /*On fail goto*//*Label 3044*/ GIMT_Encode4(139125), // Rule ID 4469 //
49453 /* 139097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49454 /* 139100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49455 /* 139104 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49456 /* 139110 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49457 /* 139112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49458 /* 139114 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src, immAllZerosV:{ *:[v8f32] }) => (VMOVAPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
49459 /* 139114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrkz),
49460 /* 139117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49461 /* 139119 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49462 /* 139121 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49463 /* 139123 */ GIR_RootConstrainSelectedInstOperands,
49464 /* 139124 */ // GIR_Coverage, 4469,
49465 /* 139124 */ GIR_EraseRootFromParent_Done,
49466 /* 139125 */ // Label 3044: @139125
49467 /* 139125 */ GIM_Try, /*On fail goto*//*Label 3045*/ GIMT_Encode4(139158), // Rule ID 4528 //
49468 /* 139130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49469 /* 139133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49470 /* 139137 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49471 /* 139143 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49472 /* 139145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49473 /* 139147 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src, immAllZerosV:{ *:[v8i32] }) => (VMOVDQA32Z256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
49474 /* 139147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrkz),
49475 /* 139150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49476 /* 139152 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49477 /* 139154 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49478 /* 139156 */ GIR_RootConstrainSelectedInstOperands,
49479 /* 139157 */ // GIR_Coverage, 4528,
49480 /* 139157 */ GIR_EraseRootFromParent_Done,
49481 /* 139158 */ // Label 3045: @139158
49482 /* 139158 */ GIM_Try, /*On fail goto*//*Label 3046*/ GIMT_Encode4(139295), // Rule ID 19781 //
49483 /* 139163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49484 /* 139166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49485 /* 139170 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49486 /* 139176 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49487 /* 139178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49488 /* 139180 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, immAllZerosV:{ *:[v8f32] }) => (EXTRACT_SUBREG:{ *:[v8f32] } (VMOVAPSZrrkz:{ *:[v16f32] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8WM:{ *:[v8i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16f32] } (IMPLICIT_DEF:{ *:[v16f32] }), VR256X:{ *:[v8f32] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
49489 /* 139180 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
49490 /* 139183 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49491 /* 139187 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49492 /* 139192 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49493 /* 139194 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
49494 /* 139197 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49495 /* 139201 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49496 /* 139206 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49497 /* 139209 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49498 /* 139213 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
49499 /* 139216 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49500 /* 139221 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49501 /* 139226 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49502 /* 139231 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
49503 /* 139234 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49504 /* 139238 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49505 /* 139243 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49506 /* 139247 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
49507 /* 139252 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
49508 /* 139255 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
49509 /* 139259 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49510 /* 139264 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49511 /* 139267 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49512 /* 139270 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49513 /* 139272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49514 /* 139275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49515 /* 139277 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49516 /* 139284 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49517 /* 139289 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49518 /* 139294 */ // GIR_Coverage, 19781,
49519 /* 139294 */ GIR_EraseRootFromParent_Done,
49520 /* 139295 */ // Label 3046: @139295
49521 /* 139295 */ GIM_Try, /*On fail goto*//*Label 3047*/ GIMT_Encode4(139432), // Rule ID 19783 //
49522 /* 139300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49523 /* 139303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49524 /* 139307 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49525 /* 139313 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49526 /* 139315 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49527 /* 139317 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, immAllZerosV:{ *:[v8i32] }) => (EXTRACT_SUBREG:{ *:[v8i32] } (VMOVDQA32Zrrkz:{ *:[v16i32] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8WM:{ *:[v8i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
49528 /* 139317 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
49529 /* 139320 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49530 /* 139324 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49531 /* 139329 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49532 /* 139331 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
49533 /* 139334 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49534 /* 139338 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49535 /* 139343 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49536 /* 139346 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49537 /* 139350 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
49538 /* 139353 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49539 /* 139358 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49540 /* 139363 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49541 /* 139368 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
49542 /* 139371 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49543 /* 139375 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49544 /* 139380 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49545 /* 139384 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
49546 /* 139389 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
49547 /* 139392 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
49548 /* 139396 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49549 /* 139401 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49550 /* 139404 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49551 /* 139407 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49552 /* 139409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49553 /* 139412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49554 /* 139414 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49555 /* 139421 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49556 /* 139426 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49557 /* 139431 */ // GIR_Coverage, 19783,
49558 /* 139431 */ GIR_EraseRootFromParent_Done,
49559 /* 139432 */ // Label 3047: @139432
49560 /* 139432 */ GIM_Try, /*On fail goto*//*Label 3048*/ GIMT_Encode4(139457), // Rule ID 4471 //
49561 /* 139437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49562 /* 139440 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49563 /* 139444 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src0) => (VMOVAPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1)
49564 /* 139444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrk),
49565 /* 139447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49566 /* 139449 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49567 /* 139451 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49568 /* 139453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49569 /* 139455 */ GIR_RootConstrainSelectedInstOperands,
49570 /* 139456 */ // GIR_Coverage, 4471,
49571 /* 139456 */ GIR_EraseRootFromParent_Done,
49572 /* 139457 */ // Label 3048: @139457
49573 /* 139457 */ GIM_Try, /*On fail goto*//*Label 3049*/ GIMT_Encode4(139482), // Rule ID 4529 //
49574 /* 139462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49575 /* 139465 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49576 /* 139469 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src0) => (VMOVDQA32Z256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1)
49577 /* 139469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrk),
49578 /* 139472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49579 /* 139474 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49580 /* 139476 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49581 /* 139478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49582 /* 139480 */ GIR_RootConstrainSelectedInstOperands,
49583 /* 139481 */ // GIR_Coverage, 4529,
49584 /* 139481 */ GIR_EraseRootFromParent_Done,
49585 /* 139482 */ // Label 3049: @139482
49586 /* 139482 */ GIM_Try, /*On fail goto*//*Label 3050*/ GIMT_Encode4(139663), // Rule ID 19780 //
49587 /* 139487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49588 /* 139490 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49589 /* 139494 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src0) => (EXTRACT_SUBREG:{ *:[v8f32] } (VMOVAPSZrrk:{ *:[v16f32] } (INSERT_SUBREG:{ *:[v16f32] } (IMPLICIT_DEF:{ *:[v16f32] }), VR256X:{ *:[v8f32] }:$src0, sub_ymm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8WM:{ *:[v8i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16f32] } (IMPLICIT_DEF:{ *:[v16f32] }), VR256X:{ *:[v8f32] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
49590 /* 139494 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
49591 /* 139497 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49592 /* 139501 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49593 /* 139506 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49594 /* 139508 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
49595 /* 139511 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49596 /* 139515 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49597 /* 139520 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49598 /* 139523 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49599 /* 139527 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
49600 /* 139530 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49601 /* 139535 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49602 /* 139540 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49603 /* 139545 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
49604 /* 139548 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49605 /* 139552 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49606 /* 139557 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49607 /* 139561 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
49608 /* 139566 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
49609 /* 139569 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49610 /* 139573 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49611 /* 139578 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49612 /* 139580 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
49613 /* 139583 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49614 /* 139587 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49615 /* 139592 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49616 /* 139595 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49617 /* 139599 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
49618 /* 139602 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49619 /* 139607 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49620 /* 139612 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49621 /* 139617 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
49622 /* 139620 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
49623 /* 139624 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49624 /* 139629 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49625 /* 139632 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49626 /* 139635 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49627 /* 139638 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49628 /* 139640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49629 /* 139643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49630 /* 139645 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49631 /* 139652 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49632 /* 139657 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49633 /* 139662 */ // GIR_Coverage, 19780,
49634 /* 139662 */ GIR_EraseRootFromParent_Done,
49635 /* 139663 */ // Label 3050: @139663
49636 /* 139663 */ GIM_Try, /*On fail goto*//*Label 3051*/ GIMT_Encode4(139844), // Rule ID 19782 //
49637 /* 139668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49638 /* 139671 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49639 /* 139675 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src0) => (EXTRACT_SUBREG:{ *:[v8i32] } (VMOVDQA32Zrrk:{ *:[v16i32] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src0, sub_ymm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v16i1] } VK8WM:{ *:[v8i1] }:$mask, VK16WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
49640 /* 139675 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
49641 /* 139678 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49642 /* 139682 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49643 /* 139687 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49644 /* 139689 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
49645 /* 139692 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49646 /* 139696 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49647 /* 139701 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49648 /* 139704 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49649 /* 139708 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
49650 /* 139711 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49651 /* 139716 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49652 /* 139721 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49653 /* 139726 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
49654 /* 139729 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49655 /* 139733 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49656 /* 139738 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49657 /* 139742 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
49658 /* 139747 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
49659 /* 139750 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49660 /* 139754 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49661 /* 139759 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49662 /* 139761 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
49663 /* 139764 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49664 /* 139768 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49665 /* 139773 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49666 /* 139776 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49667 /* 139780 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
49668 /* 139783 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49669 /* 139788 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49670 /* 139793 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49671 /* 139798 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
49672 /* 139801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
49673 /* 139805 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49674 /* 139810 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49675 /* 139813 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49676 /* 139816 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49677 /* 139819 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49678 /* 139821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49679 /* 139824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49680 /* 139826 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49681 /* 139833 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49682 /* 139838 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49683 /* 139843 */ // GIR_Coverage, 19782,
49684 /* 139843 */ GIR_EraseRootFromParent_Done,
49685 /* 139844 */ // Label 3051: @139844
49686 /* 139844 */ GIM_Reject,
49687 /* 139845 */ // Label 3043: @139845
49688 /* 139845 */ GIM_Reject,
49689 /* 139846 */ // Label 2995: @139846
49690 /* 139846 */ GIM_Try, /*On fail goto*//*Label 3052*/ GIMT_Encode4(140226),
49691 /* 139851 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
49692 /* 139854 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
49693 /* 139857 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
49694 /* 139860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49695 /* 139864 */ GIM_Try, /*On fail goto*//*Label 3053*/ GIMT_Encode4(139933), // Rule ID 19774 //
49696 /* 139869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49697 /* 139873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
49698 /* 139877 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
49699 /* 139881 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
49700 /* 139885 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
49701 /* 139890 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
49702 /* 139894 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49703 /* 139900 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
49704 /* 139902 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
49705 /* 139906 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49706 /* 139912 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
49707 /* 139914 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49708 /* 139918 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
49709 /* 139920 */ // (vselect:{ *:[v8i64] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i1] }), immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
49710 /* 139920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49711 /* 139923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49712 /* 139925 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
49713 /* 139929 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
49714 /* 139931 */ GIR_RootConstrainSelectedInstOperands,
49715 /* 139932 */ // GIR_Coverage, 19774,
49716 /* 139932 */ GIR_EraseRootFromParent_Done,
49717 /* 139933 */ // Label 3053: @139933
49718 /* 139933 */ GIM_Try, /*On fail goto*//*Label 3054*/ GIMT_Encode4(139980), // Rule ID 3600 //
49719 /* 139938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49720 /* 139941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49721 /* 139945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49722 /* 139949 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49723 /* 139955 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
49724 /* 139957 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49725 /* 139961 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49726 /* 139967 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49727 /* 139969 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49728 /* 139971 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i64] }, immAllZerosV:{ *:[v8i64] }) => (AVX512_512_SEXT_MASK_64:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask)
49729 /* 139971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_64),
49730 /* 139974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49731 /* 139976 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49732 /* 139978 */ GIR_RootConstrainSelectedInstOperands,
49733 /* 139979 */ // GIR_Coverage, 3600,
49734 /* 139979 */ GIR_EraseRootFromParent_Done,
49735 /* 139980 */ // Label 3054: @139980
49736 /* 139980 */ GIM_Try, /*On fail goto*//*Label 3055*/ GIMT_Encode4(140077), // Rule ID 19772 //
49737 /* 139985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49738 /* 139989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49739 /* 139993 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49740 /* 139999 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49741 /* 140001 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49742 /* 140005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49743 /* 140007 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src) => (VMOVDQA64Zrrkz:{ *:[v8i64] } (COPY_TO_REGCLASS:{ *:[v8i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$mask, VK16:{ *:[i32] })), VK8:{ *:[i32] }), VR512:{ *:[v8i64] }:$src)
49744 /* 140007 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
49745 /* 140010 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49746 /* 140014 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49747 /* 140019 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // mask
49748 /* 140023 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
49749 /* 140028 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
49750 /* 140031 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
49751 /* 140035 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49752 /* 140040 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49753 /* 140043 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
49754 /* 140045 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
49755 /* 140048 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49756 /* 140052 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49757 /* 140057 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49758 /* 140060 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
49759 /* 140065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49760 /* 140068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49761 /* 140070 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
49762 /* 140073 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
49763 /* 140075 */ GIR_RootConstrainSelectedInstOperands,
49764 /* 140076 */ // GIR_Coverage, 19772,
49765 /* 140076 */ GIR_EraseRootFromParent_Done,
49766 /* 140077 */ // Label 3055: @140077
49767 /* 140077 */ GIM_Try, /*On fail goto*//*Label 3056*/ GIMT_Encode4(140118), // Rule ID 4482 //
49768 /* 140082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49769 /* 140085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49770 /* 140089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49771 /* 140093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49772 /* 140097 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49773 /* 140103 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49774 /* 140105 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49775 /* 140107 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src, immAllZerosV:{ *:[v8f64] }) => (VMOVAPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
49776 /* 140107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
49777 /* 140110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49778 /* 140112 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49779 /* 140114 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49780 /* 140116 */ GIR_RootConstrainSelectedInstOperands,
49781 /* 140117 */ // GIR_Coverage, 4482,
49782 /* 140117 */ GIR_EraseRootFromParent_Done,
49783 /* 140118 */ // Label 3056: @140118
49784 /* 140118 */ GIM_Try, /*On fail goto*//*Label 3057*/ GIMT_Encode4(140159), // Rule ID 4536 //
49785 /* 140123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49786 /* 140126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49787 /* 140130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49788 /* 140134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49789 /* 140138 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49790 /* 140144 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49791 /* 140146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49792 /* 140148 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src, immAllZerosV:{ *:[v8i64] }) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
49793 /* 140148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49794 /* 140151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49795 /* 140153 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49796 /* 140155 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49797 /* 140157 */ GIR_RootConstrainSelectedInstOperands,
49798 /* 140158 */ // GIR_Coverage, 4536,
49799 /* 140158 */ GIR_EraseRootFromParent_Done,
49800 /* 140159 */ // Label 3057: @140159
49801 /* 140159 */ GIM_Try, /*On fail goto*//*Label 3058*/ GIMT_Encode4(140192), // Rule ID 4484 //
49802 /* 140164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49803 /* 140167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49804 /* 140171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49805 /* 140175 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49806 /* 140179 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src0) => (VMOVAPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1)
49807 /* 140179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
49808 /* 140182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49809 /* 140184 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49810 /* 140186 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49811 /* 140188 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49812 /* 140190 */ GIR_RootConstrainSelectedInstOperands,
49813 /* 140191 */ // GIR_Coverage, 4484,
49814 /* 140191 */ GIR_EraseRootFromParent_Done,
49815 /* 140192 */ // Label 3058: @140192
49816 /* 140192 */ GIM_Try, /*On fail goto*//*Label 3059*/ GIMT_Encode4(140225), // Rule ID 4538 //
49817 /* 140197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49818 /* 140200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49819 /* 140204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49820 /* 140208 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49821 /* 140212 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src0) => (VMOVDQA64Zrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1)
49822 /* 140212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
49823 /* 140215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49824 /* 140217 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49825 /* 140219 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49826 /* 140221 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49827 /* 140223 */ GIR_RootConstrainSelectedInstOperands,
49828 /* 140224 */ // GIR_Coverage, 4538,
49829 /* 140224 */ GIR_EraseRootFromParent_Done,
49830 /* 140225 */ // Label 3059: @140225
49831 /* 140225 */ GIM_Reject,
49832 /* 140226 */ // Label 3052: @140226
49833 /* 140226 */ GIM_Reject,
49834 /* 140227 */ // Label 2996: @140227
49835 /* 140227 */ GIM_Try, /*On fail goto*//*Label 3060*/ GIMT_Encode4(140666),
49836 /* 140232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
49837 /* 140235 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
49838 /* 140238 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
49839 /* 140241 */ GIM_Try, /*On fail goto*//*Label 3061*/ GIMT_Encode4(140286), // Rule ID 4562 //
49840 /* 140246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49841 /* 140249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49842 /* 140253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49843 /* 140257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49844 /* 140261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49845 /* 140265 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49846 /* 140271 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49847 /* 140273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49848 /* 140275 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src, immAllZerosV:{ *:[v16i8] }) => (VMOVDQU8Z128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
49849 /* 140275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrkz),
49850 /* 140278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49851 /* 140280 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49852 /* 140282 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49853 /* 140284 */ GIR_RootConstrainSelectedInstOperands,
49854 /* 140285 */ // GIR_Coverage, 4562,
49855 /* 140285 */ GIR_EraseRootFromParent_Done,
49856 /* 140286 */ // Label 3061: @140286
49857 /* 140286 */ GIM_Try, /*On fail goto*//*Label 3062*/ GIMT_Encode4(140435), // Rule ID 19793 //
49858 /* 140291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49859 /* 140294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49860 /* 140298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49861 /* 140302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49862 /* 140306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49863 /* 140310 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49864 /* 140316 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49865 /* 140318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49866 /* 140320 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, immAllZerosV:{ *:[v16i8] }) => (EXTRACT_SUBREG:{ *:[v16i8] } (VMOVDQU8Zrrkz:{ *:[v64i8] } (COPY_TO_REGCLASS:{ *:[v64i1] } VK16WM:{ *:[v16i1] }:$mask, VK64WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR128X:{ *:[v16i8] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
49867 /* 140320 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
49868 /* 140323 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49869 /* 140327 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49870 /* 140332 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49871 /* 140334 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49872 /* 140337 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49873 /* 140341 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49874 /* 140346 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49875 /* 140349 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49876 /* 140353 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
49877 /* 140356 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49878 /* 140361 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49879 /* 140366 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49880 /* 140371 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
49881 /* 140374 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49882 /* 140378 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49883 /* 140383 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49884 /* 140387 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49885 /* 140392 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49886 /* 140395 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
49887 /* 140399 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49888 /* 140404 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49889 /* 140407 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49890 /* 140410 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49891 /* 140412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49892 /* 140415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49893 /* 140417 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49894 /* 140424 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49895 /* 140429 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49896 /* 140434 */ // GIR_Coverage, 19793,
49897 /* 140434 */ GIR_EraseRootFromParent_Done,
49898 /* 140435 */ // Label 3062: @140435
49899 /* 140435 */ GIM_Try, /*On fail goto*//*Label 3063*/ GIMT_Encode4(140472), // Rule ID 4563 //
49900 /* 140440 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49901 /* 140443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49902 /* 140447 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49903 /* 140451 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49904 /* 140455 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49905 /* 140459 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src0) => (VMOVDQU8Z128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1)
49906 /* 140459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrk),
49907 /* 140462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49908 /* 140464 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49909 /* 140466 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49910 /* 140468 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49911 /* 140470 */ GIR_RootConstrainSelectedInstOperands,
49912 /* 140471 */ // GIR_Coverage, 4563,
49913 /* 140471 */ GIR_EraseRootFromParent_Done,
49914 /* 140472 */ // Label 3063: @140472
49915 /* 140472 */ GIM_Try, /*On fail goto*//*Label 3064*/ GIMT_Encode4(140665), // Rule ID 19792 //
49916 /* 140477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
49917 /* 140480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49918 /* 140484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49919 /* 140488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49920 /* 140492 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49921 /* 140496 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src0) => (EXTRACT_SUBREG:{ *:[v16i8] } (VMOVDQU8Zrrk:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR128X:{ *:[v16i8] }:$src0, sub_xmm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v64i1] } VK16WM:{ *:[v16i1] }:$mask, VK64WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR128X:{ *:[v16i8] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
49922 /* 140496 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
49923 /* 140499 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49924 /* 140503 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49925 /* 140508 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49926 /* 140510 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
49927 /* 140513 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49928 /* 140517 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49929 /* 140522 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49930 /* 140525 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49931 /* 140529 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
49932 /* 140532 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49933 /* 140537 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49934 /* 140542 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49935 /* 140547 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
49936 /* 140550 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49937 /* 140554 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49938 /* 140559 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49939 /* 140563 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
49940 /* 140568 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
49941 /* 140571 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49942 /* 140575 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49943 /* 140580 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49944 /* 140582 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
49945 /* 140585 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49946 /* 140589 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49947 /* 140594 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49948 /* 140597 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49949 /* 140601 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
49950 /* 140604 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49951 /* 140609 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49952 /* 140614 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49953 /* 140619 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
49954 /* 140622 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
49955 /* 140626 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49956 /* 140631 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49957 /* 140634 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49958 /* 140637 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49959 /* 140640 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49960 /* 140642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49961 /* 140645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49962 /* 140647 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49963 /* 140654 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49964 /* 140659 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49965 /* 140664 */ // GIR_Coverage, 19792,
49966 /* 140664 */ GIR_EraseRootFromParent_Done,
49967 /* 140665 */ // Label 3064: @140665
49968 /* 140665 */ GIM_Reject,
49969 /* 140666 */ // Label 3060: @140666
49970 /* 140666 */ GIM_Reject,
49971 /* 140667 */ // Label 2997: @140667
49972 /* 140667 */ GIM_Try, /*On fail goto*//*Label 3065*/ GIMT_Encode4(141736),
49973 /* 140672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
49974 /* 140675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49975 /* 140678 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
49976 /* 140681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49977 /* 140685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49978 /* 140689 */ GIM_Try, /*On fail goto*//*Label 3066*/ GIMT_Encode4(140760), // Rule ID 19865 //
49979 /* 140694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49980 /* 140697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49981 /* 140701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49982 /* 140705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49983 /* 140708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49984 /* 140712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49985 /* 140716 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
49986 /* 140720 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49987 /* 140724 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49988 /* 140730 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49989 /* 140732 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49990 /* 140734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49991 /* 140741 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rmkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
49992 /* 140741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
49993 /* 140744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49994 /* 140746 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49995 /* 140748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
49996 /* 140752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
49997 /* 140758 */ GIR_RootConstrainSelectedInstOperands,
49998 /* 140759 */ // GIR_Coverage, 19865,
49999 /* 140759 */ GIR_EraseRootFromParent_Done,
50000 /* 140760 */ // Label 3066: @140760
50001 /* 140760 */ GIM_Try, /*On fail goto*//*Label 3067*/ GIMT_Encode4(140827), // Rule ID 19867 //
50002 /* 140765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50003 /* 140768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50004 /* 140772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50005 /* 140776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50006 /* 140779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50007 /* 140783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50008 /* 140787 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
50009 /* 140791 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50010 /* 140797 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
50011 /* 140799 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
50012 /* 140801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50013 /* 140808 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rmkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
50014 /* 140808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
50015 /* 140811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50016 /* 140813 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50017 /* 140815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
50018 /* 140819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
50019 /* 140825 */ GIR_RootConstrainSelectedInstOperands,
50020 /* 140826 */ // GIR_Coverage, 19867,
50021 /* 140826 */ GIR_EraseRootFromParent_Done,
50022 /* 140827 */ // Label 3067: @140827
50023 /* 140827 */ GIM_Try, /*On fail goto*//*Label 3068*/ GIMT_Encode4(140891), // Rule ID 19864 //
50024 /* 140832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50025 /* 140835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50026 /* 140839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50027 /* 140843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50028 /* 140846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50029 /* 140850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50030 /* 140854 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
50031 /* 140858 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50032 /* 140862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50033 /* 140864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50034 /* 140871 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rmk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
50035 /* 140871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
50036 /* 140874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50037 /* 140876 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50038 /* 140878 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50039 /* 140880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
50040 /* 140884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50041 /* 140889 */ GIR_RootConstrainSelectedInstOperands,
50042 /* 140890 */ // GIR_Coverage, 19864,
50043 /* 140890 */ GIR_EraseRootFromParent_Done,
50044 /* 140891 */ // Label 3068: @140891
50045 /* 140891 */ GIM_Try, /*On fail goto*//*Label 3069*/ GIMT_Encode4(140951), // Rule ID 19866 //
50046 /* 140896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50047 /* 140899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50048 /* 140903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50049 /* 140907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50050 /* 140910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50051 /* 140914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50052 /* 140918 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50053 /* 140922 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50054 /* 140924 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50055 /* 140931 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rmk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, addr:{ *:[iPTR] }:$src)
50056 /* 140931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
50057 /* 140934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50058 /* 140936 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50059 /* 140938 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50060 /* 140940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
50061 /* 140944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50062 /* 140949 */ GIR_RootConstrainSelectedInstOperands,
50063 /* 140950 */ // GIR_Coverage, 19866,
50064 /* 140950 */ GIR_EraseRootFromParent_Done,
50065 /* 140951 */ // Label 3069: @140951
50066 /* 140951 */ GIM_Try, /*On fail goto*//*Label 3070*/ GIMT_Encode4(140988), // Rule ID 4570 //
50067 /* 140956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50068 /* 140959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50069 /* 140963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50070 /* 140967 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50071 /* 140973 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50072 /* 140975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50073 /* 140977 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src, immAllZerosV:{ *:[v16i16] }) => (VMOVDQU16Z256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
50074 /* 140977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
50075 /* 140980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50076 /* 140982 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50077 /* 140984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
50078 /* 140986 */ GIR_RootConstrainSelectedInstOperands,
50079 /* 140987 */ // GIR_Coverage, 4570,
50080 /* 140987 */ GIR_EraseRootFromParent_Done,
50081 /* 140988 */ // Label 3070: @140988
50082 /* 140988 */ GIM_Try, /*On fail goto*//*Label 3071*/ GIMT_Encode4(141129), // Rule ID 19799 //
50083 /* 140993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
50084 /* 140996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50085 /* 141000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50086 /* 141004 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50087 /* 141010 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50088 /* 141012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50089 /* 141014 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, immAllZerosV:{ *:[v16i16] }) => (EXTRACT_SUBREG:{ *:[v16i16] } (VMOVDQU16Zrrkz:{ *:[v32i16] } (COPY_TO_REGCLASS:{ *:[v32i1] } VK16WM:{ *:[v16i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
50090 /* 141014 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
50091 /* 141017 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50092 /* 141021 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50093 /* 141026 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
50094 /* 141028 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
50095 /* 141031 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50096 /* 141035 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50097 /* 141040 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
50098 /* 141043 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
50099 /* 141047 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
50100 /* 141050 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50101 /* 141055 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50102 /* 141060 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50103 /* 141065 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
50104 /* 141068 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50105 /* 141072 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50106 /* 141077 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
50107 /* 141081 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
50108 /* 141086 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
50109 /* 141089 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
50110 /* 141093 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50111 /* 141098 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
50112 /* 141101 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
50113 /* 141104 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
50114 /* 141106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50115 /* 141109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50116 /* 141111 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
50117 /* 141118 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
50118 /* 141123 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50119 /* 141128 */ // GIR_Coverage, 19799,
50120 /* 141128 */ GIR_EraseRootFromParent_Done,
50121 /* 141129 */ // Label 3071: @141129
50122 /* 141129 */ GIM_Try, /*On fail goto*//*Label 3072*/ GIMT_Encode4(141270), // Rule ID 19803 //
50123 /* 141134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
50124 /* 141137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50125 /* 141141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50126 /* 141145 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50127 /* 141151 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50128 /* 141153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50129 /* 141155 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, immAllZerosV:{ *:[v16f16] }) => (EXTRACT_SUBREG:{ *:[v16f16] } (VMOVDQU16Zrrkz:{ *:[v32f16] } (COPY_TO_REGCLASS:{ *:[v32i1] } VK16WM:{ *:[v16i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32f16] } (IMPLICIT_DEF:{ *:[v32f16] }), VR256X:{ *:[v16f16] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
50130 /* 141155 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
50131 /* 141158 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50132 /* 141162 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50133 /* 141167 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
50134 /* 141169 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
50135 /* 141172 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50136 /* 141176 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50137 /* 141181 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
50138 /* 141184 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
50139 /* 141188 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
50140 /* 141191 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50141 /* 141196 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50142 /* 141201 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50143 /* 141206 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
50144 /* 141209 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50145 /* 141213 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50146 /* 141218 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
50147 /* 141222 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
50148 /* 141227 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
50149 /* 141230 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
50150 /* 141234 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50151 /* 141239 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
50152 /* 141242 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
50153 /* 141245 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
50154 /* 141247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50155 /* 141250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50156 /* 141252 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
50157 /* 141259 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
50158 /* 141264 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50159 /* 141269 */ // GIR_Coverage, 19803,
50160 /* 141269 */ GIR_EraseRootFromParent_Done,
50161 /* 141270 */ // Label 3072: @141270
50162 /* 141270 */ GIM_Try, /*On fail goto*//*Label 3073*/ GIMT_Encode4(141307), // Rule ID 19863 //
50163 /* 141275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50164 /* 141278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50165 /* 141282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50166 /* 141286 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50167 /* 141292 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50168 /* 141294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50169 /* 141296 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rrkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
50170 /* 141296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
50171 /* 141299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50172 /* 141301 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50173 /* 141303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50174 /* 141305 */ GIR_RootConstrainSelectedInstOperands,
50175 /* 141306 */ // GIR_Coverage, 19863,
50176 /* 141306 */ GIR_EraseRootFromParent_Done,
50177 /* 141307 */ // Label 3073: @141307
50178 /* 141307 */ GIM_Try, /*On fail goto*//*Label 3074*/ GIMT_Encode4(141336), // Rule ID 4571 //
50179 /* 141312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50180 /* 141315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50181 /* 141319 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50182 /* 141323 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1)
50183 /* 141323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
50184 /* 141326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50185 /* 141328 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50186 /* 141330 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50187 /* 141332 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50188 /* 141334 */ GIR_RootConstrainSelectedInstOperands,
50189 /* 141335 */ // GIR_Coverage, 4571,
50190 /* 141335 */ GIR_EraseRootFromParent_Done,
50191 /* 141336 */ // Label 3074: @141336
50192 /* 141336 */ GIM_Try, /*On fail goto*//*Label 3075*/ GIMT_Encode4(141521), // Rule ID 19798 //
50193 /* 141341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
50194 /* 141344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50195 /* 141348 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50196 /* 141352 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src0) => (EXTRACT_SUBREG:{ *:[v16i16] } (VMOVDQU16Zrrk:{ *:[v32i16] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src0, sub_ymm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v32i1] } VK16WM:{ *:[v16i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
50197 /* 141352 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
50198 /* 141355 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50199 /* 141359 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50200 /* 141364 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
50201 /* 141366 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
50202 /* 141369 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50203 /* 141373 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50204 /* 141378 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
50205 /* 141381 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
50206 /* 141385 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
50207 /* 141388 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50208 /* 141393 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50209 /* 141398 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50210 /* 141403 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
50211 /* 141406 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50212 /* 141410 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50213 /* 141415 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
50214 /* 141419 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
50215 /* 141424 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
50216 /* 141427 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50217 /* 141431 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50218 /* 141436 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
50219 /* 141438 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
50220 /* 141441 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50221 /* 141445 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50222 /* 141450 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
50223 /* 141453 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
50224 /* 141457 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
50225 /* 141460 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50226 /* 141465 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50227 /* 141470 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50228 /* 141475 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
50229 /* 141478 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
50230 /* 141482 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50231 /* 141487 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
50232 /* 141490 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
50233 /* 141493 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
50234 /* 141496 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
50235 /* 141498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50236 /* 141501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50237 /* 141503 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
50238 /* 141510 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
50239 /* 141515 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50240 /* 141520 */ // GIR_Coverage, 19798,
50241 /* 141520 */ GIR_EraseRootFromParent_Done,
50242 /* 141521 */ // Label 3075: @141521
50243 /* 141521 */ GIM_Try, /*On fail goto*//*Label 3076*/ GIMT_Encode4(141706), // Rule ID 19802 //
50244 /* 141526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
50245 /* 141529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50246 /* 141533 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50247 /* 141537 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src0) => (EXTRACT_SUBREG:{ *:[v16f16] } (VMOVDQU16Zrrk:{ *:[v32f16] } (INSERT_SUBREG:{ *:[v32f16] } (IMPLICIT_DEF:{ *:[v32f16] }), VR256X:{ *:[v16f16] }:$src0, sub_ymm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v32i1] } VK16WM:{ *:[v16i1] }:$mask, VK32WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v32f16] } (IMPLICIT_DEF:{ *:[v32f16] }), VR256X:{ *:[v16f16] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
50248 /* 141537 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
50249 /* 141540 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50250 /* 141544 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50251 /* 141549 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
50252 /* 141551 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
50253 /* 141554 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50254 /* 141558 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50255 /* 141563 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
50256 /* 141566 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
50257 /* 141570 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
50258 /* 141573 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50259 /* 141578 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50260 /* 141583 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50261 /* 141588 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
50262 /* 141591 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50263 /* 141595 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50264 /* 141600 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
50265 /* 141604 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
50266 /* 141609 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
50267 /* 141612 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50268 /* 141616 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50269 /* 141621 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
50270 /* 141623 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
50271 /* 141626 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50272 /* 141630 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50273 /* 141635 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
50274 /* 141638 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
50275 /* 141642 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
50276 /* 141645 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50277 /* 141650 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50278 /* 141655 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50279 /* 141660 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
50280 /* 141663 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
50281 /* 141667 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50282 /* 141672 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
50283 /* 141675 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
50284 /* 141678 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
50285 /* 141681 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
50286 /* 141683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50287 /* 141686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50288 /* 141688 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
50289 /* 141695 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
50290 /* 141700 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50291 /* 141705 */ // GIR_Coverage, 19802,
50292 /* 141705 */ GIR_EraseRootFromParent_Done,
50293 /* 141706 */ // Label 3076: @141706
50294 /* 141706 */ GIM_Try, /*On fail goto*//*Label 3077*/ GIMT_Encode4(141735), // Rule ID 19862 //
50295 /* 141711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50296 /* 141714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50297 /* 141718 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50298 /* 141722 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
50299 /* 141722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
50300 /* 141725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50301 /* 141727 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50302 /* 141729 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50303 /* 141731 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50304 /* 141733 */ GIR_RootConstrainSelectedInstOperands,
50305 /* 141734 */ // GIR_Coverage, 19862,
50306 /* 141734 */ GIR_EraseRootFromParent_Done,
50307 /* 141735 */ // Label 3077: @141735
50308 /* 141735 */ GIM_Reject,
50309 /* 141736 */ // Label 3065: @141736
50310 /* 141736 */ GIM_Reject,
50311 /* 141737 */ // Label 2998: @141737
50312 /* 141737 */ GIM_Try, /*On fail goto*//*Label 3078*/ GIMT_Encode4(142077),
50313 /* 141742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
50314 /* 141745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
50315 /* 141748 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
50316 /* 141751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50317 /* 141755 */ GIM_Try, /*On fail goto*//*Label 3079*/ GIMT_Encode4(141824), // Rule ID 19775 //
50318 /* 141760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50319 /* 141764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
50320 /* 141768 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
50321 /* 141772 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
50322 /* 141776 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
50323 /* 141781 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
50324 /* 141785 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50325 /* 141791 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
50326 /* 141793 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
50327 /* 141797 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50328 /* 141803 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
50329 /* 141805 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50330 /* 141809 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
50331 /* 141811 */ // (vselect:{ *:[v16i32] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i1] }), immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
50332 /* 141811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
50333 /* 141814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50334 /* 141816 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
50335 /* 141820 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
50336 /* 141822 */ GIR_RootConstrainSelectedInstOperands,
50337 /* 141823 */ // GIR_Coverage, 19775,
50338 /* 141823 */ GIR_EraseRootFromParent_Done,
50339 /* 141824 */ // Label 3079: @141824
50340 /* 141824 */ GIM_Try, /*On fail goto*//*Label 3080*/ GIMT_Encode4(141871), // Rule ID 3599 //
50341 /* 141829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
50342 /* 141832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
50343 /* 141836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50344 /* 141840 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50345 /* 141846 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
50346 /* 141848 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
50347 /* 141852 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50348 /* 141858 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
50349 /* 141860 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
50350 /* 141862 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i32] }, immAllZerosV:{ *:[v16i32] }) => (AVX512_512_SEXT_MASK_32:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask)
50351 /* 141862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_32),
50352 /* 141865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50353 /* 141867 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50354 /* 141869 */ GIR_RootConstrainSelectedInstOperands,
50355 /* 141870 */ // GIR_Coverage, 3599,
50356 /* 141870 */ GIR_EraseRootFromParent_Done,
50357 /* 141871 */ // Label 3080: @141871
50358 /* 141871 */ GIM_Try, /*On fail goto*//*Label 3081*/ GIMT_Encode4(141928), // Rule ID 19773 //
50359 /* 141876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
50360 /* 141880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50361 /* 141884 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50362 /* 141890 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50363 /* 141892 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50364 /* 141896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50365 /* 141898 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } (KNOTWkk:{ *:[v16i1] } VK16WM:{ *:[v16i1] }:$mask), VR512:{ *:[v16i32] }:$src)
50366 /* 141898 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
50367 /* 141901 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
50368 /* 141905 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50369 /* 141910 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // mask
50370 /* 141914 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
50371 /* 141916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
50372 /* 141919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50373 /* 141921 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
50374 /* 141924 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
50375 /* 141926 */ GIR_RootConstrainSelectedInstOperands,
50376 /* 141927 */ // GIR_Coverage, 19773,
50377 /* 141927 */ GIR_EraseRootFromParent_Done,
50378 /* 141928 */ // Label 3081: @141928
50379 /* 141928 */ GIM_Try, /*On fail goto*//*Label 3082*/ GIMT_Encode4(141969), // Rule ID 4464 //
50380 /* 141933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
50381 /* 141936 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
50382 /* 141940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50383 /* 141944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50384 /* 141948 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50385 /* 141954 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50386 /* 141956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50387 /* 141958 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src, immAllZerosV:{ *:[v16f32] }) => (VMOVAPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
50388 /* 141958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
50389 /* 141961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50390 /* 141963 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50391 /* 141965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
50392 /* 141967 */ GIR_RootConstrainSelectedInstOperands,
50393 /* 141968 */ // GIR_Coverage, 4464,
50394 /* 141968 */ GIR_EraseRootFromParent_Done,
50395 /* 141969 */ // Label 3082: @141969
50396 /* 141969 */ GIM_Try, /*On fail goto*//*Label 3083*/ GIMT_Encode4(142010), // Rule ID 4524 //
50397 /* 141974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
50398 /* 141977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
50399 /* 141981 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50400 /* 141985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50401 /* 141989 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50402 /* 141995 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50403 /* 141997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50404 /* 141999 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src, immAllZerosV:{ *:[v16i32] }) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
50405 /* 141999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
50406 /* 142002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50407 /* 142004 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50408 /* 142006 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
50409 /* 142008 */ GIR_RootConstrainSelectedInstOperands,
50410 /* 142009 */ // GIR_Coverage, 4524,
50411 /* 142009 */ GIR_EraseRootFromParent_Done,
50412 /* 142010 */ // Label 3083: @142010
50413 /* 142010 */ GIM_Try, /*On fail goto*//*Label 3084*/ GIMT_Encode4(142043), // Rule ID 4466 //
50414 /* 142015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
50415 /* 142018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
50416 /* 142022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50417 /* 142026 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50418 /* 142030 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src0) => (VMOVAPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1)
50419 /* 142030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
50420 /* 142033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50421 /* 142035 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50422 /* 142037 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50423 /* 142039 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50424 /* 142041 */ GIR_RootConstrainSelectedInstOperands,
50425 /* 142042 */ // GIR_Coverage, 4466,
50426 /* 142042 */ GIR_EraseRootFromParent_Done,
50427 /* 142043 */ // Label 3084: @142043
50428 /* 142043 */ GIM_Try, /*On fail goto*//*Label 3085*/ GIMT_Encode4(142076), // Rule ID 4525 //
50429 /* 142048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
50430 /* 142051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
50431 /* 142055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50432 /* 142059 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50433 /* 142063 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src0) => (VMOVDQA32Zrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1)
50434 /* 142063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
50435 /* 142066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50436 /* 142068 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50437 /* 142070 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50438 /* 142072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50439 /* 142074 */ GIR_RootConstrainSelectedInstOperands,
50440 /* 142075 */ // GIR_Coverage, 4525,
50441 /* 142075 */ GIR_EraseRootFromParent_Done,
50442 /* 142076 */ // Label 3085: @142076
50443 /* 142076 */ GIM_Reject,
50444 /* 142077 */ // Label 3078: @142077
50445 /* 142077 */ GIM_Reject,
50446 /* 142078 */ // Label 2999: @142078
50447 /* 142078 */ GIM_Try, /*On fail goto*//*Label 3086*/ GIMT_Encode4(142481),
50448 /* 142083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
50449 /* 142086 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50450 /* 142089 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
50451 /* 142092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50452 /* 142096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
50453 /* 142100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50454 /* 142104 */ GIM_Try, /*On fail goto*//*Label 3087*/ GIMT_Encode4(142137), // Rule ID 4558 //
50455 /* 142109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50456 /* 142112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50457 /* 142116 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50458 /* 142122 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50459 /* 142124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50460 /* 142126 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src, immAllZerosV:{ *:[v32i8] }) => (VMOVDQU8Z256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
50461 /* 142126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrkz),
50462 /* 142129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50463 /* 142131 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50464 /* 142133 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
50465 /* 142135 */ GIR_RootConstrainSelectedInstOperands,
50466 /* 142136 */ // GIR_Coverage, 4558,
50467 /* 142136 */ GIR_EraseRootFromParent_Done,
50468 /* 142137 */ // Label 3087: @142137
50469 /* 142137 */ GIM_Try, /*On fail goto*//*Label 3088*/ GIMT_Encode4(142274), // Rule ID 19795 //
50470 /* 142142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
50471 /* 142145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50472 /* 142149 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50473 /* 142155 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50474 /* 142157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50475 /* 142159 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, immAllZerosV:{ *:[v32i8] }) => (EXTRACT_SUBREG:{ *:[v32i8] } (VMOVDQU8Zrrkz:{ *:[v64i8] } (COPY_TO_REGCLASS:{ *:[v64i1] } VK32WM:{ *:[v32i1] }:$mask, VK64WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR256X:{ *:[v32i8] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
50476 /* 142159 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
50477 /* 142162 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50478 /* 142166 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50479 /* 142171 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
50480 /* 142173 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
50481 /* 142176 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50482 /* 142180 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50483 /* 142185 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
50484 /* 142188 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
50485 /* 142192 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
50486 /* 142195 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50487 /* 142200 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50488 /* 142205 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50489 /* 142210 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
50490 /* 142213 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50491 /* 142217 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50492 /* 142222 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
50493 /* 142226 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
50494 /* 142231 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
50495 /* 142234 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
50496 /* 142238 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50497 /* 142243 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
50498 /* 142246 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
50499 /* 142249 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
50500 /* 142251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50501 /* 142254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50502 /* 142256 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
50503 /* 142263 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
50504 /* 142268 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50505 /* 142273 */ // GIR_Coverage, 19795,
50506 /* 142273 */ GIR_EraseRootFromParent_Done,
50507 /* 142274 */ // Label 3088: @142274
50508 /* 142274 */ GIM_Try, /*On fail goto*//*Label 3089*/ GIMT_Encode4(142299), // Rule ID 4559 //
50509 /* 142279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50510 /* 142282 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50511 /* 142286 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src0) => (VMOVDQU8Z256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1)
50512 /* 142286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrk),
50513 /* 142289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50514 /* 142291 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50515 /* 142293 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50516 /* 142295 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50517 /* 142297 */ GIR_RootConstrainSelectedInstOperands,
50518 /* 142298 */ // GIR_Coverage, 4559,
50519 /* 142298 */ GIR_EraseRootFromParent_Done,
50520 /* 142299 */ // Label 3089: @142299
50521 /* 142299 */ GIM_Try, /*On fail goto*//*Label 3090*/ GIMT_Encode4(142480), // Rule ID 19794 //
50522 /* 142304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
50523 /* 142307 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50524 /* 142311 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src0) => (EXTRACT_SUBREG:{ *:[v32i8] } (VMOVDQU8Zrrk:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR256X:{ *:[v32i8] }:$src0, sub_ymm:{ *:[i32] }), (COPY_TO_REGCLASS:{ *:[v64i1] } VK32WM:{ *:[v32i1] }:$mask, VK64WM:{ *:[i32] }), (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR256X:{ *:[v32i8] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
50525 /* 142311 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
50526 /* 142314 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50527 /* 142318 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50528 /* 142323 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
50529 /* 142325 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
50530 /* 142328 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50531 /* 142332 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50532 /* 142337 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
50533 /* 142340 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
50534 /* 142344 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
50535 /* 142347 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50536 /* 142352 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50537 /* 142357 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50538 /* 142362 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
50539 /* 142365 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50540 /* 142369 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50541 /* 142374 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
50542 /* 142378 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
50543 /* 142383 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
50544 /* 142386 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
50545 /* 142390 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50546 /* 142395 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
50547 /* 142397 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
50548 /* 142400 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
50549 /* 142404 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50550 /* 142409 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
50551 /* 142412 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
50552 /* 142416 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
50553 /* 142419 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
50554 /* 142424 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50555 /* 142429 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
50556 /* 142434 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
50557 /* 142437 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
50558 /* 142441 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
50559 /* 142446 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
50560 /* 142449 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
50561 /* 142452 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
50562 /* 142455 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
50563 /* 142457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
50564 /* 142460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50565 /* 142462 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
50566 /* 142469 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
50567 /* 142474 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
50568 /* 142479 */ // GIR_Coverage, 19794,
50569 /* 142479 */ GIR_EraseRootFromParent_Done,
50570 /* 142480 */ // Label 3090: @142480
50571 /* 142480 */ GIM_Reject,
50572 /* 142481 */ // Label 3086: @142481
50573 /* 142481 */ GIM_Reject,
50574 /* 142482 */ // Label 3000: @142482
50575 /* 142482 */ GIM_Try, /*On fail goto*//*Label 3091*/ GIMT_Encode4(142899),
50576 /* 142487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
50577 /* 142490 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50578 /* 142493 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
50579 /* 142496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50580 /* 142500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
50581 /* 142504 */ GIM_Try, /*On fail goto*//*Label 3092*/ GIMT_Encode4(142575), // Rule ID 19855 //
50582 /* 142509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50583 /* 142512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50584 /* 142516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50585 /* 142520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50586 /* 142523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50587 /* 142527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50588 /* 142531 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
50589 /* 142535 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
50590 /* 142539 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50591 /* 142545 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
50592 /* 142547 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
50593 /* 142549 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50594 /* 142556 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrmkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
50595 /* 142556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
50596 /* 142559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50597 /* 142561 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50598 /* 142563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
50599 /* 142567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
50600 /* 142573 */ GIR_RootConstrainSelectedInstOperands,
50601 /* 142574 */ // GIR_Coverage, 19855,
50602 /* 142574 */ GIR_EraseRootFromParent_Done,
50603 /* 142575 */ // Label 3092: @142575
50604 /* 142575 */ GIM_Try, /*On fail goto*//*Label 3093*/ GIMT_Encode4(142642), // Rule ID 19857 //
50605 /* 142580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50606 /* 142583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50607 /* 142587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50608 /* 142591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50609 /* 142594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50610 /* 142598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50611 /* 142602 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
50612 /* 142606 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50613 /* 142612 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
50614 /* 142614 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
50615 /* 142616 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50616 /* 142623 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrmkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
50617 /* 142623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
50618 /* 142626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50619 /* 142628 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50620 /* 142630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
50621 /* 142634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
50622 /* 142640 */ GIR_RootConstrainSelectedInstOperands,
50623 /* 142641 */ // GIR_Coverage, 19857,
50624 /* 142641 */ GIR_EraseRootFromParent_Done,
50625 /* 142642 */ // Label 3093: @142642
50626 /* 142642 */ GIM_Try, /*On fail goto*//*Label 3094*/ GIMT_Encode4(142706), // Rule ID 19854 //
50627 /* 142647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50628 /* 142650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50629 /* 142654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50630 /* 142658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50631 /* 142661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50632 /* 142665 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50633 /* 142669 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
50634 /* 142673 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50635 /* 142677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50636 /* 142679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50637 /* 142686 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>>, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrmk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
50638 /* 142686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
50639 /* 142689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50640 /* 142691 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50641 /* 142693 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50642 /* 142695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
50643 /* 142699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50644 /* 142704 */ GIR_RootConstrainSelectedInstOperands,
50645 /* 142705 */ // GIR_Coverage, 19854,
50646 /* 142705 */ GIR_EraseRootFromParent_Done,
50647 /* 142706 */ // Label 3094: @142706
50648 /* 142706 */ GIM_Try, /*On fail goto*//*Label 3095*/ GIMT_Encode4(142766), // Rule ID 19856 //
50649 /* 142711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50650 /* 142714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50651 /* 142718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50652 /* 142722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50653 /* 142725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50654 /* 142729 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50655 /* 142733 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50656 /* 142737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50657 /* 142739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50658 /* 142746 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrmk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, addr:{ *:[iPTR] }:$src)
50659 /* 142746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
50660 /* 142749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50661 /* 142751 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50662 /* 142753 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50663 /* 142755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
50664 /* 142759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50665 /* 142764 */ GIR_RootConstrainSelectedInstOperands,
50666 /* 142765 */ // GIR_Coverage, 19856,
50667 /* 142765 */ GIR_EraseRootFromParent_Done,
50668 /* 142766 */ // Label 3095: @142766
50669 /* 142766 */ GIM_Try, /*On fail goto*//*Label 3096*/ GIMT_Encode4(142803), // Rule ID 4566 //
50670 /* 142771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50671 /* 142774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50672 /* 142778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50673 /* 142782 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50674 /* 142788 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50675 /* 142790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50676 /* 142792 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src, immAllZerosV:{ *:[v32i16] }) => (VMOVDQU16Zrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
50677 /* 142792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
50678 /* 142795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50679 /* 142797 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50680 /* 142799 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
50681 /* 142801 */ GIR_RootConstrainSelectedInstOperands,
50682 /* 142802 */ // GIR_Coverage, 4566,
50683 /* 142802 */ GIR_EraseRootFromParent_Done,
50684 /* 142803 */ // Label 3096: @142803
50685 /* 142803 */ GIM_Try, /*On fail goto*//*Label 3097*/ GIMT_Encode4(142840), // Rule ID 19853 //
50686 /* 142808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50687 /* 142811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50688 /* 142815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50689 /* 142819 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50690 /* 142825 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50691 /* 142827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50692 /* 142829 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrrkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
50693 /* 142829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
50694 /* 142832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50695 /* 142834 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50696 /* 142836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50697 /* 142838 */ GIR_RootConstrainSelectedInstOperands,
50698 /* 142839 */ // GIR_Coverage, 19853,
50699 /* 142839 */ GIR_EraseRootFromParent_Done,
50700 /* 142840 */ // Label 3097: @142840
50701 /* 142840 */ GIM_Try, /*On fail goto*//*Label 3098*/ GIMT_Encode4(142869), // Rule ID 4567 //
50702 /* 142845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50703 /* 142848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50704 /* 142852 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50705 /* 142856 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1)
50706 /* 142856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
50707 /* 142859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50708 /* 142861 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50709 /* 142863 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50710 /* 142865 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50711 /* 142867 */ GIR_RootConstrainSelectedInstOperands,
50712 /* 142868 */ // GIR_Coverage, 4567,
50713 /* 142868 */ GIR_EraseRootFromParent_Done,
50714 /* 142869 */ // Label 3098: @142869
50715 /* 142869 */ GIM_Try, /*On fail goto*//*Label 3099*/ GIMT_Encode4(142898), // Rule ID 19852 //
50716 /* 142874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50717 /* 142877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50718 /* 142881 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50719 /* 142885 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
50720 /* 142885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
50721 /* 142888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50722 /* 142890 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50723 /* 142892 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50724 /* 142894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50725 /* 142896 */ GIR_RootConstrainSelectedInstOperands,
50726 /* 142897 */ // GIR_Coverage, 19852,
50727 /* 142897 */ GIR_EraseRootFromParent_Done,
50728 /* 142898 */ // Label 3099: @142898
50729 /* 142898 */ GIM_Reject,
50730 /* 142899 */ // Label 3091: @142899
50731 /* 142899 */ GIM_Reject,
50732 /* 142900 */ // Label 3001: @142900
50733 /* 142900 */ GIM_Try, /*On fail goto*//*Label 3100*/ GIMT_Encode4(142985),
50734 /* 142905 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
50735 /* 142908 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
50736 /* 142911 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
50737 /* 142914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50738 /* 142918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
50739 /* 142922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50740 /* 142926 */ GIM_Try, /*On fail goto*//*Label 3101*/ GIMT_Encode4(142959), // Rule ID 4554 //
50741 /* 142931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50742 /* 142934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
50743 /* 142938 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
50744 /* 142944 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
50745 /* 142946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50746 /* 142948 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src, immAllZerosV:{ *:[v64i8] }) => (VMOVDQU8Zrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
50747 /* 142948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
50748 /* 142951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50749 /* 142953 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50750 /* 142955 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
50751 /* 142957 */ GIR_RootConstrainSelectedInstOperands,
50752 /* 142958 */ // GIR_Coverage, 4554,
50753 /* 142958 */ GIR_EraseRootFromParent_Done,
50754 /* 142959 */ // Label 3101: @142959
50755 /* 142959 */ GIM_Try, /*On fail goto*//*Label 3102*/ GIMT_Encode4(142984), // Rule ID 4555 //
50756 /* 142964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50757 /* 142967 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50758 /* 142971 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src0) => (VMOVDQU8Zrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src0, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1)
50759 /* 142971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
50760 /* 142974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50761 /* 142976 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
50762 /* 142978 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
50763 /* 142980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50764 /* 142982 */ GIR_RootConstrainSelectedInstOperands,
50765 /* 142983 */ // GIR_Coverage, 4555,
50766 /* 142983 */ GIR_EraseRootFromParent_Done,
50767 /* 142984 */ // Label 3102: @142984
50768 /* 142984 */ GIM_Reject,
50769 /* 142985 */ // Label 3100: @142985
50770 /* 142985 */ GIM_Reject,
50771 /* 142986 */ // Label 3002: @142986
50772 /* 142986 */ GIM_Reject,
50773 /* 142987 */ // Label 36: @142987
50774 /* 142987 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(23), /*)*//*default:*//*Label 3106*/ GIMT_Encode4(143851),
50775 /* 142998 */ /*GILLT_v8s16*//*Label 3103*/ GIMT_Encode4(143038), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
50776 /* 143018 */ /*GILLT_v16s16*//*Label 3104*/ GIMT_Encode4(143380), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
50777 /* 143034 */ /*GILLT_v32s16*//*Label 3105*/ GIMT_Encode4(143695),
50778 /* 143038 */ // Label 3103: @143038
50779 /* 143038 */ GIM_Try, /*On fail goto*//*Label 3107*/ GIMT_Encode4(143379),
50780 /* 143043 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50781 /* 143046 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50782 /* 143049 */ GIM_Try, /*On fail goto*//*Label 3108*/ GIMT_Encode4(143111), // Rule ID 23489 //
50783 /* 143054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50784 /* 143057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50785 /* 143061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50786 /* 143065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50787 /* 143069 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50788 /* 143072 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50789 /* 143076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50790 /* 143080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50791 /* 143084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50792 /* 143086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50793 /* 143093 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50794 /* 143093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
50795 /* 143096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50796 /* 143098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50797 /* 143100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50798 /* 143104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50799 /* 143109 */ GIR_RootConstrainSelectedInstOperands,
50800 /* 143110 */ // GIR_Coverage, 23489,
50801 /* 143110 */ GIR_EraseRootFromParent_Done,
50802 /* 143111 */ // Label 3108: @143111
50803 /* 143111 */ GIM_Try, /*On fail goto*//*Label 3109*/ GIMT_Encode4(143173), // Rule ID 23879 //
50804 /* 143116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50805 /* 143119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50806 /* 143123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50807 /* 143127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50808 /* 143131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50809 /* 143134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50810 /* 143138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50811 /* 143142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50812 /* 143146 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50813 /* 143148 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50814 /* 143155 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50815 /* 143155 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
50816 /* 143158 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50817 /* 143160 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50818 /* 143162 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50819 /* 143166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50820 /* 143171 */ GIR_RootConstrainSelectedInstOperands,
50821 /* 143172 */ // GIR_Coverage, 23879,
50822 /* 143172 */ GIR_EraseRootFromParent_Done,
50823 /* 143173 */ // Label 3109: @143173
50824 /* 143173 */ GIM_Try, /*On fail goto*//*Label 3110*/ GIMT_Encode4(143235), // Rule ID 2576 //
50825 /* 143178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50826 /* 143181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50827 /* 143185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50828 /* 143189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50829 /* 143193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50830 /* 143197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50831 /* 143200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50832 /* 143204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50833 /* 143208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50834 /* 143210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50835 /* 143217 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50836 /* 143217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
50837 /* 143220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50838 /* 143222 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50839 /* 143224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50840 /* 143228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50841 /* 143233 */ GIR_RootConstrainSelectedInstOperands,
50842 /* 143234 */ // GIR_Coverage, 2576,
50843 /* 143234 */ GIR_EraseRootFromParent_Done,
50844 /* 143235 */ // Label 3110: @143235
50845 /* 143235 */ GIM_Try, /*On fail goto*//*Label 3111*/ GIMT_Encode4(143297), // Rule ID 5065 //
50846 /* 143240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50847 /* 143243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50848 /* 143247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50849 /* 143251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50850 /* 143255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50851 /* 143259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50852 /* 143262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50853 /* 143266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50854 /* 143270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50855 /* 143272 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50856 /* 143279 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50857 /* 143279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
50858 /* 143282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50859 /* 143284 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50860 /* 143286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50861 /* 143290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50862 /* 143295 */ GIR_RootConstrainSelectedInstOperands,
50863 /* 143296 */ // GIR_Coverage, 5065,
50864 /* 143296 */ GIR_EraseRootFromParent_Done,
50865 /* 143297 */ // Label 3111: @143297
50866 /* 143297 */ GIM_Try, /*On fail goto*//*Label 3112*/ GIMT_Encode4(143324), // Rule ID 2575 //
50867 /* 143302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50868 /* 143305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50869 /* 143309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50870 /* 143313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50871 /* 143317 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50872 /* 143317 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrr),
50873 /* 143322 */ GIR_RootConstrainSelectedInstOperands,
50874 /* 143323 */ // GIR_Coverage, 2575,
50875 /* 143323 */ GIR_Done,
50876 /* 143324 */ // Label 3112: @143324
50877 /* 143324 */ GIM_Try, /*On fail goto*//*Label 3113*/ GIMT_Encode4(143351), // Rule ID 2577 //
50878 /* 143329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50879 /* 143332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50880 /* 143336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50881 /* 143340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50882 /* 143344 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50883 /* 143344 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHUWrr),
50884 /* 143349 */ GIR_RootConstrainSelectedInstOperands,
50885 /* 143350 */ // GIR_Coverage, 2577,
50886 /* 143350 */ GIR_Done,
50887 /* 143351 */ // Label 3113: @143351
50888 /* 143351 */ GIM_Try, /*On fail goto*//*Label 3114*/ GIMT_Encode4(143378), // Rule ID 5062 //
50889 /* 143356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50890 /* 143359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50891 /* 143363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50892 /* 143367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50893 /* 143371 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50894 /* 143371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rr),
50895 /* 143376 */ GIR_RootConstrainSelectedInstOperands,
50896 /* 143377 */ // GIR_Coverage, 5062,
50897 /* 143377 */ GIR_Done,
50898 /* 143378 */ // Label 3114: @143378
50899 /* 143378 */ GIM_Reject,
50900 /* 143379 */ // Label 3107: @143379
50901 /* 143379 */ GIM_Reject,
50902 /* 143380 */ // Label 3104: @143380
50903 /* 143380 */ GIM_Try, /*On fail goto*//*Label 3115*/ GIMT_Encode4(143694),
50904 /* 143385 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50905 /* 143388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50906 /* 143391 */ GIM_Try, /*On fail goto*//*Label 3116*/ GIMT_Encode4(143453), // Rule ID 23491 //
50907 /* 143396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50908 /* 143399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50909 /* 143403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50910 /* 143407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50911 /* 143411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50912 /* 143414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50913 /* 143418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50914 /* 143422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50915 /* 143426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50916 /* 143428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50917 /* 143435 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50918 /* 143435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
50919 /* 143438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50920 /* 143440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50921 /* 143442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50922 /* 143446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50923 /* 143451 */ GIR_RootConstrainSelectedInstOperands,
50924 /* 143452 */ // GIR_Coverage, 23491,
50925 /* 143452 */ GIR_EraseRootFromParent_Done,
50926 /* 143453 */ // Label 3116: @143453
50927 /* 143453 */ GIM_Try, /*On fail goto*//*Label 3117*/ GIMT_Encode4(143515), // Rule ID 23876 //
50928 /* 143458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50929 /* 143461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50930 /* 143465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50931 /* 143469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50932 /* 143473 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50933 /* 143476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50934 /* 143480 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50935 /* 143484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50936 /* 143488 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50937 /* 143490 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50938 /* 143497 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50939 /* 143497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
50940 /* 143500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50941 /* 143502 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50942 /* 143504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50943 /* 143508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50944 /* 143513 */ GIR_RootConstrainSelectedInstOperands,
50945 /* 143514 */ // GIR_Coverage, 23876,
50946 /* 143514 */ GIR_EraseRootFromParent_Done,
50947 /* 143515 */ // Label 3117: @143515
50948 /* 143515 */ GIM_Try, /*On fail goto*//*Label 3118*/ GIMT_Encode4(143577), // Rule ID 2580 //
50949 /* 143520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50950 /* 143523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50951 /* 143527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50952 /* 143531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50953 /* 143535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50954 /* 143539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50955 /* 143542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50956 /* 143546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50957 /* 143550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50958 /* 143552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50959 /* 143559 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50960 /* 143559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
50961 /* 143562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50962 /* 143564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50963 /* 143566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50964 /* 143570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50965 /* 143575 */ GIR_RootConstrainSelectedInstOperands,
50966 /* 143576 */ // GIR_Coverage, 2580,
50967 /* 143576 */ GIR_EraseRootFromParent_Done,
50968 /* 143577 */ // Label 3118: @143577
50969 /* 143577 */ GIM_Try, /*On fail goto*//*Label 3119*/ GIMT_Encode4(143639), // Rule ID 5059 //
50970 /* 143582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50971 /* 143585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50972 /* 143589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50973 /* 143593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50974 /* 143597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50975 /* 143601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50976 /* 143604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50977 /* 143608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50978 /* 143612 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50979 /* 143614 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50980 /* 143621 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50981 /* 143621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
50982 /* 143624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50983 /* 143626 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50984 /* 143628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50985 /* 143632 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50986 /* 143637 */ GIR_RootConstrainSelectedInstOperands,
50987 /* 143638 */ // GIR_Coverage, 5059,
50988 /* 143638 */ GIR_EraseRootFromParent_Done,
50989 /* 143639 */ // Label 3119: @143639
50990 /* 143639 */ GIM_Try, /*On fail goto*//*Label 3120*/ GIMT_Encode4(143666), // Rule ID 2579 //
50991 /* 143644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50992 /* 143647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50993 /* 143651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50994 /* 143655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50995 /* 143659 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50996 /* 143659 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrr),
50997 /* 143664 */ GIR_RootConstrainSelectedInstOperands,
50998 /* 143665 */ // GIR_Coverage, 2579,
50999 /* 143665 */ GIR_Done,
51000 /* 143666 */ // Label 3120: @143666
51001 /* 143666 */ GIM_Try, /*On fail goto*//*Label 3121*/ GIMT_Encode4(143693), // Rule ID 5056 //
51002 /* 143671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51003 /* 143674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51004 /* 143678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51005 /* 143682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51006 /* 143686 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51007 /* 143686 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rr),
51008 /* 143691 */ GIR_RootConstrainSelectedInstOperands,
51009 /* 143692 */ // GIR_Coverage, 5056,
51010 /* 143692 */ GIR_Done,
51011 /* 143693 */ // Label 3121: @143693
51012 /* 143693 */ GIM_Reject,
51013 /* 143694 */ // Label 3115: @143694
51014 /* 143694 */ GIM_Reject,
51015 /* 143695 */ // Label 3105: @143695
51016 /* 143695 */ GIM_Try, /*On fail goto*//*Label 3122*/ GIMT_Encode4(143850),
51017 /* 143700 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51018 /* 143703 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51019 /* 143706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51020 /* 143710 */ GIM_Try, /*On fail goto*//*Label 3123*/ GIMT_Encode4(143768), // Rule ID 23873 //
51021 /* 143715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51022 /* 143718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51023 /* 143722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51024 /* 143726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51025 /* 143729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51026 /* 143733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51027 /* 143737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51028 /* 143741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51029 /* 143743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51030 /* 143750 */ // (mulhu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51031 /* 143750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
51032 /* 143753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51033 /* 143755 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51034 /* 143757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51035 /* 143761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51036 /* 143766 */ GIR_RootConstrainSelectedInstOperands,
51037 /* 143767 */ // GIR_Coverage, 23873,
51038 /* 143767 */ GIR_EraseRootFromParent_Done,
51039 /* 143768 */ // Label 3123: @143768
51040 /* 143768 */ GIM_Try, /*On fail goto*//*Label 3124*/ GIMT_Encode4(143826), // Rule ID 5053 //
51041 /* 143773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51042 /* 143776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51043 /* 143780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51044 /* 143784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51045 /* 143788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51046 /* 143791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51047 /* 143795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51048 /* 143799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51049 /* 143801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51050 /* 143808 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51051 /* 143808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
51052 /* 143811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51053 /* 143813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51054 /* 143815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51055 /* 143819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51056 /* 143824 */ GIR_RootConstrainSelectedInstOperands,
51057 /* 143825 */ // GIR_Coverage, 5053,
51058 /* 143825 */ GIR_EraseRootFromParent_Done,
51059 /* 143826 */ // Label 3124: @143826
51060 /* 143826 */ GIM_Try, /*On fail goto*//*Label 3125*/ GIMT_Encode4(143849), // Rule ID 5050 //
51061 /* 143831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51062 /* 143834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51063 /* 143838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51064 /* 143842 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51065 /* 143842 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrr),
51066 /* 143847 */ GIR_RootConstrainSelectedInstOperands,
51067 /* 143848 */ // GIR_Coverage, 5050,
51068 /* 143848 */ GIR_Done,
51069 /* 143849 */ // Label 3125: @143849
51070 /* 143849 */ GIM_Reject,
51071 /* 143850 */ // Label 3122: @143850
51072 /* 143850 */ GIM_Reject,
51073 /* 143851 */ // Label 3106: @143851
51074 /* 143851 */ GIM_Reject,
51075 /* 143852 */ // Label 37: @143852
51076 /* 143852 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(23), /*)*//*default:*//*Label 3129*/ GIMT_Encode4(144716),
51077 /* 143863 */ /*GILLT_v8s16*//*Label 3126*/ GIMT_Encode4(143903), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51078 /* 143883 */ /*GILLT_v16s16*//*Label 3127*/ GIMT_Encode4(144245), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51079 /* 143899 */ /*GILLT_v32s16*//*Label 3128*/ GIMT_Encode4(144560),
51080 /* 143903 */ // Label 3126: @143903
51081 /* 143903 */ GIM_Try, /*On fail goto*//*Label 3130*/ GIMT_Encode4(144244),
51082 /* 143908 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51083 /* 143911 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51084 /* 143914 */ GIM_Try, /*On fail goto*//*Label 3131*/ GIMT_Encode4(143976), // Rule ID 23492 //
51085 /* 143919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51086 /* 143922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51087 /* 143926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51088 /* 143930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51089 /* 143934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51090 /* 143937 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51091 /* 143941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51092 /* 143945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51093 /* 143949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51094 /* 143951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51095 /* 143958 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51096 /* 143958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
51097 /* 143961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51098 /* 143963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51099 /* 143965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51100 /* 143969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51101 /* 143974 */ GIR_RootConstrainSelectedInstOperands,
51102 /* 143975 */ // GIR_Coverage, 23492,
51103 /* 143975 */ GIR_EraseRootFromParent_Done,
51104 /* 143976 */ // Label 3131: @143976
51105 /* 143976 */ GIM_Try, /*On fail goto*//*Label 3132*/ GIMT_Encode4(144038), // Rule ID 23870 //
51106 /* 143981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51107 /* 143984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51108 /* 143988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51109 /* 143992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51110 /* 143996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51111 /* 143999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51112 /* 144003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51113 /* 144007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51114 /* 144011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51115 /* 144013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51116 /* 144020 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51117 /* 144020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
51118 /* 144023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51119 /* 144025 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51120 /* 144027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51121 /* 144031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51122 /* 144036 */ GIR_RootConstrainSelectedInstOperands,
51123 /* 144037 */ // GIR_Coverage, 23870,
51124 /* 144037 */ GIR_EraseRootFromParent_Done,
51125 /* 144038 */ // Label 3132: @144038
51126 /* 144038 */ GIM_Try, /*On fail goto*//*Label 3133*/ GIMT_Encode4(144100), // Rule ID 2582 //
51127 /* 144043 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51128 /* 144046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51129 /* 144050 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51130 /* 144054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51131 /* 144058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51132 /* 144062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51133 /* 144065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51134 /* 144069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51135 /* 144073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51136 /* 144075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51137 /* 144082 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51138 /* 144082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
51139 /* 144085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51140 /* 144087 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51141 /* 144089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51142 /* 144093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51143 /* 144098 */ GIR_RootConstrainSelectedInstOperands,
51144 /* 144099 */ // GIR_Coverage, 2582,
51145 /* 144099 */ GIR_EraseRootFromParent_Done,
51146 /* 144100 */ // Label 3133: @144100
51147 /* 144100 */ GIM_Try, /*On fail goto*//*Label 3134*/ GIMT_Encode4(144162), // Rule ID 5047 //
51148 /* 144105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51149 /* 144108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51150 /* 144112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51151 /* 144116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51152 /* 144120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51153 /* 144124 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51154 /* 144127 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51155 /* 144131 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51156 /* 144135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51157 /* 144137 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51158 /* 144144 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51159 /* 144144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
51160 /* 144147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51161 /* 144149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51162 /* 144151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51163 /* 144155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51164 /* 144160 */ GIR_RootConstrainSelectedInstOperands,
51165 /* 144161 */ // GIR_Coverage, 5047,
51166 /* 144161 */ GIR_EraseRootFromParent_Done,
51167 /* 144162 */ // Label 3134: @144162
51168 /* 144162 */ GIM_Try, /*On fail goto*//*Label 3135*/ GIMT_Encode4(144189), // Rule ID 2581 //
51169 /* 144167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51170 /* 144170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51171 /* 144174 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51172 /* 144178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51173 /* 144182 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51174 /* 144182 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWrr),
51175 /* 144187 */ GIR_RootConstrainSelectedInstOperands,
51176 /* 144188 */ // GIR_Coverage, 2581,
51177 /* 144188 */ GIR_Done,
51178 /* 144189 */ // Label 3135: @144189
51179 /* 144189 */ GIM_Try, /*On fail goto*//*Label 3136*/ GIMT_Encode4(144216), // Rule ID 2583 //
51180 /* 144194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51181 /* 144197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51182 /* 144201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51183 /* 144205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51184 /* 144209 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51185 /* 144209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHWrr),
51186 /* 144214 */ GIR_RootConstrainSelectedInstOperands,
51187 /* 144215 */ // GIR_Coverage, 2583,
51188 /* 144215 */ GIR_Done,
51189 /* 144216 */ // Label 3136: @144216
51190 /* 144216 */ GIM_Try, /*On fail goto*//*Label 3137*/ GIMT_Encode4(144243), // Rule ID 5044 //
51191 /* 144221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51192 /* 144224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51193 /* 144228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51194 /* 144232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51195 /* 144236 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51196 /* 144236 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rr),
51197 /* 144241 */ GIR_RootConstrainSelectedInstOperands,
51198 /* 144242 */ // GIR_Coverage, 5044,
51199 /* 144242 */ GIR_Done,
51200 /* 144243 */ // Label 3137: @144243
51201 /* 144243 */ GIM_Reject,
51202 /* 144244 */ // Label 3130: @144244
51203 /* 144244 */ GIM_Reject,
51204 /* 144245 */ // Label 3127: @144245
51205 /* 144245 */ GIM_Try, /*On fail goto*//*Label 3138*/ GIMT_Encode4(144559),
51206 /* 144250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51207 /* 144253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51208 /* 144256 */ GIM_Try, /*On fail goto*//*Label 3139*/ GIMT_Encode4(144318), // Rule ID 23494 //
51209 /* 144261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51210 /* 144264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51211 /* 144268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51212 /* 144272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51213 /* 144276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51214 /* 144279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51215 /* 144283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51216 /* 144287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51217 /* 144291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51218 /* 144293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51219 /* 144300 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51220 /* 144300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
51221 /* 144303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51222 /* 144305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51223 /* 144307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51224 /* 144311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51225 /* 144316 */ GIR_RootConstrainSelectedInstOperands,
51226 /* 144317 */ // GIR_Coverage, 23494,
51227 /* 144317 */ GIR_EraseRootFromParent_Done,
51228 /* 144318 */ // Label 3139: @144318
51229 /* 144318 */ GIM_Try, /*On fail goto*//*Label 3140*/ GIMT_Encode4(144380), // Rule ID 23867 //
51230 /* 144323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51231 /* 144326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51232 /* 144330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51233 /* 144334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51234 /* 144338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51235 /* 144341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51236 /* 144345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51237 /* 144349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51238 /* 144353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51239 /* 144355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51240 /* 144362 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51241 /* 144362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
51242 /* 144365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51243 /* 144367 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51244 /* 144369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51245 /* 144373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51246 /* 144378 */ GIR_RootConstrainSelectedInstOperands,
51247 /* 144379 */ // GIR_Coverage, 23867,
51248 /* 144379 */ GIR_EraseRootFromParent_Done,
51249 /* 144380 */ // Label 3140: @144380
51250 /* 144380 */ GIM_Try, /*On fail goto*//*Label 3141*/ GIMT_Encode4(144442), // Rule ID 2586 //
51251 /* 144385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51252 /* 144388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51253 /* 144392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51254 /* 144396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51255 /* 144400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51256 /* 144404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51257 /* 144407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51258 /* 144411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51259 /* 144415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51260 /* 144417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51261 /* 144424 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51262 /* 144424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
51263 /* 144427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51264 /* 144429 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51265 /* 144431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51266 /* 144435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51267 /* 144440 */ GIR_RootConstrainSelectedInstOperands,
51268 /* 144441 */ // GIR_Coverage, 2586,
51269 /* 144441 */ GIR_EraseRootFromParent_Done,
51270 /* 144442 */ // Label 3141: @144442
51271 /* 144442 */ GIM_Try, /*On fail goto*//*Label 3142*/ GIMT_Encode4(144504), // Rule ID 5041 //
51272 /* 144447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51273 /* 144450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51274 /* 144454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51275 /* 144458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51276 /* 144462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51277 /* 144466 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51278 /* 144469 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51279 /* 144473 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51280 /* 144477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51281 /* 144479 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51282 /* 144486 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51283 /* 144486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
51284 /* 144489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51285 /* 144491 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51286 /* 144493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51287 /* 144497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51288 /* 144502 */ GIR_RootConstrainSelectedInstOperands,
51289 /* 144503 */ // GIR_Coverage, 5041,
51290 /* 144503 */ GIR_EraseRootFromParent_Done,
51291 /* 144504 */ // Label 3142: @144504
51292 /* 144504 */ GIM_Try, /*On fail goto*//*Label 3143*/ GIMT_Encode4(144531), // Rule ID 2585 //
51293 /* 144509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51294 /* 144512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51295 /* 144516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51296 /* 144520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51297 /* 144524 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51298 /* 144524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrr),
51299 /* 144529 */ GIR_RootConstrainSelectedInstOperands,
51300 /* 144530 */ // GIR_Coverage, 2585,
51301 /* 144530 */ GIR_Done,
51302 /* 144531 */ // Label 3143: @144531
51303 /* 144531 */ GIM_Try, /*On fail goto*//*Label 3144*/ GIMT_Encode4(144558), // Rule ID 5038 //
51304 /* 144536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51305 /* 144539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51306 /* 144543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51307 /* 144547 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51308 /* 144551 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51309 /* 144551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rr),
51310 /* 144556 */ GIR_RootConstrainSelectedInstOperands,
51311 /* 144557 */ // GIR_Coverage, 5038,
51312 /* 144557 */ GIR_Done,
51313 /* 144558 */ // Label 3144: @144558
51314 /* 144558 */ GIM_Reject,
51315 /* 144559 */ // Label 3138: @144559
51316 /* 144559 */ GIM_Reject,
51317 /* 144560 */ // Label 3128: @144560
51318 /* 144560 */ GIM_Try, /*On fail goto*//*Label 3145*/ GIMT_Encode4(144715),
51319 /* 144565 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51320 /* 144568 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51321 /* 144571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51322 /* 144575 */ GIM_Try, /*On fail goto*//*Label 3146*/ GIMT_Encode4(144633), // Rule ID 23864 //
51323 /* 144580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51324 /* 144583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51325 /* 144587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51326 /* 144591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51327 /* 144594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51328 /* 144598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51329 /* 144602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51330 /* 144606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51331 /* 144608 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51332 /* 144615 */ // (mulhs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51333 /* 144615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
51334 /* 144618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51335 /* 144620 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51336 /* 144622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51337 /* 144626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51338 /* 144631 */ GIR_RootConstrainSelectedInstOperands,
51339 /* 144632 */ // GIR_Coverage, 23864,
51340 /* 144632 */ GIR_EraseRootFromParent_Done,
51341 /* 144633 */ // Label 3146: @144633
51342 /* 144633 */ GIM_Try, /*On fail goto*//*Label 3147*/ GIMT_Encode4(144691), // Rule ID 5035 //
51343 /* 144638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51344 /* 144641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51345 /* 144645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51346 /* 144649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51347 /* 144653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51348 /* 144656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51349 /* 144660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51350 /* 144664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51351 /* 144666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51352 /* 144673 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51353 /* 144673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
51354 /* 144676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51355 /* 144678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51356 /* 144680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51357 /* 144684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51358 /* 144689 */ GIR_RootConstrainSelectedInstOperands,
51359 /* 144690 */ // GIR_Coverage, 5035,
51360 /* 144690 */ GIR_EraseRootFromParent_Done,
51361 /* 144691 */ // Label 3147: @144691
51362 /* 144691 */ GIM_Try, /*On fail goto*//*Label 3148*/ GIMT_Encode4(144714), // Rule ID 5032 //
51363 /* 144696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51364 /* 144699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51365 /* 144703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51366 /* 144707 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51367 /* 144707 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrr),
51368 /* 144712 */ GIR_RootConstrainSelectedInstOperands,
51369 /* 144713 */ // GIR_Coverage, 5032,
51370 /* 144713 */ GIR_Done,
51371 /* 144714 */ // Label 3148: @144714
51372 /* 144714 */ GIM_Reject,
51373 /* 144715 */ // Label 3145: @144715
51374 /* 144715 */ GIM_Reject,
51375 /* 144716 */ // Label 3129: @144716
51376 /* 144716 */ GIM_Reject,
51377 /* 144717 */ // Label 38: @144717
51378 /* 144717 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3155*/ GIMT_Encode4(146402),
51379 /* 144728 */ /*GILLT_v8s16*//*Label 3149*/ GIMT_Encode4(144776), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51380 /* 144744 */ /*GILLT_v16s8*//*Label 3150*/ GIMT_Encode4(145118),
51381 /* 144748 */ /*GILLT_v16s16*//*Label 3151*/ GIMT_Encode4(145460), GIMT_Encode4(0), GIMT_Encode4(0),
51382 /* 144760 */ /*GILLT_v32s8*//*Label 3152*/ GIMT_Encode4(145775),
51383 /* 144764 */ /*GILLT_v32s16*//*Label 3153*/ GIMT_Encode4(146090), GIMT_Encode4(0),
51384 /* 144772 */ /*GILLT_v64s8*//*Label 3154*/ GIMT_Encode4(146246),
51385 /* 144776 */ // Label 3149: @144776
51386 /* 144776 */ GIM_Try, /*On fail goto*//*Label 3156*/ GIMT_Encode4(145117),
51387 /* 144781 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51388 /* 144784 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51389 /* 144787 */ GIM_Try, /*On fail goto*//*Label 3157*/ GIMT_Encode4(144849), // Rule ID 23483 //
51390 /* 144792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51391 /* 144795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51392 /* 144799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51393 /* 144803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51394 /* 144807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51395 /* 144810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51396 /* 144814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51397 /* 144818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51398 /* 144822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51399 /* 144824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51400 /* 144831 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51401 /* 144831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
51402 /* 144834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51403 /* 144836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51404 /* 144838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51405 /* 144842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51406 /* 144847 */ GIR_RootConstrainSelectedInstOperands,
51407 /* 144848 */ // GIR_Coverage, 23483,
51408 /* 144848 */ GIR_EraseRootFromParent_Done,
51409 /* 144849 */ // Label 3157: @144849
51410 /* 144849 */ GIM_Try, /*On fail goto*//*Label 3158*/ GIMT_Encode4(144911), // Rule ID 23807 //
51411 /* 144854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51412 /* 144857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51413 /* 144861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51414 /* 144865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51415 /* 144869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51416 /* 144872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51417 /* 144876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51418 /* 144880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51419 /* 144884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51420 /* 144886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51421 /* 144893 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51422 /* 144893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
51423 /* 144896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51424 /* 144898 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51425 /* 144900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51426 /* 144904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51427 /* 144909 */ GIR_RootConstrainSelectedInstOperands,
51428 /* 144910 */ // GIR_Coverage, 23807,
51429 /* 144910 */ GIR_EraseRootFromParent_Done,
51430 /* 144911 */ // Label 3158: @144911
51431 /* 144911 */ GIM_Try, /*On fail goto*//*Label 3159*/ GIMT_Encode4(144973), // Rule ID 2564 //
51432 /* 144916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51433 /* 144919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51434 /* 144923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51435 /* 144927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51436 /* 144931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51437 /* 144935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51438 /* 144938 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51439 /* 144942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51440 /* 144946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51441 /* 144948 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51442 /* 144955 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51443 /* 144955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
51444 /* 144958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51445 /* 144960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51446 /* 144962 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51447 /* 144966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51448 /* 144971 */ GIR_RootConstrainSelectedInstOperands,
51449 /* 144972 */ // GIR_Coverage, 2564,
51450 /* 144972 */ GIR_EraseRootFromParent_Done,
51451 /* 144973 */ // Label 3159: @144973
51452 /* 144973 */ GIM_Try, /*On fail goto*//*Label 3160*/ GIMT_Encode4(145035), // Rule ID 4903 //
51453 /* 144978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51454 /* 144981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51455 /* 144985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51456 /* 144989 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51457 /* 144993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51458 /* 144997 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51459 /* 145000 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51460 /* 145004 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51461 /* 145008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51462 /* 145010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51463 /* 145017 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51464 /* 145017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
51465 /* 145020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51466 /* 145022 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51467 /* 145024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51468 /* 145028 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51469 /* 145033 */ GIR_RootConstrainSelectedInstOperands,
51470 /* 145034 */ // GIR_Coverage, 4903,
51471 /* 145034 */ GIR_EraseRootFromParent_Done,
51472 /* 145035 */ // Label 3160: @145035
51473 /* 145035 */ GIM_Try, /*On fail goto*//*Label 3161*/ GIMT_Encode4(145062), // Rule ID 2563 //
51474 /* 145040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51475 /* 145043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51476 /* 145047 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51477 /* 145051 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51478 /* 145055 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51479 /* 145055 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrr),
51480 /* 145060 */ GIR_RootConstrainSelectedInstOperands,
51481 /* 145061 */ // GIR_Coverage, 2563,
51482 /* 145061 */ GIR_Done,
51483 /* 145062 */ // Label 3161: @145062
51484 /* 145062 */ GIM_Try, /*On fail goto*//*Label 3162*/ GIMT_Encode4(145089), // Rule ID 2565 //
51485 /* 145067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51486 /* 145070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51487 /* 145074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51488 /* 145078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51489 /* 145082 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51490 /* 145082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSWrr),
51491 /* 145087 */ GIR_RootConstrainSelectedInstOperands,
51492 /* 145088 */ // GIR_Coverage, 2565,
51493 /* 145088 */ GIR_Done,
51494 /* 145089 */ // Label 3162: @145089
51495 /* 145089 */ GIM_Try, /*On fail goto*//*Label 3163*/ GIMT_Encode4(145116), // Rule ID 4900 //
51496 /* 145094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51497 /* 145097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51498 /* 145101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51499 /* 145105 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51500 /* 145109 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51501 /* 145109 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rr),
51502 /* 145114 */ GIR_RootConstrainSelectedInstOperands,
51503 /* 145115 */ // GIR_Coverage, 4900,
51504 /* 145115 */ GIR_Done,
51505 /* 145116 */ // Label 3163: @145116
51506 /* 145116 */ GIM_Reject,
51507 /* 145117 */ // Label 3156: @145117
51508 /* 145117 */ GIM_Reject,
51509 /* 145118 */ // Label 3150: @145118
51510 /* 145118 */ GIM_Try, /*On fail goto*//*Label 3164*/ GIMT_Encode4(145459),
51511 /* 145123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
51512 /* 145126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
51513 /* 145129 */ GIM_Try, /*On fail goto*//*Label 3165*/ GIMT_Encode4(145191), // Rule ID 23480 //
51514 /* 145134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51515 /* 145137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51516 /* 145141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51517 /* 145145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51518 /* 145149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51519 /* 145152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51520 /* 145156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51521 /* 145160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51522 /* 145164 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51523 /* 145166 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51524 /* 145173 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51525 /* 145173 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
51526 /* 145176 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51527 /* 145178 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51528 /* 145180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51529 /* 145184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51530 /* 145189 */ GIR_RootConstrainSelectedInstOperands,
51531 /* 145190 */ // GIR_Coverage, 23480,
51532 /* 145190 */ GIR_EraseRootFromParent_Done,
51533 /* 145191 */ // Label 3165: @145191
51534 /* 145191 */ GIM_Try, /*On fail goto*//*Label 3166*/ GIMT_Encode4(145253), // Rule ID 23816 //
51535 /* 145196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51536 /* 145199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51537 /* 145203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51538 /* 145207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51539 /* 145211 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51540 /* 145214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51541 /* 145218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51542 /* 145222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51543 /* 145226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51544 /* 145228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51545 /* 145235 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51546 /* 145235 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
51547 /* 145238 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51548 /* 145240 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51549 /* 145242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51550 /* 145246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51551 /* 145251 */ GIR_RootConstrainSelectedInstOperands,
51552 /* 145252 */ // GIR_Coverage, 23816,
51553 /* 145252 */ GIR_EraseRootFromParent_Done,
51554 /* 145253 */ // Label 3166: @145253
51555 /* 145253 */ GIM_Try, /*On fail goto*//*Label 3167*/ GIMT_Encode4(145315), // Rule ID 2558 //
51556 /* 145258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51557 /* 145261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51558 /* 145265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51559 /* 145269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51560 /* 145273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51561 /* 145277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51562 /* 145280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51563 /* 145284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51564 /* 145288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51565 /* 145290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51566 /* 145297 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51567 /* 145297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
51568 /* 145300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51569 /* 145302 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51570 /* 145304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51571 /* 145308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51572 /* 145313 */ GIR_RootConstrainSelectedInstOperands,
51573 /* 145314 */ // GIR_Coverage, 2558,
51574 /* 145314 */ GIR_EraseRootFromParent_Done,
51575 /* 145315 */ // Label 3167: @145315
51576 /* 145315 */ GIM_Try, /*On fail goto*//*Label 3168*/ GIMT_Encode4(145377), // Rule ID 4921 //
51577 /* 145320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51578 /* 145323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51579 /* 145327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51580 /* 145331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51581 /* 145335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51582 /* 145339 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51583 /* 145342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51584 /* 145346 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51585 /* 145350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51586 /* 145352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51587 /* 145359 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51588 /* 145359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
51589 /* 145362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51590 /* 145364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51591 /* 145366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51592 /* 145370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51593 /* 145375 */ GIR_RootConstrainSelectedInstOperands,
51594 /* 145376 */ // GIR_Coverage, 4921,
51595 /* 145376 */ GIR_EraseRootFromParent_Done,
51596 /* 145377 */ // Label 3168: @145377
51597 /* 145377 */ GIM_Try, /*On fail goto*//*Label 3169*/ GIMT_Encode4(145404), // Rule ID 2557 //
51598 /* 145382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51599 /* 145385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51600 /* 145389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51601 /* 145393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51602 /* 145397 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51603 /* 145397 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrr),
51604 /* 145402 */ GIR_RootConstrainSelectedInstOperands,
51605 /* 145403 */ // GIR_Coverage, 2557,
51606 /* 145403 */ GIR_Done,
51607 /* 145404 */ // Label 3169: @145404
51608 /* 145404 */ GIM_Try, /*On fail goto*//*Label 3170*/ GIMT_Encode4(145431), // Rule ID 2559 //
51609 /* 145409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51610 /* 145412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51611 /* 145416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51612 /* 145420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51613 /* 145424 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51614 /* 145424 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSBrr),
51615 /* 145429 */ GIR_RootConstrainSelectedInstOperands,
51616 /* 145430 */ // GIR_Coverage, 2559,
51617 /* 145430 */ GIR_Done,
51618 /* 145431 */ // Label 3170: @145431
51619 /* 145431 */ GIM_Try, /*On fail goto*//*Label 3171*/ GIMT_Encode4(145458), // Rule ID 4918 //
51620 /* 145436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51621 /* 145439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51622 /* 145443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51623 /* 145447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51624 /* 145451 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51625 /* 145451 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rr),
51626 /* 145456 */ GIR_RootConstrainSelectedInstOperands,
51627 /* 145457 */ // GIR_Coverage, 4918,
51628 /* 145457 */ GIR_Done,
51629 /* 145458 */ // Label 3171: @145458
51630 /* 145458 */ GIM_Reject,
51631 /* 145459 */ // Label 3164: @145459
51632 /* 145459 */ GIM_Reject,
51633 /* 145460 */ // Label 3151: @145460
51634 /* 145460 */ GIM_Try, /*On fail goto*//*Label 3172*/ GIMT_Encode4(145774),
51635 /* 145465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51636 /* 145468 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51637 /* 145471 */ GIM_Try, /*On fail goto*//*Label 3173*/ GIMT_Encode4(145533), // Rule ID 23485 //
51638 /* 145476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51639 /* 145479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51640 /* 145483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51641 /* 145487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51642 /* 145491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51643 /* 145494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51644 /* 145498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51645 /* 145502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51646 /* 145506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51647 /* 145508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51648 /* 145515 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51649 /* 145515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
51650 /* 145518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51651 /* 145520 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51652 /* 145522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51653 /* 145526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51654 /* 145531 */ GIR_RootConstrainSelectedInstOperands,
51655 /* 145532 */ // GIR_Coverage, 23485,
51656 /* 145532 */ GIR_EraseRootFromParent_Done,
51657 /* 145533 */ // Label 3173: @145533
51658 /* 145533 */ GIM_Try, /*On fail goto*//*Label 3174*/ GIMT_Encode4(145595), // Rule ID 23804 //
51659 /* 145538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51660 /* 145541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51661 /* 145545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51662 /* 145549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51663 /* 145553 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51664 /* 145556 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51665 /* 145560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51666 /* 145564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51667 /* 145568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51668 /* 145570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51669 /* 145577 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51670 /* 145577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
51671 /* 145580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51672 /* 145582 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51673 /* 145584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51674 /* 145588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51675 /* 145593 */ GIR_RootConstrainSelectedInstOperands,
51676 /* 145594 */ // GIR_Coverage, 23804,
51677 /* 145594 */ GIR_EraseRootFromParent_Done,
51678 /* 145595 */ // Label 3174: @145595
51679 /* 145595 */ GIM_Try, /*On fail goto*//*Label 3175*/ GIMT_Encode4(145657), // Rule ID 2568 //
51680 /* 145600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51681 /* 145603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51682 /* 145607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51683 /* 145611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51684 /* 145615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51685 /* 145619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51686 /* 145622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51687 /* 145626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51688 /* 145630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51689 /* 145632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51690 /* 145639 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51691 /* 145639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
51692 /* 145642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51693 /* 145644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51694 /* 145646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51695 /* 145650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51696 /* 145655 */ GIR_RootConstrainSelectedInstOperands,
51697 /* 145656 */ // GIR_Coverage, 2568,
51698 /* 145656 */ GIR_EraseRootFromParent_Done,
51699 /* 145657 */ // Label 3175: @145657
51700 /* 145657 */ GIM_Try, /*On fail goto*//*Label 3176*/ GIMT_Encode4(145719), // Rule ID 4897 //
51701 /* 145662 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51702 /* 145665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51703 /* 145669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51704 /* 145673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51705 /* 145677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51706 /* 145681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51707 /* 145684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51708 /* 145688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51709 /* 145692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51710 /* 145694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51711 /* 145701 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51712 /* 145701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
51713 /* 145704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51714 /* 145706 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51715 /* 145708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51716 /* 145712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51717 /* 145717 */ GIR_RootConstrainSelectedInstOperands,
51718 /* 145718 */ // GIR_Coverage, 4897,
51719 /* 145718 */ GIR_EraseRootFromParent_Done,
51720 /* 145719 */ // Label 3176: @145719
51721 /* 145719 */ GIM_Try, /*On fail goto*//*Label 3177*/ GIMT_Encode4(145746), // Rule ID 2567 //
51722 /* 145724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51723 /* 145727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51724 /* 145731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51725 /* 145735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51726 /* 145739 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51727 /* 145739 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrr),
51728 /* 145744 */ GIR_RootConstrainSelectedInstOperands,
51729 /* 145745 */ // GIR_Coverage, 2567,
51730 /* 145745 */ GIR_Done,
51731 /* 145746 */ // Label 3177: @145746
51732 /* 145746 */ GIM_Try, /*On fail goto*//*Label 3178*/ GIMT_Encode4(145773), // Rule ID 4894 //
51733 /* 145751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51734 /* 145754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51735 /* 145758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51736 /* 145762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51737 /* 145766 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51738 /* 145766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rr),
51739 /* 145771 */ GIR_RootConstrainSelectedInstOperands,
51740 /* 145772 */ // GIR_Coverage, 4894,
51741 /* 145772 */ GIR_Done,
51742 /* 145773 */ // Label 3178: @145773
51743 /* 145773 */ GIM_Reject,
51744 /* 145774 */ // Label 3172: @145774
51745 /* 145774 */ GIM_Reject,
51746 /* 145775 */ // Label 3152: @145775
51747 /* 145775 */ GIM_Try, /*On fail goto*//*Label 3179*/ GIMT_Encode4(146089),
51748 /* 145780 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51749 /* 145783 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51750 /* 145786 */ GIM_Try, /*On fail goto*//*Label 3180*/ GIMT_Encode4(145848), // Rule ID 23482 //
51751 /* 145791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51752 /* 145794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51753 /* 145798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51754 /* 145802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51755 /* 145806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51756 /* 145809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51757 /* 145813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51758 /* 145817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51759 /* 145821 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51760 /* 145823 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51761 /* 145830 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51762 /* 145830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
51763 /* 145833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51764 /* 145835 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51765 /* 145837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51766 /* 145841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51767 /* 145846 */ GIR_RootConstrainSelectedInstOperands,
51768 /* 145847 */ // GIR_Coverage, 23482,
51769 /* 145847 */ GIR_EraseRootFromParent_Done,
51770 /* 145848 */ // Label 3180: @145848
51771 /* 145848 */ GIM_Try, /*On fail goto*//*Label 3181*/ GIMT_Encode4(145910), // Rule ID 23813 //
51772 /* 145853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51773 /* 145856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51774 /* 145860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51775 /* 145864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51776 /* 145868 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51777 /* 145871 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51778 /* 145875 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51779 /* 145879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51780 /* 145883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51781 /* 145885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51782 /* 145892 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51783 /* 145892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
51784 /* 145895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51785 /* 145897 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51786 /* 145899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51787 /* 145903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51788 /* 145908 */ GIR_RootConstrainSelectedInstOperands,
51789 /* 145909 */ // GIR_Coverage, 23813,
51790 /* 145909 */ GIR_EraseRootFromParent_Done,
51791 /* 145910 */ // Label 3181: @145910
51792 /* 145910 */ GIM_Try, /*On fail goto*//*Label 3182*/ GIMT_Encode4(145972), // Rule ID 2562 //
51793 /* 145915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51794 /* 145918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51795 /* 145922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51796 /* 145926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51797 /* 145930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51798 /* 145934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51799 /* 145937 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51800 /* 145941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51801 /* 145945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51802 /* 145947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51803 /* 145954 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51804 /* 145954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
51805 /* 145957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51806 /* 145959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51807 /* 145961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51808 /* 145965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51809 /* 145970 */ GIR_RootConstrainSelectedInstOperands,
51810 /* 145971 */ // GIR_Coverage, 2562,
51811 /* 145971 */ GIR_EraseRootFromParent_Done,
51812 /* 145972 */ // Label 3182: @145972
51813 /* 145972 */ GIM_Try, /*On fail goto*//*Label 3183*/ GIMT_Encode4(146034), // Rule ID 4915 //
51814 /* 145977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51815 /* 145980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51816 /* 145984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51817 /* 145988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51818 /* 145992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51819 /* 145996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51820 /* 145999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51821 /* 146003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51822 /* 146007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51823 /* 146009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51824 /* 146016 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51825 /* 146016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
51826 /* 146019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51827 /* 146021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51828 /* 146023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51829 /* 146027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51830 /* 146032 */ GIR_RootConstrainSelectedInstOperands,
51831 /* 146033 */ // GIR_Coverage, 4915,
51832 /* 146033 */ GIR_EraseRootFromParent_Done,
51833 /* 146034 */ // Label 3183: @146034
51834 /* 146034 */ GIM_Try, /*On fail goto*//*Label 3184*/ GIMT_Encode4(146061), // Rule ID 2561 //
51835 /* 146039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51836 /* 146042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51837 /* 146046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51838 /* 146050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51839 /* 146054 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
51840 /* 146054 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrr),
51841 /* 146059 */ GIR_RootConstrainSelectedInstOperands,
51842 /* 146060 */ // GIR_Coverage, 2561,
51843 /* 146060 */ GIR_Done,
51844 /* 146061 */ // Label 3184: @146061
51845 /* 146061 */ GIM_Try, /*On fail goto*//*Label 3185*/ GIMT_Encode4(146088), // Rule ID 4912 //
51846 /* 146066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51847 /* 146069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51848 /* 146073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51849 /* 146077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51850 /* 146081 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
51851 /* 146081 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rr),
51852 /* 146086 */ GIR_RootConstrainSelectedInstOperands,
51853 /* 146087 */ // GIR_Coverage, 4912,
51854 /* 146087 */ GIR_Done,
51855 /* 146088 */ // Label 3185: @146088
51856 /* 146088 */ GIM_Reject,
51857 /* 146089 */ // Label 3179: @146089
51858 /* 146089 */ GIM_Reject,
51859 /* 146090 */ // Label 3153: @146090
51860 /* 146090 */ GIM_Try, /*On fail goto*//*Label 3186*/ GIMT_Encode4(146245),
51861 /* 146095 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51862 /* 146098 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51863 /* 146101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51864 /* 146105 */ GIM_Try, /*On fail goto*//*Label 3187*/ GIMT_Encode4(146163), // Rule ID 23801 //
51865 /* 146110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51866 /* 146113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51867 /* 146117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51868 /* 146121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51869 /* 146124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51870 /* 146128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51871 /* 146132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51872 /* 146136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51873 /* 146138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51874 /* 146145 */ // (uaddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51875 /* 146145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
51876 /* 146148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51877 /* 146150 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51878 /* 146152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51879 /* 146156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51880 /* 146161 */ GIR_RootConstrainSelectedInstOperands,
51881 /* 146162 */ // GIR_Coverage, 23801,
51882 /* 146162 */ GIR_EraseRootFromParent_Done,
51883 /* 146163 */ // Label 3187: @146163
51884 /* 146163 */ GIM_Try, /*On fail goto*//*Label 3188*/ GIMT_Encode4(146221), // Rule ID 4891 //
51885 /* 146168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51886 /* 146171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51887 /* 146175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51888 /* 146179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51889 /* 146183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51890 /* 146186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51891 /* 146190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51892 /* 146194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51893 /* 146196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51894 /* 146203 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51895 /* 146203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
51896 /* 146206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51897 /* 146208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51898 /* 146210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51899 /* 146214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51900 /* 146219 */ GIR_RootConstrainSelectedInstOperands,
51901 /* 146220 */ // GIR_Coverage, 4891,
51902 /* 146220 */ GIR_EraseRootFromParent_Done,
51903 /* 146221 */ // Label 3188: @146221
51904 /* 146221 */ GIM_Try, /*On fail goto*//*Label 3189*/ GIMT_Encode4(146244), // Rule ID 4888 //
51905 /* 146226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51906 /* 146229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51907 /* 146233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51908 /* 146237 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51909 /* 146237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrr),
51910 /* 146242 */ GIR_RootConstrainSelectedInstOperands,
51911 /* 146243 */ // GIR_Coverage, 4888,
51912 /* 146243 */ GIR_Done,
51913 /* 146244 */ // Label 3189: @146244
51914 /* 146244 */ GIM_Reject,
51915 /* 146245 */ // Label 3186: @146245
51916 /* 146245 */ GIM_Reject,
51917 /* 146246 */ // Label 3154: @146246
51918 /* 146246 */ GIM_Try, /*On fail goto*//*Label 3190*/ GIMT_Encode4(146401),
51919 /* 146251 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51920 /* 146254 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51921 /* 146257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51922 /* 146261 */ GIM_Try, /*On fail goto*//*Label 3191*/ GIMT_Encode4(146319), // Rule ID 23810 //
51923 /* 146266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51924 /* 146269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51925 /* 146273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51926 /* 146277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51927 /* 146280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51928 /* 146284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51929 /* 146288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51930 /* 146292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51931 /* 146294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51932 /* 146301 */ // (uaddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51933 /* 146301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
51934 /* 146304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51935 /* 146306 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51936 /* 146308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51937 /* 146312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51938 /* 146317 */ GIR_RootConstrainSelectedInstOperands,
51939 /* 146318 */ // GIR_Coverage, 23810,
51940 /* 146318 */ GIR_EraseRootFromParent_Done,
51941 /* 146319 */ // Label 3191: @146319
51942 /* 146319 */ GIM_Try, /*On fail goto*//*Label 3192*/ GIMT_Encode4(146377), // Rule ID 4909 //
51943 /* 146324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51944 /* 146327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51945 /* 146331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51946 /* 146335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51947 /* 146339 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51948 /* 146342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51949 /* 146346 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51950 /* 146350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51951 /* 146352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51952 /* 146359 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51953 /* 146359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
51954 /* 146362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51955 /* 146364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51956 /* 146366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51957 /* 146370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51958 /* 146375 */ GIR_RootConstrainSelectedInstOperands,
51959 /* 146376 */ // GIR_Coverage, 4909,
51960 /* 146376 */ GIR_EraseRootFromParent_Done,
51961 /* 146377 */ // Label 3192: @146377
51962 /* 146377 */ GIM_Try, /*On fail goto*//*Label 3193*/ GIMT_Encode4(146400), // Rule ID 4906 //
51963 /* 146382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51964 /* 146385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51965 /* 146389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51966 /* 146393 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
51967 /* 146393 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrr),
51968 /* 146398 */ GIR_RootConstrainSelectedInstOperands,
51969 /* 146399 */ // GIR_Coverage, 4906,
51970 /* 146399 */ GIR_Done,
51971 /* 146400 */ // Label 3193: @146400
51972 /* 146400 */ GIM_Reject,
51973 /* 146401 */ // Label 3190: @146401
51974 /* 146401 */ GIM_Reject,
51975 /* 146402 */ // Label 3155: @146402
51976 /* 146402 */ GIM_Reject,
51977 /* 146403 */ // Label 39: @146403
51978 /* 146403 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3200*/ GIMT_Encode4(148088),
51979 /* 146414 */ /*GILLT_v8s16*//*Label 3194*/ GIMT_Encode4(146462), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
51980 /* 146430 */ /*GILLT_v16s8*//*Label 3195*/ GIMT_Encode4(146804),
51981 /* 146434 */ /*GILLT_v16s16*//*Label 3196*/ GIMT_Encode4(147146), GIMT_Encode4(0), GIMT_Encode4(0),
51982 /* 146446 */ /*GILLT_v32s8*//*Label 3197*/ GIMT_Encode4(147461),
51983 /* 146450 */ /*GILLT_v32s16*//*Label 3198*/ GIMT_Encode4(147776), GIMT_Encode4(0),
51984 /* 146458 */ /*GILLT_v64s8*//*Label 3199*/ GIMT_Encode4(147932),
51985 /* 146462 */ // Label 3194: @146462
51986 /* 146462 */ GIM_Try, /*On fail goto*//*Label 3201*/ GIMT_Encode4(146803),
51987 /* 146467 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51988 /* 146470 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51989 /* 146473 */ GIM_Try, /*On fail goto*//*Label 3202*/ GIMT_Encode4(146535), // Rule ID 23477 //
51990 /* 146478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51991 /* 146481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51992 /* 146485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51993 /* 146489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51994 /* 146493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51995 /* 146496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51996 /* 146500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51997 /* 146504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51998 /* 146508 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51999 /* 146510 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52000 /* 146517 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52001 /* 146517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
52002 /* 146520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52003 /* 146522 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52004 /* 146524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52005 /* 146528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52006 /* 146533 */ GIR_RootConstrainSelectedInstOperands,
52007 /* 146534 */ // GIR_Coverage, 23477,
52008 /* 146534 */ GIR_EraseRootFromParent_Done,
52009 /* 146535 */ // Label 3202: @146535
52010 /* 146535 */ GIM_Try, /*On fail goto*//*Label 3203*/ GIMT_Encode4(146597), // Rule ID 23789 //
52011 /* 146540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52012 /* 146543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52013 /* 146547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52014 /* 146551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52015 /* 146555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52016 /* 146558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52017 /* 146562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52018 /* 146566 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52019 /* 146570 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52020 /* 146572 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52021 /* 146579 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52022 /* 146579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
52023 /* 146582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52024 /* 146584 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52025 /* 146586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52026 /* 146590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52027 /* 146595 */ GIR_RootConstrainSelectedInstOperands,
52028 /* 146596 */ // GIR_Coverage, 23789,
52029 /* 146596 */ GIR_EraseRootFromParent_Done,
52030 /* 146597 */ // Label 3203: @146597
52031 /* 146597 */ GIM_Try, /*On fail goto*//*Label 3204*/ GIMT_Encode4(146659), // Rule ID 2552 //
52032 /* 146602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52033 /* 146605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52034 /* 146609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52035 /* 146613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52036 /* 146617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52037 /* 146621 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52038 /* 146624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52039 /* 146628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52040 /* 146632 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52041 /* 146634 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52042 /* 146641 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52043 /* 146641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
52044 /* 146644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52045 /* 146646 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52046 /* 146648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52047 /* 146652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52048 /* 146657 */ GIR_RootConstrainSelectedInstOperands,
52049 /* 146658 */ // GIR_Coverage, 2552,
52050 /* 146658 */ GIR_EraseRootFromParent_Done,
52051 /* 146659 */ // Label 3204: @146659
52052 /* 146659 */ GIM_Try, /*On fail goto*//*Label 3205*/ GIMT_Encode4(146721), // Rule ID 4831 //
52053 /* 146664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52054 /* 146667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52055 /* 146671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52056 /* 146675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52057 /* 146679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52058 /* 146683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52059 /* 146686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52060 /* 146690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52061 /* 146694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52062 /* 146696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52063 /* 146703 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52064 /* 146703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
52065 /* 146706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52066 /* 146708 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52067 /* 146710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52068 /* 146714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52069 /* 146719 */ GIR_RootConstrainSelectedInstOperands,
52070 /* 146720 */ // GIR_Coverage, 4831,
52071 /* 146720 */ GIR_EraseRootFromParent_Done,
52072 /* 146721 */ // Label 3205: @146721
52073 /* 146721 */ GIM_Try, /*On fail goto*//*Label 3206*/ GIMT_Encode4(146748), // Rule ID 2551 //
52074 /* 146726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52075 /* 146729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52076 /* 146733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52077 /* 146737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52078 /* 146741 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52079 /* 146741 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWrr),
52080 /* 146746 */ GIR_RootConstrainSelectedInstOperands,
52081 /* 146747 */ // GIR_Coverage, 2551,
52082 /* 146747 */ GIR_Done,
52083 /* 146748 */ // Label 3206: @146748
52084 /* 146748 */ GIM_Try, /*On fail goto*//*Label 3207*/ GIMT_Encode4(146775), // Rule ID 2553 //
52085 /* 146753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52086 /* 146756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52087 /* 146760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52088 /* 146764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52089 /* 146768 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52090 /* 146768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSWrr),
52091 /* 146773 */ GIR_RootConstrainSelectedInstOperands,
52092 /* 146774 */ // GIR_Coverage, 2553,
52093 /* 146774 */ GIR_Done,
52094 /* 146775 */ // Label 3207: @146775
52095 /* 146775 */ GIM_Try, /*On fail goto*//*Label 3208*/ GIMT_Encode4(146802), // Rule ID 4828 //
52096 /* 146780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52097 /* 146783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52098 /* 146787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52099 /* 146791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52100 /* 146795 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
52101 /* 146795 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rr),
52102 /* 146800 */ GIR_RootConstrainSelectedInstOperands,
52103 /* 146801 */ // GIR_Coverage, 4828,
52104 /* 146801 */ GIR_Done,
52105 /* 146802 */ // Label 3208: @146802
52106 /* 146802 */ GIM_Reject,
52107 /* 146803 */ // Label 3201: @146803
52108 /* 146803 */ GIM_Reject,
52109 /* 146804 */ // Label 3195: @146804
52110 /* 146804 */ GIM_Try, /*On fail goto*//*Label 3209*/ GIMT_Encode4(147145),
52111 /* 146809 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
52112 /* 146812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
52113 /* 146815 */ GIM_Try, /*On fail goto*//*Label 3210*/ GIMT_Encode4(146877), // Rule ID 23474 //
52114 /* 146820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52115 /* 146823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52116 /* 146827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52117 /* 146831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52118 /* 146835 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52119 /* 146838 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52120 /* 146842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52121 /* 146846 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52122 /* 146850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52123 /* 146852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52124 /* 146859 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52125 /* 146859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
52126 /* 146862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52127 /* 146864 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52128 /* 146866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52129 /* 146870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52130 /* 146875 */ GIR_RootConstrainSelectedInstOperands,
52131 /* 146876 */ // GIR_Coverage, 23474,
52132 /* 146876 */ GIR_EraseRootFromParent_Done,
52133 /* 146877 */ // Label 3210: @146877
52134 /* 146877 */ GIM_Try, /*On fail goto*//*Label 3211*/ GIMT_Encode4(146939), // Rule ID 23798 //
52135 /* 146882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52136 /* 146885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52137 /* 146889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52138 /* 146893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52139 /* 146897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52140 /* 146900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52141 /* 146904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52142 /* 146908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52143 /* 146912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52144 /* 146914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52145 /* 146921 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52146 /* 146921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
52147 /* 146924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52148 /* 146926 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52149 /* 146928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52150 /* 146932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52151 /* 146937 */ GIR_RootConstrainSelectedInstOperands,
52152 /* 146938 */ // GIR_Coverage, 23798,
52153 /* 146938 */ GIR_EraseRootFromParent_Done,
52154 /* 146939 */ // Label 3211: @146939
52155 /* 146939 */ GIM_Try, /*On fail goto*//*Label 3212*/ GIMT_Encode4(147001), // Rule ID 2546 //
52156 /* 146944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52157 /* 146947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52158 /* 146951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52159 /* 146955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52160 /* 146959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52161 /* 146963 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52162 /* 146966 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52163 /* 146970 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52164 /* 146974 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52165 /* 146976 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52166 /* 146983 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52167 /* 146983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
52168 /* 146986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52169 /* 146988 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52170 /* 146990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52171 /* 146994 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52172 /* 146999 */ GIR_RootConstrainSelectedInstOperands,
52173 /* 147000 */ // GIR_Coverage, 2546,
52174 /* 147000 */ GIR_EraseRootFromParent_Done,
52175 /* 147001 */ // Label 3212: @147001
52176 /* 147001 */ GIM_Try, /*On fail goto*//*Label 3213*/ GIMT_Encode4(147063), // Rule ID 4849 //
52177 /* 147006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52178 /* 147009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52179 /* 147013 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52180 /* 147017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52181 /* 147021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52182 /* 147025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52183 /* 147028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52184 /* 147032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52185 /* 147036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52186 /* 147038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52187 /* 147045 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52188 /* 147045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
52189 /* 147048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52190 /* 147050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52191 /* 147052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52192 /* 147056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52193 /* 147061 */ GIR_RootConstrainSelectedInstOperands,
52194 /* 147062 */ // GIR_Coverage, 4849,
52195 /* 147062 */ GIR_EraseRootFromParent_Done,
52196 /* 147063 */ // Label 3213: @147063
52197 /* 147063 */ GIM_Try, /*On fail goto*//*Label 3214*/ GIMT_Encode4(147090), // Rule ID 2545 //
52198 /* 147068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52199 /* 147071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52200 /* 147075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52201 /* 147079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52202 /* 147083 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
52203 /* 147083 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBrr),
52204 /* 147088 */ GIR_RootConstrainSelectedInstOperands,
52205 /* 147089 */ // GIR_Coverage, 2545,
52206 /* 147089 */ GIR_Done,
52207 /* 147090 */ // Label 3214: @147090
52208 /* 147090 */ GIM_Try, /*On fail goto*//*Label 3215*/ GIMT_Encode4(147117), // Rule ID 2547 //
52209 /* 147095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52210 /* 147098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52211 /* 147102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52212 /* 147106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52213 /* 147110 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
52214 /* 147110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSBrr),
52215 /* 147115 */ GIR_RootConstrainSelectedInstOperands,
52216 /* 147116 */ // GIR_Coverage, 2547,
52217 /* 147116 */ GIR_Done,
52218 /* 147117 */ // Label 3215: @147117
52219 /* 147117 */ GIM_Try, /*On fail goto*//*Label 3216*/ GIMT_Encode4(147144), // Rule ID 4846 //
52220 /* 147122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52221 /* 147125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52222 /* 147129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52223 /* 147133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52224 /* 147137 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
52225 /* 147137 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rr),
52226 /* 147142 */ GIR_RootConstrainSelectedInstOperands,
52227 /* 147143 */ // GIR_Coverage, 4846,
52228 /* 147143 */ GIR_Done,
52229 /* 147144 */ // Label 3216: @147144
52230 /* 147144 */ GIM_Reject,
52231 /* 147145 */ // Label 3209: @147145
52232 /* 147145 */ GIM_Reject,
52233 /* 147146 */ // Label 3196: @147146
52234 /* 147146 */ GIM_Try, /*On fail goto*//*Label 3217*/ GIMT_Encode4(147460),
52235 /* 147151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
52236 /* 147154 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
52237 /* 147157 */ GIM_Try, /*On fail goto*//*Label 3218*/ GIMT_Encode4(147219), // Rule ID 23479 //
52238 /* 147162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52239 /* 147165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52240 /* 147169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52241 /* 147173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52242 /* 147177 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52243 /* 147180 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52244 /* 147184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52245 /* 147188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52246 /* 147192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52247 /* 147194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52248 /* 147201 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52249 /* 147201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
52250 /* 147204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52251 /* 147206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52252 /* 147208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52253 /* 147212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52254 /* 147217 */ GIR_RootConstrainSelectedInstOperands,
52255 /* 147218 */ // GIR_Coverage, 23479,
52256 /* 147218 */ GIR_EraseRootFromParent_Done,
52257 /* 147219 */ // Label 3218: @147219
52258 /* 147219 */ GIM_Try, /*On fail goto*//*Label 3219*/ GIMT_Encode4(147281), // Rule ID 23786 //
52259 /* 147224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52260 /* 147227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52261 /* 147231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52262 /* 147235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52263 /* 147239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52264 /* 147242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52265 /* 147246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52266 /* 147250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52267 /* 147254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52268 /* 147256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52269 /* 147263 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52270 /* 147263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
52271 /* 147266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52272 /* 147268 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52273 /* 147270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52274 /* 147274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52275 /* 147279 */ GIR_RootConstrainSelectedInstOperands,
52276 /* 147280 */ // GIR_Coverage, 23786,
52277 /* 147280 */ GIR_EraseRootFromParent_Done,
52278 /* 147281 */ // Label 3219: @147281
52279 /* 147281 */ GIM_Try, /*On fail goto*//*Label 3220*/ GIMT_Encode4(147343), // Rule ID 2556 //
52280 /* 147286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52281 /* 147289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52282 /* 147293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52283 /* 147297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52284 /* 147301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52285 /* 147305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52286 /* 147308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52287 /* 147312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52288 /* 147316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52289 /* 147318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52290 /* 147325 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52291 /* 147325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
52292 /* 147328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52293 /* 147330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52294 /* 147332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52295 /* 147336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52296 /* 147341 */ GIR_RootConstrainSelectedInstOperands,
52297 /* 147342 */ // GIR_Coverage, 2556,
52298 /* 147342 */ GIR_EraseRootFromParent_Done,
52299 /* 147343 */ // Label 3220: @147343
52300 /* 147343 */ GIM_Try, /*On fail goto*//*Label 3221*/ GIMT_Encode4(147405), // Rule ID 4825 //
52301 /* 147348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52302 /* 147351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52303 /* 147355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52304 /* 147359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52305 /* 147363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52306 /* 147367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52307 /* 147370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52308 /* 147374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52309 /* 147378 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52310 /* 147380 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52311 /* 147387 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52312 /* 147387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
52313 /* 147390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52314 /* 147392 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52315 /* 147394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52316 /* 147398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52317 /* 147403 */ GIR_RootConstrainSelectedInstOperands,
52318 /* 147404 */ // GIR_Coverage, 4825,
52319 /* 147404 */ GIR_EraseRootFromParent_Done,
52320 /* 147405 */ // Label 3221: @147405
52321 /* 147405 */ GIM_Try, /*On fail goto*//*Label 3222*/ GIMT_Encode4(147432), // Rule ID 2555 //
52322 /* 147410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52323 /* 147413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52324 /* 147417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52325 /* 147421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52326 /* 147425 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
52327 /* 147425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrr),
52328 /* 147430 */ GIR_RootConstrainSelectedInstOperands,
52329 /* 147431 */ // GIR_Coverage, 2555,
52330 /* 147431 */ GIR_Done,
52331 /* 147432 */ // Label 3222: @147432
52332 /* 147432 */ GIM_Try, /*On fail goto*//*Label 3223*/ GIMT_Encode4(147459), // Rule ID 4822 //
52333 /* 147437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52334 /* 147440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52335 /* 147444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52336 /* 147448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52337 /* 147452 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
52338 /* 147452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rr),
52339 /* 147457 */ GIR_RootConstrainSelectedInstOperands,
52340 /* 147458 */ // GIR_Coverage, 4822,
52341 /* 147458 */ GIR_Done,
52342 /* 147459 */ // Label 3223: @147459
52343 /* 147459 */ GIM_Reject,
52344 /* 147460 */ // Label 3217: @147460
52345 /* 147460 */ GIM_Reject,
52346 /* 147461 */ // Label 3197: @147461
52347 /* 147461 */ GIM_Try, /*On fail goto*//*Label 3224*/ GIMT_Encode4(147775),
52348 /* 147466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
52349 /* 147469 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
52350 /* 147472 */ GIM_Try, /*On fail goto*//*Label 3225*/ GIMT_Encode4(147534), // Rule ID 23476 //
52351 /* 147477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52352 /* 147480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52353 /* 147484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52354 /* 147488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52355 /* 147492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52356 /* 147495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52357 /* 147499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52358 /* 147503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52359 /* 147507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52360 /* 147509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52361 /* 147516 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52362 /* 147516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
52363 /* 147519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52364 /* 147521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52365 /* 147523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52366 /* 147527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52367 /* 147532 */ GIR_RootConstrainSelectedInstOperands,
52368 /* 147533 */ // GIR_Coverage, 23476,
52369 /* 147533 */ GIR_EraseRootFromParent_Done,
52370 /* 147534 */ // Label 3225: @147534
52371 /* 147534 */ GIM_Try, /*On fail goto*//*Label 3226*/ GIMT_Encode4(147596), // Rule ID 23795 //
52372 /* 147539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52373 /* 147542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52374 /* 147546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52375 /* 147550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52376 /* 147554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52377 /* 147557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52378 /* 147561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52379 /* 147565 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52380 /* 147569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52381 /* 147571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52382 /* 147578 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52383 /* 147578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
52384 /* 147581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52385 /* 147583 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52386 /* 147585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52387 /* 147589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52388 /* 147594 */ GIR_RootConstrainSelectedInstOperands,
52389 /* 147595 */ // GIR_Coverage, 23795,
52390 /* 147595 */ GIR_EraseRootFromParent_Done,
52391 /* 147596 */ // Label 3226: @147596
52392 /* 147596 */ GIM_Try, /*On fail goto*//*Label 3227*/ GIMT_Encode4(147658), // Rule ID 2550 //
52393 /* 147601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52394 /* 147604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52395 /* 147608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52396 /* 147612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52397 /* 147616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52398 /* 147620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52399 /* 147623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52400 /* 147627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52401 /* 147631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52402 /* 147633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52403 /* 147640 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52404 /* 147640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
52405 /* 147643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52406 /* 147645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52407 /* 147647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52408 /* 147651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52409 /* 147656 */ GIR_RootConstrainSelectedInstOperands,
52410 /* 147657 */ // GIR_Coverage, 2550,
52411 /* 147657 */ GIR_EraseRootFromParent_Done,
52412 /* 147658 */ // Label 3227: @147658
52413 /* 147658 */ GIM_Try, /*On fail goto*//*Label 3228*/ GIMT_Encode4(147720), // Rule ID 4843 //
52414 /* 147663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52415 /* 147666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52416 /* 147670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52417 /* 147674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52418 /* 147678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52419 /* 147682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52420 /* 147685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52421 /* 147689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52422 /* 147693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52423 /* 147695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52424 /* 147702 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52425 /* 147702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
52426 /* 147705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52427 /* 147707 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52428 /* 147709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52429 /* 147713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52430 /* 147718 */ GIR_RootConstrainSelectedInstOperands,
52431 /* 147719 */ // GIR_Coverage, 4843,
52432 /* 147719 */ GIR_EraseRootFromParent_Done,
52433 /* 147720 */ // Label 3228: @147720
52434 /* 147720 */ GIM_Try, /*On fail goto*//*Label 3229*/ GIMT_Encode4(147747), // Rule ID 2549 //
52435 /* 147725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52436 /* 147728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52437 /* 147732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52438 /* 147736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52439 /* 147740 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
52440 /* 147740 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrr),
52441 /* 147745 */ GIR_RootConstrainSelectedInstOperands,
52442 /* 147746 */ // GIR_Coverage, 2549,
52443 /* 147746 */ GIR_Done,
52444 /* 147747 */ // Label 3229: @147747
52445 /* 147747 */ GIM_Try, /*On fail goto*//*Label 3230*/ GIMT_Encode4(147774), // Rule ID 4840 //
52446 /* 147752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52447 /* 147755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52448 /* 147759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52449 /* 147763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52450 /* 147767 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
52451 /* 147767 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rr),
52452 /* 147772 */ GIR_RootConstrainSelectedInstOperands,
52453 /* 147773 */ // GIR_Coverage, 4840,
52454 /* 147773 */ GIR_Done,
52455 /* 147774 */ // Label 3230: @147774
52456 /* 147774 */ GIM_Reject,
52457 /* 147775 */ // Label 3224: @147775
52458 /* 147775 */ GIM_Reject,
52459 /* 147776 */ // Label 3198: @147776
52460 /* 147776 */ GIM_Try, /*On fail goto*//*Label 3231*/ GIMT_Encode4(147931),
52461 /* 147781 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
52462 /* 147784 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
52463 /* 147787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52464 /* 147791 */ GIM_Try, /*On fail goto*//*Label 3232*/ GIMT_Encode4(147849), // Rule ID 23783 //
52465 /* 147796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52466 /* 147799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52467 /* 147803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52468 /* 147807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52469 /* 147810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52470 /* 147814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52471 /* 147818 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52472 /* 147822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52473 /* 147824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52474 /* 147831 */ // (saddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52475 /* 147831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
52476 /* 147834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52477 /* 147836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52478 /* 147838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52479 /* 147842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52480 /* 147847 */ GIR_RootConstrainSelectedInstOperands,
52481 /* 147848 */ // GIR_Coverage, 23783,
52482 /* 147848 */ GIR_EraseRootFromParent_Done,
52483 /* 147849 */ // Label 3232: @147849
52484 /* 147849 */ GIM_Try, /*On fail goto*//*Label 3233*/ GIMT_Encode4(147907), // Rule ID 4819 //
52485 /* 147854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52486 /* 147857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52487 /* 147861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52488 /* 147865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52489 /* 147869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52490 /* 147872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52491 /* 147876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52492 /* 147880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52493 /* 147882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52494 /* 147889 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52495 /* 147889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
52496 /* 147892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52497 /* 147894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52498 /* 147896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52499 /* 147900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52500 /* 147905 */ GIR_RootConstrainSelectedInstOperands,
52501 /* 147906 */ // GIR_Coverage, 4819,
52502 /* 147906 */ GIR_EraseRootFromParent_Done,
52503 /* 147907 */ // Label 3233: @147907
52504 /* 147907 */ GIM_Try, /*On fail goto*//*Label 3234*/ GIMT_Encode4(147930), // Rule ID 4816 //
52505 /* 147912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52506 /* 147915 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52507 /* 147919 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52508 /* 147923 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
52509 /* 147923 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrr),
52510 /* 147928 */ GIR_RootConstrainSelectedInstOperands,
52511 /* 147929 */ // GIR_Coverage, 4816,
52512 /* 147929 */ GIR_Done,
52513 /* 147930 */ // Label 3234: @147930
52514 /* 147930 */ GIM_Reject,
52515 /* 147931 */ // Label 3231: @147931
52516 /* 147931 */ GIM_Reject,
52517 /* 147932 */ // Label 3199: @147932
52518 /* 147932 */ GIM_Try, /*On fail goto*//*Label 3235*/ GIMT_Encode4(148087),
52519 /* 147937 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
52520 /* 147940 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
52521 /* 147943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52522 /* 147947 */ GIM_Try, /*On fail goto*//*Label 3236*/ GIMT_Encode4(148005), // Rule ID 23792 //
52523 /* 147952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52524 /* 147955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52525 /* 147959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52526 /* 147963 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52527 /* 147966 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52528 /* 147970 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52529 /* 147974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52530 /* 147978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52531 /* 147980 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52532 /* 147987 */ // (saddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52533 /* 147987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
52534 /* 147990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52535 /* 147992 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52536 /* 147994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52537 /* 147998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52538 /* 148003 */ GIR_RootConstrainSelectedInstOperands,
52539 /* 148004 */ // GIR_Coverage, 23792,
52540 /* 148004 */ GIR_EraseRootFromParent_Done,
52541 /* 148005 */ // Label 3236: @148005
52542 /* 148005 */ GIM_Try, /*On fail goto*//*Label 3237*/ GIMT_Encode4(148063), // Rule ID 4837 //
52543 /* 148010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52544 /* 148013 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52545 /* 148017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52546 /* 148021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52547 /* 148025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52548 /* 148028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52549 /* 148032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52550 /* 148036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52551 /* 148038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52552 /* 148045 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52553 /* 148045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
52554 /* 148048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52555 /* 148050 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52556 /* 148052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52557 /* 148056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52558 /* 148061 */ GIR_RootConstrainSelectedInstOperands,
52559 /* 148062 */ // GIR_Coverage, 4837,
52560 /* 148062 */ GIR_EraseRootFromParent_Done,
52561 /* 148063 */ // Label 3237: @148063
52562 /* 148063 */ GIM_Try, /*On fail goto*//*Label 3238*/ GIMT_Encode4(148086), // Rule ID 4834 //
52563 /* 148068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52564 /* 148071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52565 /* 148075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52566 /* 148079 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
52567 /* 148079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrr),
52568 /* 148084 */ GIR_RootConstrainSelectedInstOperands,
52569 /* 148085 */ // GIR_Coverage, 4834,
52570 /* 148085 */ GIR_Done,
52571 /* 148086 */ // Label 3238: @148086
52572 /* 148086 */ GIM_Reject,
52573 /* 148087 */ // Label 3235: @148087
52574 /* 148087 */ GIM_Reject,
52575 /* 148088 */ // Label 3200: @148088
52576 /* 148088 */ GIM_Reject,
52577 /* 148089 */ // Label 40: @148089
52578 /* 148089 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3245*/ GIMT_Encode4(149154),
52579 /* 148100 */ /*GILLT_v8s16*//*Label 3239*/ GIMT_Encode4(148148), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
52580 /* 148116 */ /*GILLT_v16s8*//*Label 3240*/ GIMT_Encode4(148366),
52581 /* 148120 */ /*GILLT_v16s16*//*Label 3241*/ GIMT_Encode4(148584), GIMT_Encode4(0), GIMT_Encode4(0),
52582 /* 148132 */ /*GILLT_v32s8*//*Label 3242*/ GIMT_Encode4(148775),
52583 /* 148136 */ /*GILLT_v32s16*//*Label 3243*/ GIMT_Encode4(148966), GIMT_Encode4(0),
52584 /* 148144 */ /*GILLT_v64s8*//*Label 3244*/ GIMT_Encode4(149060),
52585 /* 148148 */ // Label 3239: @148148
52586 /* 148148 */ GIM_Try, /*On fail goto*//*Label 3246*/ GIMT_Encode4(148365),
52587 /* 148153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
52588 /* 148156 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
52589 /* 148159 */ GIM_Try, /*On fail goto*//*Label 3247*/ GIMT_Encode4(148221), // Rule ID 2630 //
52590 /* 148164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52591 /* 148167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52592 /* 148171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52593 /* 148175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52594 /* 148179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52595 /* 148183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52596 /* 148186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52597 /* 148190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52598 /* 148194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52599 /* 148196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52600 /* 148203 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52601 /* 148203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrm),
52602 /* 148206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52603 /* 148208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52604 /* 148210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52605 /* 148214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52606 /* 148219 */ GIR_RootConstrainSelectedInstOperands,
52607 /* 148220 */ // GIR_Coverage, 2630,
52608 /* 148220 */ GIR_EraseRootFromParent_Done,
52609 /* 148221 */ // Label 3247: @148221
52610 /* 148221 */ GIM_Try, /*On fail goto*//*Label 3248*/ GIMT_Encode4(148283), // Rule ID 4939 //
52611 /* 148226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52612 /* 148229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52613 /* 148233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52614 /* 148237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52615 /* 148241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52616 /* 148245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52617 /* 148248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52618 /* 148252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52619 /* 148256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52620 /* 148258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52621 /* 148265 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52622 /* 148265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rm),
52623 /* 148268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52624 /* 148270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52625 /* 148272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52626 /* 148276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52627 /* 148281 */ GIR_RootConstrainSelectedInstOperands,
52628 /* 148282 */ // GIR_Coverage, 4939,
52629 /* 148282 */ GIR_EraseRootFromParent_Done,
52630 /* 148283 */ // Label 3248: @148283
52631 /* 148283 */ GIM_Try, /*On fail goto*//*Label 3249*/ GIMT_Encode4(148310), // Rule ID 2629 //
52632 /* 148288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52633 /* 148291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52634 /* 148295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52635 /* 148299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52636 /* 148303 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52637 /* 148303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrr),
52638 /* 148308 */ GIR_RootConstrainSelectedInstOperands,
52639 /* 148309 */ // GIR_Coverage, 2629,
52640 /* 148309 */ GIR_Done,
52641 /* 148310 */ // Label 3249: @148310
52642 /* 148310 */ GIM_Try, /*On fail goto*//*Label 3250*/ GIMT_Encode4(148337), // Rule ID 2631 //
52643 /* 148315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52644 /* 148318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52645 /* 148322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52646 /* 148326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52647 /* 148330 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52648 /* 148330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSWrr),
52649 /* 148335 */ GIR_RootConstrainSelectedInstOperands,
52650 /* 148336 */ // GIR_Coverage, 2631,
52651 /* 148336 */ GIR_Done,
52652 /* 148337 */ // Label 3250: @148337
52653 /* 148337 */ GIM_Try, /*On fail goto*//*Label 3251*/ GIMT_Encode4(148364), // Rule ID 4936 //
52654 /* 148342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52655 /* 148345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52656 /* 148349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52657 /* 148353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52658 /* 148357 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
52659 /* 148357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rr),
52660 /* 148362 */ GIR_RootConstrainSelectedInstOperands,
52661 /* 148363 */ // GIR_Coverage, 4936,
52662 /* 148363 */ GIR_Done,
52663 /* 148364 */ // Label 3251: @148364
52664 /* 148364 */ GIM_Reject,
52665 /* 148365 */ // Label 3246: @148365
52666 /* 148365 */ GIM_Reject,
52667 /* 148366 */ // Label 3240: @148366
52668 /* 148366 */ GIM_Try, /*On fail goto*//*Label 3252*/ GIMT_Encode4(148583),
52669 /* 148371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
52670 /* 148374 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
52671 /* 148377 */ GIM_Try, /*On fail goto*//*Label 3253*/ GIMT_Encode4(148439), // Rule ID 2624 //
52672 /* 148382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52673 /* 148385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52674 /* 148389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52675 /* 148393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52676 /* 148397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52677 /* 148401 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52678 /* 148404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52679 /* 148408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52680 /* 148412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52681 /* 148414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52682 /* 148421 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52683 /* 148421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrm),
52684 /* 148424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52685 /* 148426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52686 /* 148428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52687 /* 148432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52688 /* 148437 */ GIR_RootConstrainSelectedInstOperands,
52689 /* 148438 */ // GIR_Coverage, 2624,
52690 /* 148438 */ GIR_EraseRootFromParent_Done,
52691 /* 148439 */ // Label 3253: @148439
52692 /* 148439 */ GIM_Try, /*On fail goto*//*Label 3254*/ GIMT_Encode4(148501), // Rule ID 4957 //
52693 /* 148444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52694 /* 148447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52695 /* 148451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52696 /* 148455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52697 /* 148459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52698 /* 148463 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52699 /* 148466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52700 /* 148470 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52701 /* 148474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52702 /* 148476 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52703 /* 148483 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52704 /* 148483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rm),
52705 /* 148486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52706 /* 148488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52707 /* 148490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52708 /* 148494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52709 /* 148499 */ GIR_RootConstrainSelectedInstOperands,
52710 /* 148500 */ // GIR_Coverage, 4957,
52711 /* 148500 */ GIR_EraseRootFromParent_Done,
52712 /* 148501 */ // Label 3254: @148501
52713 /* 148501 */ GIM_Try, /*On fail goto*//*Label 3255*/ GIMT_Encode4(148528), // Rule ID 2623 //
52714 /* 148506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52715 /* 148509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52716 /* 148513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52717 /* 148517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52718 /* 148521 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
52719 /* 148521 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrr),
52720 /* 148526 */ GIR_RootConstrainSelectedInstOperands,
52721 /* 148527 */ // GIR_Coverage, 2623,
52722 /* 148527 */ GIR_Done,
52723 /* 148528 */ // Label 3255: @148528
52724 /* 148528 */ GIM_Try, /*On fail goto*//*Label 3256*/ GIMT_Encode4(148555), // Rule ID 2625 //
52725 /* 148533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52726 /* 148536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52727 /* 148540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52728 /* 148544 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52729 /* 148548 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
52730 /* 148548 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSBrr),
52731 /* 148553 */ GIR_RootConstrainSelectedInstOperands,
52732 /* 148554 */ // GIR_Coverage, 2625,
52733 /* 148554 */ GIR_Done,
52734 /* 148555 */ // Label 3256: @148555
52735 /* 148555 */ GIM_Try, /*On fail goto*//*Label 3257*/ GIMT_Encode4(148582), // Rule ID 4954 //
52736 /* 148560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52737 /* 148563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52738 /* 148567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52739 /* 148571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52740 /* 148575 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
52741 /* 148575 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rr),
52742 /* 148580 */ GIR_RootConstrainSelectedInstOperands,
52743 /* 148581 */ // GIR_Coverage, 4954,
52744 /* 148581 */ GIR_Done,
52745 /* 148582 */ // Label 3257: @148582
52746 /* 148582 */ GIM_Reject,
52747 /* 148583 */ // Label 3252: @148583
52748 /* 148583 */ GIM_Reject,
52749 /* 148584 */ // Label 3241: @148584
52750 /* 148584 */ GIM_Try, /*On fail goto*//*Label 3258*/ GIMT_Encode4(148774),
52751 /* 148589 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
52752 /* 148592 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
52753 /* 148595 */ GIM_Try, /*On fail goto*//*Label 3259*/ GIMT_Encode4(148657), // Rule ID 2634 //
52754 /* 148600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52755 /* 148603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52756 /* 148607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52757 /* 148611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52758 /* 148615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52759 /* 148619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52760 /* 148622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52761 /* 148626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52762 /* 148630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52763 /* 148632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52764 /* 148639 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52765 /* 148639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrm),
52766 /* 148642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52767 /* 148644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52768 /* 148646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52769 /* 148650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52770 /* 148655 */ GIR_RootConstrainSelectedInstOperands,
52771 /* 148656 */ // GIR_Coverage, 2634,
52772 /* 148656 */ GIR_EraseRootFromParent_Done,
52773 /* 148657 */ // Label 3259: @148657
52774 /* 148657 */ GIM_Try, /*On fail goto*//*Label 3260*/ GIMT_Encode4(148719), // Rule ID 4933 //
52775 /* 148662 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52776 /* 148665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52777 /* 148669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52778 /* 148673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52779 /* 148677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52780 /* 148681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52781 /* 148684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52782 /* 148688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52783 /* 148692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52784 /* 148694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52785 /* 148701 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52786 /* 148701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rm),
52787 /* 148704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52788 /* 148706 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52789 /* 148708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52790 /* 148712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52791 /* 148717 */ GIR_RootConstrainSelectedInstOperands,
52792 /* 148718 */ // GIR_Coverage, 4933,
52793 /* 148718 */ GIR_EraseRootFromParent_Done,
52794 /* 148719 */ // Label 3260: @148719
52795 /* 148719 */ GIM_Try, /*On fail goto*//*Label 3261*/ GIMT_Encode4(148746), // Rule ID 2633 //
52796 /* 148724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52797 /* 148727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52798 /* 148731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52799 /* 148735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52800 /* 148739 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
52801 /* 148739 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrr),
52802 /* 148744 */ GIR_RootConstrainSelectedInstOperands,
52803 /* 148745 */ // GIR_Coverage, 2633,
52804 /* 148745 */ GIR_Done,
52805 /* 148746 */ // Label 3261: @148746
52806 /* 148746 */ GIM_Try, /*On fail goto*//*Label 3262*/ GIMT_Encode4(148773), // Rule ID 4930 //
52807 /* 148751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52808 /* 148754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52809 /* 148758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52810 /* 148762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52811 /* 148766 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
52812 /* 148766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rr),
52813 /* 148771 */ GIR_RootConstrainSelectedInstOperands,
52814 /* 148772 */ // GIR_Coverage, 4930,
52815 /* 148772 */ GIR_Done,
52816 /* 148773 */ // Label 3262: @148773
52817 /* 148773 */ GIM_Reject,
52818 /* 148774 */ // Label 3258: @148774
52819 /* 148774 */ GIM_Reject,
52820 /* 148775 */ // Label 3242: @148775
52821 /* 148775 */ GIM_Try, /*On fail goto*//*Label 3263*/ GIMT_Encode4(148965),
52822 /* 148780 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
52823 /* 148783 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
52824 /* 148786 */ GIM_Try, /*On fail goto*//*Label 3264*/ GIMT_Encode4(148848), // Rule ID 2628 //
52825 /* 148791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52826 /* 148794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52827 /* 148798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52828 /* 148802 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52829 /* 148806 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52830 /* 148810 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52831 /* 148813 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52832 /* 148817 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52833 /* 148821 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52834 /* 148823 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52835 /* 148830 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52836 /* 148830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrm),
52837 /* 148833 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52838 /* 148835 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52839 /* 148837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52840 /* 148841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52841 /* 148846 */ GIR_RootConstrainSelectedInstOperands,
52842 /* 148847 */ // GIR_Coverage, 2628,
52843 /* 148847 */ GIR_EraseRootFromParent_Done,
52844 /* 148848 */ // Label 3264: @148848
52845 /* 148848 */ GIM_Try, /*On fail goto*//*Label 3265*/ GIMT_Encode4(148910), // Rule ID 4951 //
52846 /* 148853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52847 /* 148856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52848 /* 148860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52849 /* 148864 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52850 /* 148868 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52851 /* 148872 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52852 /* 148875 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52853 /* 148879 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52854 /* 148883 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52855 /* 148885 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52856 /* 148892 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52857 /* 148892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rm),
52858 /* 148895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52859 /* 148897 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52860 /* 148899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52861 /* 148903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52862 /* 148908 */ GIR_RootConstrainSelectedInstOperands,
52863 /* 148909 */ // GIR_Coverage, 4951,
52864 /* 148909 */ GIR_EraseRootFromParent_Done,
52865 /* 148910 */ // Label 3265: @148910
52866 /* 148910 */ GIM_Try, /*On fail goto*//*Label 3266*/ GIMT_Encode4(148937), // Rule ID 2627 //
52867 /* 148915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52868 /* 148918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52869 /* 148922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52870 /* 148926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52871 /* 148930 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
52872 /* 148930 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrr),
52873 /* 148935 */ GIR_RootConstrainSelectedInstOperands,
52874 /* 148936 */ // GIR_Coverage, 2627,
52875 /* 148936 */ GIR_Done,
52876 /* 148937 */ // Label 3266: @148937
52877 /* 148937 */ GIM_Try, /*On fail goto*//*Label 3267*/ GIMT_Encode4(148964), // Rule ID 4948 //
52878 /* 148942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52879 /* 148945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52880 /* 148949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52881 /* 148953 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52882 /* 148957 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
52883 /* 148957 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rr),
52884 /* 148962 */ GIR_RootConstrainSelectedInstOperands,
52885 /* 148963 */ // GIR_Coverage, 4948,
52886 /* 148963 */ GIR_Done,
52887 /* 148964 */ // Label 3267: @148964
52888 /* 148964 */ GIM_Reject,
52889 /* 148965 */ // Label 3263: @148965
52890 /* 148965 */ GIM_Reject,
52891 /* 148966 */ // Label 3243: @148966
52892 /* 148966 */ GIM_Try, /*On fail goto*//*Label 3268*/ GIMT_Encode4(149059),
52893 /* 148971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
52894 /* 148974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
52895 /* 148977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52896 /* 148981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52897 /* 148985 */ GIM_Try, /*On fail goto*//*Label 3269*/ GIMT_Encode4(149039), // Rule ID 4927 //
52898 /* 148990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52899 /* 148993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52900 /* 148997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52901 /* 149001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52902 /* 149004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52903 /* 149008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52904 /* 149012 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52905 /* 149014 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52906 /* 149021 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52907 /* 149021 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrm),
52908 /* 149024 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52909 /* 149026 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52910 /* 149028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52911 /* 149032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52912 /* 149037 */ GIR_RootConstrainSelectedInstOperands,
52913 /* 149038 */ // GIR_Coverage, 4927,
52914 /* 149038 */ GIR_EraseRootFromParent_Done,
52915 /* 149039 */ // Label 3269: @149039
52916 /* 149039 */ GIM_Try, /*On fail goto*//*Label 3270*/ GIMT_Encode4(149058), // Rule ID 4924 //
52917 /* 149044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52918 /* 149047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52919 /* 149051 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
52920 /* 149051 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrr),
52921 /* 149056 */ GIR_RootConstrainSelectedInstOperands,
52922 /* 149057 */ // GIR_Coverage, 4924,
52923 /* 149057 */ GIR_Done,
52924 /* 149058 */ // Label 3270: @149058
52925 /* 149058 */ GIM_Reject,
52926 /* 149059 */ // Label 3268: @149059
52927 /* 149059 */ GIM_Reject,
52928 /* 149060 */ // Label 3244: @149060
52929 /* 149060 */ GIM_Try, /*On fail goto*//*Label 3271*/ GIMT_Encode4(149153),
52930 /* 149065 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
52931 /* 149068 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
52932 /* 149071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52933 /* 149075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52934 /* 149079 */ GIM_Try, /*On fail goto*//*Label 3272*/ GIMT_Encode4(149133), // Rule ID 4945 //
52935 /* 149084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52936 /* 149087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52937 /* 149091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52938 /* 149095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52939 /* 149098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52940 /* 149102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52941 /* 149106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52942 /* 149108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52943 /* 149115 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52944 /* 149115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrm),
52945 /* 149118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52946 /* 149120 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52947 /* 149122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52948 /* 149126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52949 /* 149131 */ GIR_RootConstrainSelectedInstOperands,
52950 /* 149132 */ // GIR_Coverage, 4945,
52951 /* 149132 */ GIR_EraseRootFromParent_Done,
52952 /* 149133 */ // Label 3272: @149133
52953 /* 149133 */ GIM_Try, /*On fail goto*//*Label 3273*/ GIMT_Encode4(149152), // Rule ID 4942 //
52954 /* 149138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52955 /* 149141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52956 /* 149145 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
52957 /* 149145 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrr),
52958 /* 149150 */ GIR_RootConstrainSelectedInstOperands,
52959 /* 149151 */ // GIR_Coverage, 4942,
52960 /* 149151 */ GIR_Done,
52961 /* 149152 */ // Label 3273: @149152
52962 /* 149152 */ GIM_Reject,
52963 /* 149153 */ // Label 3271: @149153
52964 /* 149153 */ GIM_Reject,
52965 /* 149154 */ // Label 3245: @149154
52966 /* 149154 */ GIM_Reject,
52967 /* 149155 */ // Label 41: @149155
52968 /* 149155 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 3280*/ GIMT_Encode4(150220),
52969 /* 149166 */ /*GILLT_v8s16*//*Label 3274*/ GIMT_Encode4(149214), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
52970 /* 149182 */ /*GILLT_v16s8*//*Label 3275*/ GIMT_Encode4(149432),
52971 /* 149186 */ /*GILLT_v16s16*//*Label 3276*/ GIMT_Encode4(149650), GIMT_Encode4(0), GIMT_Encode4(0),
52972 /* 149198 */ /*GILLT_v32s8*//*Label 3277*/ GIMT_Encode4(149841),
52973 /* 149202 */ /*GILLT_v32s16*//*Label 3278*/ GIMT_Encode4(150032), GIMT_Encode4(0),
52974 /* 149210 */ /*GILLT_v64s8*//*Label 3279*/ GIMT_Encode4(150126),
52975 /* 149214 */ // Label 3274: @149214
52976 /* 149214 */ GIM_Try, /*On fail goto*//*Label 3281*/ GIMT_Encode4(149431),
52977 /* 149219 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
52978 /* 149222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
52979 /* 149225 */ GIM_Try, /*On fail goto*//*Label 3282*/ GIMT_Encode4(149287), // Rule ID 2618 //
52980 /* 149230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52981 /* 149233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52982 /* 149237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52983 /* 149241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52984 /* 149245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52985 /* 149249 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52986 /* 149252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52987 /* 149256 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52988 /* 149260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52989 /* 149262 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52990 /* 149269 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52991 /* 149269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrm),
52992 /* 149272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52993 /* 149274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52994 /* 149276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52995 /* 149280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52996 /* 149285 */ GIR_RootConstrainSelectedInstOperands,
52997 /* 149286 */ // GIR_Coverage, 2618,
52998 /* 149286 */ GIR_EraseRootFromParent_Done,
52999 /* 149287 */ // Label 3282: @149287
53000 /* 149287 */ GIM_Try, /*On fail goto*//*Label 3283*/ GIMT_Encode4(149349), // Rule ID 4867 //
53001 /* 149292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53002 /* 149295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53003 /* 149299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53004 /* 149303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53005 /* 149307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53006 /* 149311 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53007 /* 149314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53008 /* 149318 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53009 /* 149322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53010 /* 149324 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53011 /* 149331 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
53012 /* 149331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rm),
53013 /* 149334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53014 /* 149336 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53015 /* 149338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53016 /* 149342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53017 /* 149347 */ GIR_RootConstrainSelectedInstOperands,
53018 /* 149348 */ // GIR_Coverage, 4867,
53019 /* 149348 */ GIR_EraseRootFromParent_Done,
53020 /* 149349 */ // Label 3283: @149349
53021 /* 149349 */ GIM_Try, /*On fail goto*//*Label 3284*/ GIMT_Encode4(149376), // Rule ID 2617 //
53022 /* 149354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
53023 /* 149357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53024 /* 149361 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53025 /* 149365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53026 /* 149369 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
53027 /* 149369 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrr),
53028 /* 149374 */ GIR_RootConstrainSelectedInstOperands,
53029 /* 149375 */ // GIR_Coverage, 2617,
53030 /* 149375 */ GIR_Done,
53031 /* 149376 */ // Label 3284: @149376
53032 /* 149376 */ GIM_Try, /*On fail goto*//*Label 3285*/ GIMT_Encode4(149403), // Rule ID 2619 //
53033 /* 149381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53034 /* 149384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53035 /* 149388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53036 /* 149392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53037 /* 149396 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
53038 /* 149396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSWrr),
53039 /* 149401 */ GIR_RootConstrainSelectedInstOperands,
53040 /* 149402 */ // GIR_Coverage, 2619,
53041 /* 149402 */ GIR_Done,
53042 /* 149403 */ // Label 3285: @149403
53043 /* 149403 */ GIM_Try, /*On fail goto*//*Label 3286*/ GIMT_Encode4(149430), // Rule ID 4864 //
53044 /* 149408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53045 /* 149411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53046 /* 149415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53047 /* 149419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53048 /* 149423 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
53049 /* 149423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rr),
53050 /* 149428 */ GIR_RootConstrainSelectedInstOperands,
53051 /* 149429 */ // GIR_Coverage, 4864,
53052 /* 149429 */ GIR_Done,
53053 /* 149430 */ // Label 3286: @149430
53054 /* 149430 */ GIM_Reject,
53055 /* 149431 */ // Label 3281: @149431
53056 /* 149431 */ GIM_Reject,
53057 /* 149432 */ // Label 3275: @149432
53058 /* 149432 */ GIM_Try, /*On fail goto*//*Label 3287*/ GIMT_Encode4(149649),
53059 /* 149437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
53060 /* 149440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
53061 /* 149443 */ GIM_Try, /*On fail goto*//*Label 3288*/ GIMT_Encode4(149505), // Rule ID 2612 //
53062 /* 149448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
53063 /* 149451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53064 /* 149455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53065 /* 149459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53066 /* 149463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53067 /* 149467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53068 /* 149470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53069 /* 149474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53070 /* 149478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53071 /* 149480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53072 /* 149487 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
53073 /* 149487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrm),
53074 /* 149490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53075 /* 149492 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53076 /* 149494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53077 /* 149498 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53078 /* 149503 */ GIR_RootConstrainSelectedInstOperands,
53079 /* 149504 */ // GIR_Coverage, 2612,
53080 /* 149504 */ GIR_EraseRootFromParent_Done,
53081 /* 149505 */ // Label 3288: @149505
53082 /* 149505 */ GIM_Try, /*On fail goto*//*Label 3289*/ GIMT_Encode4(149567), // Rule ID 4885 //
53083 /* 149510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53084 /* 149513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53085 /* 149517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53086 /* 149521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53087 /* 149525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53088 /* 149529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53089 /* 149532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53090 /* 149536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53091 /* 149540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53092 /* 149542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53093 /* 149549 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
53094 /* 149549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rm),
53095 /* 149552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53096 /* 149554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53097 /* 149556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53098 /* 149560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53099 /* 149565 */ GIR_RootConstrainSelectedInstOperands,
53100 /* 149566 */ // GIR_Coverage, 4885,
53101 /* 149566 */ GIR_EraseRootFromParent_Done,
53102 /* 149567 */ // Label 3289: @149567
53103 /* 149567 */ GIM_Try, /*On fail goto*//*Label 3290*/ GIMT_Encode4(149594), // Rule ID 2611 //
53104 /* 149572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
53105 /* 149575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53106 /* 149579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53107 /* 149583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53108 /* 149587 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
53109 /* 149587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrr),
53110 /* 149592 */ GIR_RootConstrainSelectedInstOperands,
53111 /* 149593 */ // GIR_Coverage, 2611,
53112 /* 149593 */ GIR_Done,
53113 /* 149594 */ // Label 3290: @149594
53114 /* 149594 */ GIM_Try, /*On fail goto*//*Label 3291*/ GIMT_Encode4(149621), // Rule ID 2613 //
53115 /* 149599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53116 /* 149602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53117 /* 149606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53118 /* 149610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53119 /* 149614 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
53120 /* 149614 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSBrr),
53121 /* 149619 */ GIR_RootConstrainSelectedInstOperands,
53122 /* 149620 */ // GIR_Coverage, 2613,
53123 /* 149620 */ GIR_Done,
53124 /* 149621 */ // Label 3291: @149621
53125 /* 149621 */ GIM_Try, /*On fail goto*//*Label 3292*/ GIMT_Encode4(149648), // Rule ID 4882 //
53126 /* 149626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53127 /* 149629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53128 /* 149633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53129 /* 149637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53130 /* 149641 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
53131 /* 149641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rr),
53132 /* 149646 */ GIR_RootConstrainSelectedInstOperands,
53133 /* 149647 */ // GIR_Coverage, 4882,
53134 /* 149647 */ GIR_Done,
53135 /* 149648 */ // Label 3292: @149648
53136 /* 149648 */ GIM_Reject,
53137 /* 149649 */ // Label 3287: @149649
53138 /* 149649 */ GIM_Reject,
53139 /* 149650 */ // Label 3276: @149650
53140 /* 149650 */ GIM_Try, /*On fail goto*//*Label 3293*/ GIMT_Encode4(149840),
53141 /* 149655 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
53142 /* 149658 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
53143 /* 149661 */ GIM_Try, /*On fail goto*//*Label 3294*/ GIMT_Encode4(149723), // Rule ID 2622 //
53144 /* 149666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
53145 /* 149669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53146 /* 149673 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53147 /* 149677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53148 /* 149681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53149 /* 149685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53150 /* 149688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53151 /* 149692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53152 /* 149696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53153 /* 149698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53154 /* 149705 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
53155 /* 149705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrm),
53156 /* 149708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53157 /* 149710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53158 /* 149712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53159 /* 149716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53160 /* 149721 */ GIR_RootConstrainSelectedInstOperands,
53161 /* 149722 */ // GIR_Coverage, 2622,
53162 /* 149722 */ GIR_EraseRootFromParent_Done,
53163 /* 149723 */ // Label 3294: @149723
53164 /* 149723 */ GIM_Try, /*On fail goto*//*Label 3295*/ GIMT_Encode4(149785), // Rule ID 4861 //
53165 /* 149728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53166 /* 149731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53167 /* 149735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53168 /* 149739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53169 /* 149743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53170 /* 149747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53171 /* 149750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53172 /* 149754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53173 /* 149758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53174 /* 149760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53175 /* 149767 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
53176 /* 149767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rm),
53177 /* 149770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53178 /* 149772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53179 /* 149774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53180 /* 149778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53181 /* 149783 */ GIR_RootConstrainSelectedInstOperands,
53182 /* 149784 */ // GIR_Coverage, 4861,
53183 /* 149784 */ GIR_EraseRootFromParent_Done,
53184 /* 149785 */ // Label 3295: @149785
53185 /* 149785 */ GIM_Try, /*On fail goto*//*Label 3296*/ GIMT_Encode4(149812), // Rule ID 2621 //
53186 /* 149790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
53187 /* 149793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53188 /* 149797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53189 /* 149801 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53190 /* 149805 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
53191 /* 149805 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrr),
53192 /* 149810 */ GIR_RootConstrainSelectedInstOperands,
53193 /* 149811 */ // GIR_Coverage, 2621,
53194 /* 149811 */ GIR_Done,
53195 /* 149812 */ // Label 3296: @149812
53196 /* 149812 */ GIM_Try, /*On fail goto*//*Label 3297*/ GIMT_Encode4(149839), // Rule ID 4858 //
53197 /* 149817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53198 /* 149820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53199 /* 149824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53200 /* 149828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53201 /* 149832 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
53202 /* 149832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rr),
53203 /* 149837 */ GIR_RootConstrainSelectedInstOperands,
53204 /* 149838 */ // GIR_Coverage, 4858,
53205 /* 149838 */ GIR_Done,
53206 /* 149839 */ // Label 3297: @149839
53207 /* 149839 */ GIM_Reject,
53208 /* 149840 */ // Label 3293: @149840
53209 /* 149840 */ GIM_Reject,
53210 /* 149841 */ // Label 3277: @149841
53211 /* 149841 */ GIM_Try, /*On fail goto*//*Label 3298*/ GIMT_Encode4(150031),
53212 /* 149846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
53213 /* 149849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
53214 /* 149852 */ GIM_Try, /*On fail goto*//*Label 3299*/ GIMT_Encode4(149914), // Rule ID 2616 //
53215 /* 149857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
53216 /* 149860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53217 /* 149864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53218 /* 149868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53219 /* 149872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53220 /* 149876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53221 /* 149879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53222 /* 149883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53223 /* 149887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53224 /* 149889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53225 /* 149896 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
53226 /* 149896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrm),
53227 /* 149899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53228 /* 149901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53229 /* 149903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53230 /* 149907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53231 /* 149912 */ GIR_RootConstrainSelectedInstOperands,
53232 /* 149913 */ // GIR_Coverage, 2616,
53233 /* 149913 */ GIR_EraseRootFromParent_Done,
53234 /* 149914 */ // Label 3299: @149914
53235 /* 149914 */ GIM_Try, /*On fail goto*//*Label 3300*/ GIMT_Encode4(149976), // Rule ID 4879 //
53236 /* 149919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53237 /* 149922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53238 /* 149926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53239 /* 149930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53240 /* 149934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53241 /* 149938 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53242 /* 149941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53243 /* 149945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53244 /* 149949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53245 /* 149951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53246 /* 149958 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
53247 /* 149958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rm),
53248 /* 149961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53249 /* 149963 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53250 /* 149965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53251 /* 149969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53252 /* 149974 */ GIR_RootConstrainSelectedInstOperands,
53253 /* 149975 */ // GIR_Coverage, 4879,
53254 /* 149975 */ GIR_EraseRootFromParent_Done,
53255 /* 149976 */ // Label 3300: @149976
53256 /* 149976 */ GIM_Try, /*On fail goto*//*Label 3301*/ GIMT_Encode4(150003), // Rule ID 2615 //
53257 /* 149981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
53258 /* 149984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53259 /* 149988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53260 /* 149992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53261 /* 149996 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
53262 /* 149996 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrr),
53263 /* 150001 */ GIR_RootConstrainSelectedInstOperands,
53264 /* 150002 */ // GIR_Coverage, 2615,
53265 /* 150002 */ GIR_Done,
53266 /* 150003 */ // Label 3301: @150003
53267 /* 150003 */ GIM_Try, /*On fail goto*//*Label 3302*/ GIMT_Encode4(150030), // Rule ID 4876 //
53268 /* 150008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
53269 /* 150011 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53270 /* 150015 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53271 /* 150019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53272 /* 150023 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
53273 /* 150023 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rr),
53274 /* 150028 */ GIR_RootConstrainSelectedInstOperands,
53275 /* 150029 */ // GIR_Coverage, 4876,
53276 /* 150029 */ GIR_Done,
53277 /* 150030 */ // Label 3302: @150030
53278 /* 150030 */ GIM_Reject,
53279 /* 150031 */ // Label 3298: @150031
53280 /* 150031 */ GIM_Reject,
53281 /* 150032 */ // Label 3278: @150032
53282 /* 150032 */ GIM_Try, /*On fail goto*//*Label 3303*/ GIMT_Encode4(150125),
53283 /* 150037 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
53284 /* 150040 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
53285 /* 150043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53286 /* 150047 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53287 /* 150051 */ GIM_Try, /*On fail goto*//*Label 3304*/ GIMT_Encode4(150105), // Rule ID 4855 //
53288 /* 150056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
53289 /* 150059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53290 /* 150063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53291 /* 150067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53292 /* 150070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53293 /* 150074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53294 /* 150078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53295 /* 150080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53296 /* 150087 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
53297 /* 150087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrm),
53298 /* 150090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53299 /* 150092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53300 /* 150094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53301 /* 150098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53302 /* 150103 */ GIR_RootConstrainSelectedInstOperands,
53303 /* 150104 */ // GIR_Coverage, 4855,
53304 /* 150104 */ GIR_EraseRootFromParent_Done,
53305 /* 150105 */ // Label 3304: @150105
53306 /* 150105 */ GIM_Try, /*On fail goto*//*Label 3305*/ GIMT_Encode4(150124), // Rule ID 4852 //
53307 /* 150110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
53308 /* 150113 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53309 /* 150117 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
53310 /* 150117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrr),
53311 /* 150122 */ GIR_RootConstrainSelectedInstOperands,
53312 /* 150123 */ // GIR_Coverage, 4852,
53313 /* 150123 */ GIR_Done,
53314 /* 150124 */ // Label 3305: @150124
53315 /* 150124 */ GIM_Reject,
53316 /* 150125 */ // Label 3303: @150125
53317 /* 150125 */ GIM_Reject,
53318 /* 150126 */ // Label 3279: @150126
53319 /* 150126 */ GIM_Try, /*On fail goto*//*Label 3306*/ GIMT_Encode4(150219),
53320 /* 150131 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
53321 /* 150134 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
53322 /* 150137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53323 /* 150141 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53324 /* 150145 */ GIM_Try, /*On fail goto*//*Label 3307*/ GIMT_Encode4(150199), // Rule ID 4873 //
53325 /* 150150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
53326 /* 150153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53327 /* 150157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53328 /* 150161 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53329 /* 150164 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53330 /* 150168 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53331 /* 150172 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53332 /* 150174 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53333 /* 150181 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
53334 /* 150181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrm),
53335 /* 150184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53336 /* 150186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53337 /* 150188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53338 /* 150192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53339 /* 150197 */ GIR_RootConstrainSelectedInstOperands,
53340 /* 150198 */ // GIR_Coverage, 4873,
53341 /* 150198 */ GIR_EraseRootFromParent_Done,
53342 /* 150199 */ // Label 3307: @150199
53343 /* 150199 */ GIM_Try, /*On fail goto*//*Label 3308*/ GIMT_Encode4(150218), // Rule ID 4870 //
53344 /* 150204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
53345 /* 150207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53346 /* 150211 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
53347 /* 150211 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrr),
53348 /* 150216 */ GIR_RootConstrainSelectedInstOperands,
53349 /* 150217 */ // GIR_Coverage, 4870,
53350 /* 150217 */ GIR_Done,
53351 /* 150218 */ // Label 3308: @150218
53352 /* 150218 */ GIM_Reject,
53353 /* 150219 */ // Label 3306: @150219
53354 /* 150219 */ GIM_Reject,
53355 /* 150220 */ // Label 3280: @150220
53356 /* 150220 */ GIM_Reject,
53357 /* 150221 */ // Label 42: @150221
53358 /* 150221 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3322*/ GIMT_Encode4(156134),
53359 /* 150232 */ /*GILLT_s16*//*Label 3309*/ GIMT_Encode4(150316),
53360 /* 150236 */ /*GILLT_s32*//*Label 3310*/ GIMT_Encode4(150476),
53361 /* 150240 */ /*GILLT_s64*//*Label 3311*/ GIMT_Encode4(151873),
53362 /* 150244 */ /*GILLT_s80*//*Label 3312*/ GIMT_Encode4(153414), GIMT_Encode4(0), GIMT_Encode4(0),
53363 /* 150256 */ /*GILLT_v2s64*//*Label 3313*/ GIMT_Encode4(153980), GIMT_Encode4(0),
53364 /* 150264 */ /*GILLT_v4s32*//*Label 3314*/ GIMT_Encode4(154334),
53365 /* 150268 */ /*GILLT_v4s64*//*Label 3315*/ GIMT_Encode4(154688), GIMT_Encode4(0),
53366 /* 150276 */ /*GILLT_v8s16*//*Label 3316*/ GIMT_Encode4(155011),
53367 /* 150280 */ /*GILLT_v8s32*//*Label 3317*/ GIMT_Encode4(155171),
53368 /* 150284 */ /*GILLT_v8s64*//*Label 3318*/ GIMT_Encode4(155494), GIMT_Encode4(0), GIMT_Encode4(0),
53369 /* 150296 */ /*GILLT_v16s16*//*Label 3319*/ GIMT_Encode4(155654),
53370 /* 150300 */ /*GILLT_v16s32*//*Label 3320*/ GIMT_Encode4(155814), GIMT_Encode4(0), GIMT_Encode4(0),
53371 /* 150312 */ /*GILLT_v32s16*//*Label 3321*/ GIMT_Encode4(155974),
53372 /* 150316 */ // Label 3309: @150316
53373 /* 150316 */ GIM_Try, /*On fail goto*//*Label 3323*/ GIMT_Encode4(150475),
53374 /* 150321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
53375 /* 150324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
53376 /* 150327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53377 /* 150331 */ GIM_Try, /*On fail goto*//*Label 3324*/ GIMT_Encode4(150389), // Rule ID 24283 //
53378 /* 150336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53379 /* 150339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53380 /* 150343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53381 /* 150347 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53382 /* 150350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53383 /* 150354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53384 /* 150358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53385 /* 150362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53386 /* 150364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53387 /* 150371 */ // (fadd:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53388 /* 150371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
53389 /* 150374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53390 /* 150376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53391 /* 150378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53392 /* 150382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53393 /* 150387 */ GIR_RootConstrainSelectedInstOperands,
53394 /* 150388 */ // GIR_Coverage, 24283,
53395 /* 150388 */ GIR_EraseRootFromParent_Done,
53396 /* 150389 */ // Label 3324: @150389
53397 /* 150389 */ GIM_Try, /*On fail goto*//*Label 3325*/ GIMT_Encode4(150447), // Rule ID 5958 //
53398 /* 150394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53399 /* 150397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53400 /* 150401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53401 /* 150405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53402 /* 150409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53403 /* 150412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53404 /* 150416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53405 /* 150420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53406 /* 150422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53407 /* 150429 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53408 /* 150429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
53409 /* 150432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53410 /* 150434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53411 /* 150436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53412 /* 150440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53413 /* 150445 */ GIR_RootConstrainSelectedInstOperands,
53414 /* 150446 */ // GIR_Coverage, 5958,
53415 /* 150446 */ GIR_EraseRootFromParent_Done,
53416 /* 150447 */ // Label 3325: @150447
53417 /* 150447 */ GIM_Try, /*On fail goto*//*Label 3326*/ GIMT_Encode4(150474), // Rule ID 5956 //
53418 /* 150452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53419 /* 150455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53420 /* 150459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
53421 /* 150463 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
53422 /* 150463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
53423 /* 150468 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53424 /* 150472 */ GIR_RootConstrainSelectedInstOperands,
53425 /* 150473 */ // GIR_Coverage, 5956,
53426 /* 150473 */ GIR_Done,
53427 /* 150474 */ // Label 3326: @150474
53428 /* 150474 */ GIM_Reject,
53429 /* 150475 */ // Label 3323: @150475
53430 /* 150475 */ GIM_Reject,
53431 /* 150476 */ // Label 3310: @150476
53432 /* 150476 */ GIM_Try, /*On fail goto*//*Label 3327*/ GIMT_Encode4(151872),
53433 /* 150481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
53434 /* 150484 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
53435 /* 150487 */ GIM_Try, /*On fail goto*//*Label 3328*/ GIMT_Encode4(150569), // Rule ID 26051 //
53436 /* 150492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53437 /* 150495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53438 /* 150499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53439 /* 150503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53440 /* 150507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53441 /* 150511 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53442 /* 150515 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53443 /* 150519 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53444 /* 150522 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53445 /* 150526 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53446 /* 150533 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53447 /* 150537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53448 /* 150541 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53449 /* 150543 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53450 /* 150550 */ // (fadd:{ *:[f32] } (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53451 /* 150550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
53452 /* 150553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53453 /* 150555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53454 /* 150557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53455 /* 150561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53456 /* 150567 */ GIR_RootConstrainSelectedInstOperands,
53457 /* 150568 */ // GIR_Coverage, 26051,
53458 /* 150568 */ GIR_EraseRootFromParent_Done,
53459 /* 150569 */ // Label 3328: @150569
53460 /* 150569 */ GIM_Try, /*On fail goto*//*Label 3329*/ GIMT_Encode4(150651), // Rule ID 26052 //
53461 /* 150574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53462 /* 150577 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53463 /* 150581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53464 /* 150585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53465 /* 150589 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53466 /* 150593 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53467 /* 150597 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53468 /* 150601 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53469 /* 150604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53470 /* 150608 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53471 /* 150615 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53472 /* 150619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53473 /* 150623 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53474 /* 150625 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53475 /* 150632 */ // (fadd:{ *:[f32] } (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53476 /* 150632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
53477 /* 150635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53478 /* 150637 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53479 /* 150639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53480 /* 150643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53481 /* 150649 */ GIR_RootConstrainSelectedInstOperands,
53482 /* 150650 */ // GIR_Coverage, 26052,
53483 /* 150650 */ GIR_EraseRootFromParent_Done,
53484 /* 150651 */ // Label 3329: @150651
53485 /* 150651 */ GIM_Try, /*On fail goto*//*Label 3330*/ GIMT_Encode4(150733), // Rule ID 26053 //
53486 /* 150656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53487 /* 150659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53488 /* 150663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53489 /* 150667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53490 /* 150671 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53491 /* 150675 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53492 /* 150679 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53493 /* 150683 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53494 /* 150686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53495 /* 150690 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53496 /* 150697 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53497 /* 150701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53498 /* 150705 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53499 /* 150707 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53500 /* 150714 */ // (fadd:{ *:[f32] } (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53501 /* 150714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
53502 /* 150717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53503 /* 150719 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53504 /* 150721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53505 /* 150725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53506 /* 150731 */ GIR_RootConstrainSelectedInstOperands,
53507 /* 150732 */ // GIR_Coverage, 26053,
53508 /* 150732 */ GIR_EraseRootFromParent_Done,
53509 /* 150733 */ // Label 3330: @150733
53510 /* 150733 */ GIM_Try, /*On fail goto*//*Label 3331*/ GIMT_Encode4(150815), // Rule ID 22481 //
53511 /* 150738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53512 /* 150741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53513 /* 150745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53514 /* 150749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53515 /* 150753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53516 /* 150757 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53517 /* 150761 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53518 /* 150765 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53519 /* 150769 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53520 /* 150772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53521 /* 150776 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53522 /* 150783 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53523 /* 150787 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53524 /* 150789 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53525 /* 150796 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53526 /* 150796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
53527 /* 150799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53528 /* 150801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53529 /* 150803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53530 /* 150807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53531 /* 150813 */ GIR_RootConstrainSelectedInstOperands,
53532 /* 150814 */ // GIR_Coverage, 22481,
53533 /* 150814 */ GIR_EraseRootFromParent_Done,
53534 /* 150815 */ // Label 3331: @150815
53535 /* 150815 */ GIM_Try, /*On fail goto*//*Label 3332*/ GIMT_Encode4(150897), // Rule ID 22482 //
53536 /* 150820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53537 /* 150823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53538 /* 150827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53539 /* 150831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53540 /* 150835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53541 /* 150839 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53542 /* 150843 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53543 /* 150847 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53544 /* 150851 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53545 /* 150854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53546 /* 150858 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53547 /* 150865 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53548 /* 150869 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53549 /* 150871 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53550 /* 150878 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53551 /* 150878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
53552 /* 150881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53553 /* 150883 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53554 /* 150885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53555 /* 150889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53556 /* 150895 */ GIR_RootConstrainSelectedInstOperands,
53557 /* 150896 */ // GIR_Coverage, 22482,
53558 /* 150896 */ GIR_EraseRootFromParent_Done,
53559 /* 150897 */ // Label 3332: @150897
53560 /* 150897 */ GIM_Try, /*On fail goto*//*Label 3333*/ GIMT_Encode4(150979), // Rule ID 22483 //
53561 /* 150902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53562 /* 150905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53563 /* 150909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53564 /* 150913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53565 /* 150917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53566 /* 150921 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
53567 /* 150925 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53568 /* 150929 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53569 /* 150933 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53570 /* 150936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53571 /* 150940 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53572 /* 150947 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53573 /* 150951 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53574 /* 150953 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53575 /* 150960 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53576 /* 150960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
53577 /* 150963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53578 /* 150965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53579 /* 150967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53580 /* 150971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53581 /* 150977 */ GIR_RootConstrainSelectedInstOperands,
53582 /* 150978 */ // GIR_Coverage, 22483,
53583 /* 150978 */ GIR_EraseRootFromParent_Done,
53584 /* 150979 */ // Label 3333: @150979
53585 /* 150979 */ GIM_Try, /*On fail goto*//*Label 3334*/ GIMT_Encode4(151044), // Rule ID 23280 //
53586 /* 150984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
53587 /* 150987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53588 /* 150991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53589 /* 150995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53590 /* 150999 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53591 /* 151006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53592 /* 151010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53593 /* 151014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53594 /* 151016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53595 /* 151023 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53596 /* 151023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
53597 /* 151026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53598 /* 151028 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53599 /* 151030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53600 /* 151034 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53601 /* 151037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53602 /* 151042 */ GIR_RootConstrainSelectedInstOperands,
53603 /* 151043 */ // GIR_Coverage, 23280,
53604 /* 151043 */ GIR_EraseRootFromParent_Done,
53605 /* 151044 */ // Label 3334: @151044
53606 /* 151044 */ GIM_Try, /*On fail goto*//*Label 3335*/ GIMT_Encode4(151109), // Rule ID 23282 //
53607 /* 151049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
53608 /* 151052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53609 /* 151056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53610 /* 151060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53611 /* 151064 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53612 /* 151071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53613 /* 151075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53614 /* 151079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53615 /* 151081 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53616 /* 151088 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53617 /* 151088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
53618 /* 151091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53619 /* 151093 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53620 /* 151095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53621 /* 151099 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53622 /* 151102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53623 /* 151107 */ GIR_RootConstrainSelectedInstOperands,
53624 /* 151108 */ // GIR_Coverage, 23282,
53625 /* 151108 */ GIR_EraseRootFromParent_Done,
53626 /* 151109 */ // Label 3335: @151109
53627 /* 151109 */ GIM_Try, /*On fail goto*//*Label 3336*/ GIMT_Encode4(151174), // Rule ID 23270 //
53628 /* 151114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
53629 /* 151117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53630 /* 151121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53631 /* 151125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53632 /* 151129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53633 /* 151132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53634 /* 151136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53635 /* 151140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53636 /* 151144 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53637 /* 151146 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53638 /* 151153 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (ADD_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53639 /* 151153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
53640 /* 151156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53641 /* 151158 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53642 /* 151160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53643 /* 151164 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53644 /* 151167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53645 /* 151172 */ GIR_RootConstrainSelectedInstOperands,
53646 /* 151173 */ // GIR_Coverage, 23270,
53647 /* 151173 */ GIR_EraseRootFromParent_Done,
53648 /* 151174 */ // Label 3336: @151174
53649 /* 151174 */ GIM_Try, /*On fail goto*//*Label 3337*/ GIMT_Encode4(151236), // Rule ID 23415 //
53650 /* 151179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53651 /* 151182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53652 /* 151186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53653 /* 151190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53654 /* 151194 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53655 /* 151197 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53656 /* 151201 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53657 /* 151205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53658 /* 151209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53659 /* 151211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53660 /* 151218 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53661 /* 151218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
53662 /* 151221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53663 /* 151223 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53664 /* 151225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53665 /* 151229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53666 /* 151234 */ GIR_RootConstrainSelectedInstOperands,
53667 /* 151235 */ // GIR_Coverage, 23415,
53668 /* 151235 */ GIR_EraseRootFromParent_Done,
53669 /* 151236 */ // Label 3337: @151236
53670 /* 151236 */ GIM_Try, /*On fail goto*//*Label 3338*/ GIMT_Encode4(151298), // Rule ID 23419 //
53671 /* 151241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53672 /* 151244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53673 /* 151248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53674 /* 151252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53675 /* 151256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53676 /* 151259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53677 /* 151263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53678 /* 151267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53679 /* 151271 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53680 /* 151273 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53681 /* 151280 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53682 /* 151280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
53683 /* 151283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53684 /* 151285 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53685 /* 151287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53686 /* 151291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53687 /* 151296 */ GIR_RootConstrainSelectedInstOperands,
53688 /* 151297 */ // GIR_Coverage, 23419,
53689 /* 151297 */ GIR_EraseRootFromParent_Done,
53690 /* 151298 */ // Label 3338: @151298
53691 /* 151298 */ GIM_Try, /*On fail goto*//*Label 3339*/ GIMT_Encode4(151360), // Rule ID 24279 //
53692 /* 151303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53693 /* 151306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53694 /* 151310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53695 /* 151314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53696 /* 151318 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53697 /* 151321 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53698 /* 151325 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53699 /* 151329 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53700 /* 151333 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53701 /* 151335 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53702 /* 151342 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53703 /* 151342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
53704 /* 151345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53705 /* 151347 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53706 /* 151349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53707 /* 151353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53708 /* 151358 */ GIR_RootConstrainSelectedInstOperands,
53709 /* 151359 */ // GIR_Coverage, 24279,
53710 /* 151359 */ GIR_EraseRootFromParent_Done,
53711 /* 151360 */ // Label 3339: @151360
53712 /* 151360 */ GIM_Try, /*On fail goto*//*Label 3340*/ GIMT_Encode4(151425), // Rule ID 920 //
53713 /* 151365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
53714 /* 151368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53715 /* 151372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53716 /* 151376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53717 /* 151380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53718 /* 151384 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53719 /* 151391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53720 /* 151395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53721 /* 151397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53722 /* 151404 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53723 /* 151404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
53724 /* 151407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53725 /* 151409 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53726 /* 151411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53727 /* 151415 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53728 /* 151418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53729 /* 151423 */ GIR_RootConstrainSelectedInstOperands,
53730 /* 151424 */ // GIR_Coverage, 920,
53731 /* 151424 */ GIR_EraseRootFromParent_Done,
53732 /* 151425 */ // Label 3340: @151425
53733 /* 151425 */ GIM_Try, /*On fail goto*//*Label 3341*/ GIMT_Encode4(151490), // Rule ID 922 //
53734 /* 151430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
53735 /* 151433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53736 /* 151437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53737 /* 151441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53738 /* 151445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53739 /* 151449 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53740 /* 151456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53741 /* 151460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53742 /* 151462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53743 /* 151469 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53744 /* 151469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
53745 /* 151472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53746 /* 151474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53747 /* 151476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53748 /* 151480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53749 /* 151483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53750 /* 151488 */ GIR_RootConstrainSelectedInstOperands,
53751 /* 151489 */ // GIR_Coverage, 922,
53752 /* 151489 */ GIR_EraseRootFromParent_Done,
53753 /* 151490 */ // Label 3341: @151490
53754 /* 151490 */ GIM_Try, /*On fail goto*//*Label 3342*/ GIMT_Encode4(151555), // Rule ID 910 //
53755 /* 151495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
53756 /* 151498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53757 /* 151502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53758 /* 151506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53759 /* 151510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53760 /* 151514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53761 /* 151517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53762 /* 151521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53763 /* 151525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53764 /* 151527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53765 /* 151534 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADD_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53766 /* 151534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
53767 /* 151537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53768 /* 151539 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53769 /* 151541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53770 /* 151545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53771 /* 151548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53772 /* 151553 */ GIR_RootConstrainSelectedInstOperands,
53773 /* 151554 */ // GIR_Coverage, 910,
53774 /* 151554 */ GIR_EraseRootFromParent_Done,
53775 /* 151555 */ // Label 3342: @151555
53776 /* 151555 */ GIM_Try, /*On fail goto*//*Label 3343*/ GIMT_Encode4(151617), // Rule ID 2160 //
53777 /* 151560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53778 /* 151563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53779 /* 151567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53780 /* 151571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53781 /* 151575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53782 /* 151579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53783 /* 151582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53784 /* 151586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53785 /* 151590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53786 /* 151592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53787 /* 151599 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53788 /* 151599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
53789 /* 151602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53790 /* 151604 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53791 /* 151606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53792 /* 151610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53793 /* 151615 */ GIR_RootConstrainSelectedInstOperands,
53794 /* 151616 */ // GIR_Coverage, 2160,
53795 /* 151616 */ GIR_EraseRootFromParent_Done,
53796 /* 151617 */ // Label 3343: @151617
53797 /* 151617 */ GIM_Try, /*On fail goto*//*Label 3344*/ GIMT_Encode4(151679), // Rule ID 2168 //
53798 /* 151622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53799 /* 151625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53800 /* 151629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53801 /* 151633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53802 /* 151637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53803 /* 151641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53804 /* 151644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53805 /* 151648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53806 /* 151652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53807 /* 151654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53808 /* 151661 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53809 /* 151661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
53810 /* 151664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53811 /* 151666 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53812 /* 151668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53813 /* 151672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53814 /* 151677 */ GIR_RootConstrainSelectedInstOperands,
53815 /* 151678 */ // GIR_Coverage, 2168,
53816 /* 151678 */ GIR_EraseRootFromParent_Done,
53817 /* 151679 */ // Label 3344: @151679
53818 /* 151679 */ GIM_Try, /*On fail goto*//*Label 3345*/ GIMT_Encode4(151741), // Rule ID 5920 //
53819 /* 151684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53820 /* 151687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53821 /* 151691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53822 /* 151695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53823 /* 151699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53824 /* 151703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53825 /* 151706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53826 /* 151710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53827 /* 151714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53828 /* 151716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53829 /* 151723 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53830 /* 151723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
53831 /* 151726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53832 /* 151728 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53833 /* 151730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53834 /* 151734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53835 /* 151739 */ GIR_RootConstrainSelectedInstOperands,
53836 /* 151740 */ // GIR_Coverage, 5920,
53837 /* 151740 */ GIR_EraseRootFromParent_Done,
53838 /* 151741 */ // Label 3345: @151741
53839 /* 151741 */ GIM_Try, /*On fail goto*//*Label 3346*/ GIMT_Encode4(151778), // Rule ID 886 //
53840 /* 151746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
53841 /* 151749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53842 /* 151753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53843 /* 151757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
53844 /* 151761 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
53845 /* 151761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
53846 /* 151766 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53847 /* 151772 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53848 /* 151776 */ GIR_RootConstrainSelectedInstOperands,
53849 /* 151777 */ // GIR_Coverage, 886,
53850 /* 151777 */ GIR_Done,
53851 /* 151778 */ // Label 3346: @151778
53852 /* 151778 */ GIM_Try, /*On fail goto*//*Label 3347*/ GIMT_Encode4(151809), // Rule ID 2158 //
53853 /* 151783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53854 /* 151786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53855 /* 151790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53856 /* 151794 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53857 /* 151798 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
53858 /* 151798 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
53859 /* 151803 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53860 /* 151807 */ GIR_RootConstrainSelectedInstOperands,
53861 /* 151808 */ // GIR_Coverage, 2158,
53862 /* 151808 */ GIR_Done,
53863 /* 151809 */ // Label 3347: @151809
53864 /* 151809 */ GIM_Try, /*On fail goto*//*Label 3348*/ GIMT_Encode4(151840), // Rule ID 2166 //
53865 /* 151814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53866 /* 151817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53867 /* 151821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53868 /* 151825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
53869 /* 151829 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
53870 /* 151829 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
53871 /* 151834 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53872 /* 151838 */ GIR_RootConstrainSelectedInstOperands,
53873 /* 151839 */ // GIR_Coverage, 2166,
53874 /* 151839 */ GIR_Done,
53875 /* 151840 */ // Label 3348: @151840
53876 /* 151840 */ GIM_Try, /*On fail goto*//*Label 3349*/ GIMT_Encode4(151871), // Rule ID 5918 //
53877 /* 151845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53878 /* 151848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53879 /* 151852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53880 /* 151856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
53881 /* 151860 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
53882 /* 151860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
53883 /* 151865 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53884 /* 151869 */ GIR_RootConstrainSelectedInstOperands,
53885 /* 151870 */ // GIR_Coverage, 5918,
53886 /* 151870 */ GIR_Done,
53887 /* 151871 */ // Label 3349: @151871
53888 /* 151871 */ GIM_Reject,
53889 /* 151872 */ // Label 3327: @151872
53890 /* 151872 */ GIM_Reject,
53891 /* 151873 */ // Label 3311: @151873
53892 /* 151873 */ GIM_Try, /*On fail goto*//*Label 3350*/ GIMT_Encode4(153413),
53893 /* 151878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
53894 /* 151881 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
53895 /* 151884 */ GIM_Try, /*On fail goto*//*Label 3351*/ GIMT_Encode4(151966), // Rule ID 26054 //
53896 /* 151889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53897 /* 151892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53898 /* 151896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53899 /* 151900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53900 /* 151904 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53901 /* 151908 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53902 /* 151912 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53903 /* 151916 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53904 /* 151919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53905 /* 151923 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53906 /* 151930 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53907 /* 151934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53908 /* 151938 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53909 /* 151940 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53910 /* 151947 */ // (fadd:{ *:[f64] } (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53911 /* 151947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53912 /* 151950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53913 /* 151952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53914 /* 151954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53915 /* 151958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53916 /* 151964 */ GIR_RootConstrainSelectedInstOperands,
53917 /* 151965 */ // GIR_Coverage, 26054,
53918 /* 151965 */ GIR_EraseRootFromParent_Done,
53919 /* 151966 */ // Label 3351: @151966
53920 /* 151966 */ GIM_Try, /*On fail goto*//*Label 3352*/ GIMT_Encode4(152048), // Rule ID 26055 //
53921 /* 151971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53922 /* 151974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53923 /* 151978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53924 /* 151982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53925 /* 151986 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53926 /* 151990 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53927 /* 151994 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53928 /* 151998 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53929 /* 152001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53930 /* 152005 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53931 /* 152012 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53932 /* 152016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53933 /* 152020 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53934 /* 152022 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53935 /* 152029 */ // (fadd:{ *:[f64] } (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53936 /* 152029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
53937 /* 152032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53938 /* 152034 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53939 /* 152036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53940 /* 152040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53941 /* 152046 */ GIR_RootConstrainSelectedInstOperands,
53942 /* 152047 */ // GIR_Coverage, 26055,
53943 /* 152047 */ GIR_EraseRootFromParent_Done,
53944 /* 152048 */ // Label 3352: @152048
53945 /* 152048 */ GIM_Try, /*On fail goto*//*Label 3353*/ GIMT_Encode4(152130), // Rule ID 26056 //
53946 /* 152053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53947 /* 152056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53948 /* 152060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53949 /* 152064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53950 /* 152068 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53951 /* 152072 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53952 /* 152076 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53953 /* 152080 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53954 /* 152083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53955 /* 152087 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53956 /* 152094 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53957 /* 152098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53958 /* 152102 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53959 /* 152104 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53960 /* 152111 */ // (fadd:{ *:[f64] } (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53961 /* 152111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
53962 /* 152114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53963 /* 152116 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53964 /* 152118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53965 /* 152122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53966 /* 152128 */ GIR_RootConstrainSelectedInstOperands,
53967 /* 152129 */ // GIR_Coverage, 26056,
53968 /* 152129 */ GIR_EraseRootFromParent_Done,
53969 /* 152130 */ // Label 3353: @152130
53970 /* 152130 */ GIM_Try, /*On fail goto*//*Label 3354*/ GIMT_Encode4(152212), // Rule ID 22484 //
53971 /* 152135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53972 /* 152138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53973 /* 152142 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53974 /* 152146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53975 /* 152150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
53976 /* 152154 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
53977 /* 152158 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
53978 /* 152162 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
53979 /* 152166 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
53980 /* 152169 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
53981 /* 152173 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53982 /* 152180 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
53983 /* 152184 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
53984 /* 152186 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53985 /* 152193 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53986 /* 152193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53987 /* 152196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53988 /* 152198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53989 /* 152200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53990 /* 152204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
53991 /* 152210 */ GIR_RootConstrainSelectedInstOperands,
53992 /* 152211 */ // GIR_Coverage, 22484,
53993 /* 152211 */ GIR_EraseRootFromParent_Done,
53994 /* 152212 */ // Label 3354: @152212
53995 /* 152212 */ GIM_Try, /*On fail goto*//*Label 3355*/ GIMT_Encode4(152294), // Rule ID 22485 //
53996 /* 152217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53997 /* 152220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53998 /* 152224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53999 /* 152228 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54000 /* 152232 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54001 /* 152236 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54002 /* 152240 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54003 /* 152244 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54004 /* 152248 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54005 /* 152251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54006 /* 152255 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54007 /* 152262 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54008 /* 152266 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54009 /* 152268 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54010 /* 152275 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54011 /* 152275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
54012 /* 152278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54013 /* 152280 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54014 /* 152282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54015 /* 152286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54016 /* 152292 */ GIR_RootConstrainSelectedInstOperands,
54017 /* 152293 */ // GIR_Coverage, 22485,
54018 /* 152293 */ GIR_EraseRootFromParent_Done,
54019 /* 152294 */ // Label 3355: @152294
54020 /* 152294 */ GIM_Try, /*On fail goto*//*Label 3356*/ GIMT_Encode4(152376), // Rule ID 22486 //
54021 /* 152299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54022 /* 152302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54023 /* 152306 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54024 /* 152310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54025 /* 152314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54026 /* 152318 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54027 /* 152322 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54028 /* 152326 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54029 /* 152330 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54030 /* 152333 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54031 /* 152337 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54032 /* 152344 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54033 /* 152348 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54034 /* 152350 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54035 /* 152357 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54036 /* 152357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
54037 /* 152360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54038 /* 152362 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54039 /* 152364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54040 /* 152368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54041 /* 152374 */ GIR_RootConstrainSelectedInstOperands,
54042 /* 152375 */ // GIR_Coverage, 22486,
54043 /* 152375 */ GIR_EraseRootFromParent_Done,
54044 /* 152376 */ // Label 3356: @152376
54045 /* 152376 */ GIM_Try, /*On fail goto*//*Label 3357*/ GIMT_Encode4(152441), // Rule ID 23284 //
54046 /* 152381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54047 /* 152384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54048 /* 152388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54049 /* 152392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54050 /* 152396 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54051 /* 152403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54052 /* 152407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54053 /* 152411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54054 /* 152413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54055 /* 152420 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54056 /* 152420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
54057 /* 152423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54058 /* 152425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54059 /* 152427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54060 /* 152431 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54061 /* 152434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54062 /* 152439 */ GIR_RootConstrainSelectedInstOperands,
54063 /* 152440 */ // GIR_Coverage, 23284,
54064 /* 152440 */ GIR_EraseRootFromParent_Done,
54065 /* 152441 */ // Label 3357: @152441
54066 /* 152441 */ GIM_Try, /*On fail goto*//*Label 3358*/ GIMT_Encode4(152506), // Rule ID 23286 //
54067 /* 152446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54068 /* 152449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54069 /* 152453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54070 /* 152457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54071 /* 152461 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54072 /* 152468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54073 /* 152472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54074 /* 152476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54075 /* 152478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54076 /* 152485 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54077 /* 152485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
54078 /* 152488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54079 /* 152490 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54080 /* 152492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54081 /* 152496 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54082 /* 152499 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54083 /* 152504 */ GIR_RootConstrainSelectedInstOperands,
54084 /* 152505 */ // GIR_Coverage, 23286,
54085 /* 152505 */ GIR_EraseRootFromParent_Done,
54086 /* 152506 */ // Label 3358: @152506
54087 /* 152506 */ GIM_Try, /*On fail goto*//*Label 3359*/ GIMT_Encode4(152571), // Rule ID 23272 //
54088 /* 152511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54089 /* 152514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54090 /* 152518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54091 /* 152522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54092 /* 152526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54093 /* 152529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54094 /* 152533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54095 /* 152537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54096 /* 152541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54097 /* 152543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54098 /* 152550 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (ADD_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54099 /* 152550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
54100 /* 152553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54101 /* 152555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54102 /* 152557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54103 /* 152561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54104 /* 152564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54105 /* 152569 */ GIR_RootConstrainSelectedInstOperands,
54106 /* 152570 */ // GIR_Coverage, 23272,
54107 /* 152570 */ GIR_EraseRootFromParent_Done,
54108 /* 152571 */ // Label 3359: @152571
54109 /* 152571 */ GIM_Try, /*On fail goto*//*Label 3360*/ GIMT_Encode4(152643), // Rule ID 23274 //
54110 /* 152576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54111 /* 152579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54112 /* 152583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54113 /* 152587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54114 /* 152591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54115 /* 152594 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54116 /* 152598 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54117 /* 152605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54118 /* 152609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54119 /* 152613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54120 /* 152615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54121 /* 152622 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (ADD_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54122 /* 152622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
54123 /* 152625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54124 /* 152627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54125 /* 152629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54126 /* 152633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54127 /* 152636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54128 /* 152641 */ GIR_RootConstrainSelectedInstOperands,
54129 /* 152642 */ // GIR_Coverage, 23274,
54130 /* 152642 */ GIR_EraseRootFromParent_Done,
54131 /* 152643 */ // Label 3360: @152643
54132 /* 152643 */ GIM_Try, /*On fail goto*//*Label 3361*/ GIMT_Encode4(152705), // Rule ID 23417 //
54133 /* 152648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54134 /* 152651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54135 /* 152655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54136 /* 152659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54137 /* 152663 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54138 /* 152666 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54139 /* 152670 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54140 /* 152674 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54141 /* 152678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54142 /* 152680 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54143 /* 152687 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54144 /* 152687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
54145 /* 152690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54146 /* 152692 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54147 /* 152694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54148 /* 152698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54149 /* 152703 */ GIR_RootConstrainSelectedInstOperands,
54150 /* 152704 */ // GIR_Coverage, 23417,
54151 /* 152704 */ GIR_EraseRootFromParent_Done,
54152 /* 152705 */ // Label 3361: @152705
54153 /* 152705 */ GIM_Try, /*On fail goto*//*Label 3362*/ GIMT_Encode4(152767), // Rule ID 23421 //
54154 /* 152710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54155 /* 152713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54156 /* 152717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54157 /* 152721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54158 /* 152725 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54159 /* 152728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54160 /* 152732 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54161 /* 152736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54162 /* 152740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54163 /* 152742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54164 /* 152749 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54165 /* 152749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
54166 /* 152752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54167 /* 152754 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54168 /* 152756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54169 /* 152760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54170 /* 152765 */ GIR_RootConstrainSelectedInstOperands,
54171 /* 152766 */ // GIR_Coverage, 23421,
54172 /* 152766 */ GIR_EraseRootFromParent_Done,
54173 /* 152767 */ // Label 3362: @152767
54174 /* 152767 */ GIM_Try, /*On fail goto*//*Label 3363*/ GIMT_Encode4(152829), // Rule ID 24281 //
54175 /* 152772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54176 /* 152775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54177 /* 152779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54178 /* 152783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54179 /* 152787 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54180 /* 152790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54181 /* 152794 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54182 /* 152798 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54183 /* 152802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54184 /* 152804 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54185 /* 152811 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54186 /* 152811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
54187 /* 152814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54188 /* 152816 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54189 /* 152818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54190 /* 152822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54191 /* 152827 */ GIR_RootConstrainSelectedInstOperands,
54192 /* 152828 */ // GIR_Coverage, 24281,
54193 /* 152828 */ GIR_EraseRootFromParent_Done,
54194 /* 152829 */ // Label 3363: @152829
54195 /* 152829 */ GIM_Try, /*On fail goto*//*Label 3364*/ GIMT_Encode4(152894), // Rule ID 924 //
54196 /* 152834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54197 /* 152837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54198 /* 152841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54199 /* 152845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54200 /* 152849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54201 /* 152853 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54202 /* 152860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54203 /* 152864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54204 /* 152866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54205 /* 152873 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54206 /* 152873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
54207 /* 152876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54208 /* 152878 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54209 /* 152880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54210 /* 152884 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54211 /* 152887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54212 /* 152892 */ GIR_RootConstrainSelectedInstOperands,
54213 /* 152893 */ // GIR_Coverage, 924,
54214 /* 152893 */ GIR_EraseRootFromParent_Done,
54215 /* 152894 */ // Label 3364: @152894
54216 /* 152894 */ GIM_Try, /*On fail goto*//*Label 3365*/ GIMT_Encode4(152959), // Rule ID 926 //
54217 /* 152899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54218 /* 152902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54219 /* 152906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54220 /* 152910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54221 /* 152914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54222 /* 152918 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54223 /* 152925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54224 /* 152929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54225 /* 152931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54226 /* 152938 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54227 /* 152938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
54228 /* 152941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54229 /* 152943 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54230 /* 152945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54231 /* 152949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54232 /* 152952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54233 /* 152957 */ GIR_RootConstrainSelectedInstOperands,
54234 /* 152958 */ // GIR_Coverage, 926,
54235 /* 152958 */ GIR_EraseRootFromParent_Done,
54236 /* 152959 */ // Label 3365: @152959
54237 /* 152959 */ GIM_Try, /*On fail goto*//*Label 3366*/ GIMT_Encode4(153024), // Rule ID 912 //
54238 /* 152964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54239 /* 152967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54240 /* 152971 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54241 /* 152975 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54242 /* 152979 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54243 /* 152983 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54244 /* 152986 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54245 /* 152990 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54246 /* 152994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54247 /* 152996 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54248 /* 153003 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADD_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54249 /* 153003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
54250 /* 153006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54251 /* 153008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54252 /* 153010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54253 /* 153014 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54254 /* 153017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54255 /* 153022 */ GIR_RootConstrainSelectedInstOperands,
54256 /* 153023 */ // GIR_Coverage, 912,
54257 /* 153023 */ GIR_EraseRootFromParent_Done,
54258 /* 153024 */ // Label 3366: @153024
54259 /* 153024 */ GIM_Try, /*On fail goto*//*Label 3367*/ GIMT_Encode4(153096), // Rule ID 914 //
54260 /* 153029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54261 /* 153032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54262 /* 153036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54263 /* 153040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54264 /* 153044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54265 /* 153048 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54266 /* 153051 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54267 /* 153055 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54268 /* 153062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54269 /* 153066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54270 /* 153068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54271 /* 153075 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (ADD_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54272 /* 153075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
54273 /* 153078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54274 /* 153080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54275 /* 153082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54276 /* 153086 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54277 /* 153089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54278 /* 153094 */ GIR_RootConstrainSelectedInstOperands,
54279 /* 153095 */ // GIR_Coverage, 914,
54280 /* 153095 */ GIR_EraseRootFromParent_Done,
54281 /* 153096 */ // Label 3367: @153096
54282 /* 153096 */ GIM_Try, /*On fail goto*//*Label 3368*/ GIMT_Encode4(153158), // Rule ID 2164 //
54283 /* 153101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54284 /* 153104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54285 /* 153108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54286 /* 153112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54287 /* 153116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54288 /* 153120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54289 /* 153123 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54290 /* 153127 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54291 /* 153131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54292 /* 153133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54293 /* 153140 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54294 /* 153140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
54295 /* 153143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54296 /* 153145 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54297 /* 153147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54298 /* 153151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54299 /* 153156 */ GIR_RootConstrainSelectedInstOperands,
54300 /* 153157 */ // GIR_Coverage, 2164,
54301 /* 153157 */ GIR_EraseRootFromParent_Done,
54302 /* 153158 */ // Label 3368: @153158
54303 /* 153158 */ GIM_Try, /*On fail goto*//*Label 3369*/ GIMT_Encode4(153220), // Rule ID 2172 //
54304 /* 153163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54305 /* 153166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54306 /* 153170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54307 /* 153174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54308 /* 153178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54309 /* 153182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54310 /* 153185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54311 /* 153189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54312 /* 153193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54313 /* 153195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54314 /* 153202 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54315 /* 153202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
54316 /* 153205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54317 /* 153207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54318 /* 153209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54319 /* 153213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54320 /* 153218 */ GIR_RootConstrainSelectedInstOperands,
54321 /* 153219 */ // GIR_Coverage, 2172,
54322 /* 153219 */ GIR_EraseRootFromParent_Done,
54323 /* 153220 */ // Label 3369: @153220
54324 /* 153220 */ GIM_Try, /*On fail goto*//*Label 3370*/ GIMT_Encode4(153282), // Rule ID 5939 //
54325 /* 153225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54326 /* 153228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54327 /* 153232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54328 /* 153236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54329 /* 153240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54330 /* 153244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54331 /* 153247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54332 /* 153251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54333 /* 153255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54334 /* 153257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54335 /* 153264 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54336 /* 153264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
54337 /* 153267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54338 /* 153269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54339 /* 153271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54340 /* 153275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54341 /* 153280 */ GIR_RootConstrainSelectedInstOperands,
54342 /* 153281 */ // GIR_Coverage, 5939,
54343 /* 153281 */ GIR_EraseRootFromParent_Done,
54344 /* 153282 */ // Label 3370: @153282
54345 /* 153282 */ GIM_Try, /*On fail goto*//*Label 3371*/ GIMT_Encode4(153319), // Rule ID 888 //
54346 /* 153287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54347 /* 153290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54348 /* 153294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54349 /* 153298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54350 /* 153302 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
54351 /* 153302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
54352 /* 153307 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54353 /* 153313 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54354 /* 153317 */ GIR_RootConstrainSelectedInstOperands,
54355 /* 153318 */ // GIR_Coverage, 888,
54356 /* 153318 */ GIR_Done,
54357 /* 153319 */ // Label 3371: @153319
54358 /* 153319 */ GIM_Try, /*On fail goto*//*Label 3372*/ GIMT_Encode4(153350), // Rule ID 2162 //
54359 /* 153324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54360 /* 153327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54361 /* 153331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54362 /* 153335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54363 /* 153339 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
54364 /* 153339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
54365 /* 153344 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54366 /* 153348 */ GIR_RootConstrainSelectedInstOperands,
54367 /* 153349 */ // GIR_Coverage, 2162,
54368 /* 153349 */ GIR_Done,
54369 /* 153350 */ // Label 3372: @153350
54370 /* 153350 */ GIM_Try, /*On fail goto*//*Label 3373*/ GIMT_Encode4(153381), // Rule ID 2170 //
54371 /* 153355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54372 /* 153358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54373 /* 153362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54374 /* 153366 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54375 /* 153370 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
54376 /* 153370 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
54377 /* 153375 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54378 /* 153379 */ GIR_RootConstrainSelectedInstOperands,
54379 /* 153380 */ // GIR_Coverage, 2170,
54380 /* 153380 */ GIR_Done,
54381 /* 153381 */ // Label 3373: @153381
54382 /* 153381 */ GIM_Try, /*On fail goto*//*Label 3374*/ GIMT_Encode4(153412), // Rule ID 5937 //
54383 /* 153386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54384 /* 153389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54385 /* 153393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54386 /* 153397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54387 /* 153401 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
54388 /* 153401 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
54389 /* 153406 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54390 /* 153410 */ GIR_RootConstrainSelectedInstOperands,
54391 /* 153411 */ // GIR_Coverage, 5937,
54392 /* 153411 */ GIR_Done,
54393 /* 153412 */ // Label 3374: @153412
54394 /* 153412 */ GIM_Reject,
54395 /* 153413 */ // Label 3350: @153413
54396 /* 153413 */ GIM_Reject,
54397 /* 153414 */ // Label 3312: @153414
54398 /* 153414 */ GIM_Try, /*On fail goto*//*Label 3375*/ GIMT_Encode4(153979),
54399 /* 153419 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
54400 /* 153422 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
54401 /* 153425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54402 /* 153429 */ GIM_Try, /*On fail goto*//*Label 3376*/ GIMT_Encode4(153490), // Rule ID 23288 //
54403 /* 153434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54404 /* 153437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54405 /* 153441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54406 /* 153445 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54407 /* 153452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54408 /* 153456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54409 /* 153460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54410 /* 153462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54411 /* 153469 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54412 /* 153469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
54413 /* 153472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54414 /* 153474 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54415 /* 153476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54416 /* 153480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54417 /* 153483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54418 /* 153488 */ GIR_RootConstrainSelectedInstOperands,
54419 /* 153489 */ // GIR_Coverage, 23288,
54420 /* 153489 */ GIR_EraseRootFromParent_Done,
54421 /* 153490 */ // Label 3376: @153490
54422 /* 153490 */ GIM_Try, /*On fail goto*//*Label 3377*/ GIMT_Encode4(153551), // Rule ID 23290 //
54423 /* 153495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54424 /* 153498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54425 /* 153502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54426 /* 153506 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54427 /* 153513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54428 /* 153517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54429 /* 153521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54430 /* 153523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54431 /* 153530 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54432 /* 153530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
54433 /* 153533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54434 /* 153535 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54435 /* 153537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54436 /* 153541 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54437 /* 153544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54438 /* 153549 */ GIR_RootConstrainSelectedInstOperands,
54439 /* 153550 */ // GIR_Coverage, 23290,
54440 /* 153550 */ GIR_EraseRootFromParent_Done,
54441 /* 153551 */ // Label 3377: @153551
54442 /* 153551 */ GIM_Try, /*On fail goto*//*Label 3378*/ GIMT_Encode4(153619), // Rule ID 23276 //
54443 /* 153556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54444 /* 153559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54445 /* 153563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54446 /* 153567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54447 /* 153570 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54448 /* 153574 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54449 /* 153581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54450 /* 153585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54451 /* 153589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54452 /* 153591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54453 /* 153598 */ // (fadd:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (ADD_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54454 /* 153598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
54455 /* 153601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54456 /* 153603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54457 /* 153605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54458 /* 153609 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54459 /* 153612 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54460 /* 153617 */ GIR_RootConstrainSelectedInstOperands,
54461 /* 153618 */ // GIR_Coverage, 23276,
54462 /* 153618 */ GIR_EraseRootFromParent_Done,
54463 /* 153619 */ // Label 3378: @153619
54464 /* 153619 */ GIM_Try, /*On fail goto*//*Label 3379*/ GIMT_Encode4(153687), // Rule ID 23278 //
54465 /* 153624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54466 /* 153627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54467 /* 153631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54468 /* 153635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54469 /* 153638 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54470 /* 153642 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54471 /* 153649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54472 /* 153653 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54473 /* 153657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54474 /* 153659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54475 /* 153666 */ // (fadd:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (ADD_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54476 /* 153666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
54477 /* 153669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54478 /* 153671 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54479 /* 153673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54480 /* 153677 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54481 /* 153680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54482 /* 153685 */ GIR_RootConstrainSelectedInstOperands,
54483 /* 153686 */ // GIR_Coverage, 23278,
54484 /* 153686 */ GIR_EraseRootFromParent_Done,
54485 /* 153687 */ // Label 3379: @153687
54486 /* 153687 */ GIM_Try, /*On fail goto*//*Label 3380*/ GIMT_Encode4(153748), // Rule ID 928 //
54487 /* 153692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54488 /* 153695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54489 /* 153699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54490 /* 153703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54491 /* 153707 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54492 /* 153714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54493 /* 153718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54494 /* 153720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54495 /* 153727 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54496 /* 153727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
54497 /* 153730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54498 /* 153732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54499 /* 153734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54500 /* 153738 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54501 /* 153741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54502 /* 153746 */ GIR_RootConstrainSelectedInstOperands,
54503 /* 153747 */ // GIR_Coverage, 928,
54504 /* 153747 */ GIR_EraseRootFromParent_Done,
54505 /* 153748 */ // Label 3380: @153748
54506 /* 153748 */ GIM_Try, /*On fail goto*//*Label 3381*/ GIMT_Encode4(153809), // Rule ID 930 //
54507 /* 153753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54508 /* 153756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54509 /* 153760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54510 /* 153764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54511 /* 153768 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54512 /* 153775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54513 /* 153779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54514 /* 153781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54515 /* 153788 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54516 /* 153788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
54517 /* 153791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54518 /* 153793 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54519 /* 153795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54520 /* 153799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54521 /* 153802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54522 /* 153807 */ GIR_RootConstrainSelectedInstOperands,
54523 /* 153808 */ // GIR_Coverage, 930,
54524 /* 153808 */ GIR_EraseRootFromParent_Done,
54525 /* 153809 */ // Label 3381: @153809
54526 /* 153809 */ GIM_Try, /*On fail goto*//*Label 3382*/ GIMT_Encode4(153877), // Rule ID 916 //
54527 /* 153814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54528 /* 153817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54529 /* 153821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54530 /* 153825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54531 /* 153829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54532 /* 153832 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54533 /* 153836 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54534 /* 153843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54535 /* 153847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54536 /* 153849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54537 /* 153856 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (ADD_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54538 /* 153856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
54539 /* 153859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54540 /* 153861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54541 /* 153863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54542 /* 153867 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54543 /* 153870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54544 /* 153875 */ GIR_RootConstrainSelectedInstOperands,
54545 /* 153876 */ // GIR_Coverage, 916,
54546 /* 153876 */ GIR_EraseRootFromParent_Done,
54547 /* 153877 */ // Label 3382: @153877
54548 /* 153877 */ GIM_Try, /*On fail goto*//*Label 3383*/ GIMT_Encode4(153945), // Rule ID 918 //
54549 /* 153882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54550 /* 153885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54551 /* 153889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54552 /* 153893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54553 /* 153897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54554 /* 153900 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54555 /* 153904 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54556 /* 153911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54557 /* 153915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54558 /* 153917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54559 /* 153924 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (ADD_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
54560 /* 153924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
54561 /* 153927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54562 /* 153929 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54563 /* 153931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54564 /* 153935 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54565 /* 153938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54566 /* 153943 */ GIR_RootConstrainSelectedInstOperands,
54567 /* 153944 */ // GIR_Coverage, 918,
54568 /* 153944 */ GIR_EraseRootFromParent_Done,
54569 /* 153945 */ // Label 3383: @153945
54570 /* 153945 */ GIM_Try, /*On fail goto*//*Label 3384*/ GIMT_Encode4(153978), // Rule ID 890 //
54571 /* 153950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
54572 /* 153953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54573 /* 153957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
54574 /* 153961 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
54575 /* 153961 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
54576 /* 153966 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54577 /* 153972 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54578 /* 153976 */ GIR_RootConstrainSelectedInstOperands,
54579 /* 153977 */ // GIR_Coverage, 890,
54580 /* 153977 */ GIR_Done,
54581 /* 153978 */ // Label 3384: @153978
54582 /* 153978 */ GIM_Reject,
54583 /* 153979 */ // Label 3375: @153979
54584 /* 153979 */ GIM_Reject,
54585 /* 153980 */ // Label 3313: @153980
54586 /* 153980 */ GIM_Try, /*On fail goto*//*Label 3385*/ GIMT_Encode4(154333),
54587 /* 153985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
54588 /* 153988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
54589 /* 153991 */ GIM_Try, /*On fail goto*//*Label 3386*/ GIMT_Encode4(154053), // Rule ID 23405 //
54590 /* 153996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54591 /* 153999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54592 /* 154003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54593 /* 154007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54594 /* 154011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54595 /* 154014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54596 /* 154018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54597 /* 154022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54598 /* 154026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54599 /* 154028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54600 /* 154035 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54601 /* 154035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
54602 /* 154038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54603 /* 154040 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54604 /* 154042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54605 /* 154046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54606 /* 154051 */ GIR_RootConstrainSelectedInstOperands,
54607 /* 154052 */ // GIR_Coverage, 23405,
54608 /* 154052 */ GIR_EraseRootFromParent_Done,
54609 /* 154053 */ // Label 3386: @154053
54610 /* 154053 */ GIM_Try, /*On fail goto*//*Label 3387*/ GIMT_Encode4(154115), // Rule ID 24329 //
54611 /* 154058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54612 /* 154061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54613 /* 154065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54614 /* 154069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54615 /* 154073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54616 /* 154076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54617 /* 154080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54618 /* 154084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54619 /* 154088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54620 /* 154090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54621 /* 154097 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54622 /* 154097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
54623 /* 154100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54624 /* 154102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54625 /* 154104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54626 /* 154108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54627 /* 154113 */ GIR_RootConstrainSelectedInstOperands,
54628 /* 154114 */ // GIR_Coverage, 24329,
54629 /* 154114 */ GIR_EraseRootFromParent_Done,
54630 /* 154115 */ // Label 3387: @154115
54631 /* 154115 */ GIM_Try, /*On fail goto*//*Label 3388*/ GIMT_Encode4(154177), // Rule ID 2140 //
54632 /* 154120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54633 /* 154123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54634 /* 154127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54635 /* 154131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54636 /* 154135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54637 /* 154139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54638 /* 154142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54639 /* 154146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54640 /* 154150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54641 /* 154152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54642 /* 154159 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54643 /* 154159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
54644 /* 154162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54645 /* 154164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54646 /* 154166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54647 /* 154170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54648 /* 154175 */ GIR_RootConstrainSelectedInstOperands,
54649 /* 154176 */ // GIR_Coverage, 2140,
54650 /* 154176 */ GIR_EraseRootFromParent_Done,
54651 /* 154177 */ // Label 3388: @154177
54652 /* 154177 */ GIM_Try, /*On fail goto*//*Label 3389*/ GIMT_Encode4(154239), // Rule ID 6312 //
54653 /* 154182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54654 /* 154185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54655 /* 154189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54656 /* 154193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54657 /* 154197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54658 /* 154201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54659 /* 154204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54660 /* 154208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54661 /* 154212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54662 /* 154214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54663 /* 154221 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54664 /* 154221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
54665 /* 154224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54666 /* 154226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54667 /* 154228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54668 /* 154232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54669 /* 154237 */ GIR_RootConstrainSelectedInstOperands,
54670 /* 154238 */ // GIR_Coverage, 6312,
54671 /* 154238 */ GIR_EraseRootFromParent_Done,
54672 /* 154239 */ // Label 3389: @154239
54673 /* 154239 */ GIM_Try, /*On fail goto*//*Label 3390*/ GIMT_Encode4(154270), // Rule ID 2138 //
54674 /* 154244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54675 /* 154247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54676 /* 154251 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54677 /* 154255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54678 /* 154259 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54679 /* 154259 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
54680 /* 154264 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54681 /* 154268 */ GIR_RootConstrainSelectedInstOperands,
54682 /* 154269 */ // GIR_Coverage, 2138,
54683 /* 154269 */ GIR_Done,
54684 /* 154270 */ // Label 3390: @154270
54685 /* 154270 */ GIM_Try, /*On fail goto*//*Label 3391*/ GIMT_Encode4(154301), // Rule ID 2154 //
54686 /* 154275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54687 /* 154278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54688 /* 154282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54689 /* 154286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54690 /* 154290 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54691 /* 154290 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
54692 /* 154295 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54693 /* 154299 */ GIR_RootConstrainSelectedInstOperands,
54694 /* 154300 */ // GIR_Coverage, 2154,
54695 /* 154300 */ GIR_Done,
54696 /* 154301 */ // Label 3391: @154301
54697 /* 154301 */ GIM_Try, /*On fail goto*//*Label 3392*/ GIMT_Encode4(154332), // Rule ID 6308 //
54698 /* 154306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54699 /* 154309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54700 /* 154313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54701 /* 154317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54702 /* 154321 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
54703 /* 154321 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
54704 /* 154326 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54705 /* 154330 */ GIR_RootConstrainSelectedInstOperands,
54706 /* 154331 */ // GIR_Coverage, 6308,
54707 /* 154331 */ GIR_Done,
54708 /* 154332 */ // Label 3392: @154332
54709 /* 154332 */ GIM_Reject,
54710 /* 154333 */ // Label 3385: @154333
54711 /* 154333 */ GIM_Reject,
54712 /* 154334 */ // Label 3314: @154334
54713 /* 154334 */ GIM_Try, /*On fail goto*//*Label 3393*/ GIMT_Encode4(154687),
54714 /* 154339 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
54715 /* 154342 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
54716 /* 154345 */ GIM_Try, /*On fail goto*//*Label 3394*/ GIMT_Encode4(154407), // Rule ID 23403 //
54717 /* 154350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54718 /* 154353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54719 /* 154357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54720 /* 154361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54721 /* 154365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54722 /* 154368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54723 /* 154372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54724 /* 154376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54725 /* 154380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54726 /* 154382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54727 /* 154389 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54728 /* 154389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
54729 /* 154392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54730 /* 154394 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54731 /* 154396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54732 /* 154400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54733 /* 154405 */ GIR_RootConstrainSelectedInstOperands,
54734 /* 154406 */ // GIR_Coverage, 23403,
54735 /* 154406 */ GIR_EraseRootFromParent_Done,
54736 /* 154407 */ // Label 3394: @154407
54737 /* 154407 */ GIM_Try, /*On fail goto*//*Label 3395*/ GIMT_Encode4(154469), // Rule ID 24313 //
54738 /* 154412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54739 /* 154415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54740 /* 154419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54741 /* 154423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54742 /* 154427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54743 /* 154430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54744 /* 154434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54745 /* 154438 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54746 /* 154442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54747 /* 154444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54748 /* 154451 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54749 /* 154451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
54750 /* 154454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54751 /* 154456 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54752 /* 154458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54753 /* 154462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54754 /* 154467 */ GIR_RootConstrainSelectedInstOperands,
54755 /* 154468 */ // GIR_Coverage, 24313,
54756 /* 154468 */ GIR_EraseRootFromParent_Done,
54757 /* 154469 */ // Label 3395: @154469
54758 /* 154469 */ GIM_Try, /*On fail goto*//*Label 3396*/ GIMT_Encode4(154531), // Rule ID 2136 //
54759 /* 154474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54760 /* 154477 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54761 /* 154481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54762 /* 154485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54763 /* 154489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54764 /* 154493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54765 /* 154496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54766 /* 154500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54767 /* 154504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54768 /* 154506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54769 /* 154513 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54770 /* 154513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
54771 /* 154516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54772 /* 154518 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54773 /* 154520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54774 /* 154524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54775 /* 154529 */ GIR_RootConstrainSelectedInstOperands,
54776 /* 154530 */ // GIR_Coverage, 2136,
54777 /* 154530 */ GIR_EraseRootFromParent_Done,
54778 /* 154531 */ // Label 3396: @154531
54779 /* 154531 */ GIM_Try, /*On fail goto*//*Label 3397*/ GIMT_Encode4(154593), // Rule ID 6288 //
54780 /* 154536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54781 /* 154539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54782 /* 154543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54783 /* 154547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54784 /* 154551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54785 /* 154555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54786 /* 154558 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54787 /* 154562 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54788 /* 154566 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54789 /* 154568 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54790 /* 154575 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54791 /* 154575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
54792 /* 154578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54793 /* 154580 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54794 /* 154582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54795 /* 154586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54796 /* 154591 */ GIR_RootConstrainSelectedInstOperands,
54797 /* 154592 */ // GIR_Coverage, 6288,
54798 /* 154592 */ GIR_EraseRootFromParent_Done,
54799 /* 154593 */ // Label 3397: @154593
54800 /* 154593 */ GIM_Try, /*On fail goto*//*Label 3398*/ GIMT_Encode4(154624), // Rule ID 2134 //
54801 /* 154598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54802 /* 154601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54803 /* 154605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54804 /* 154609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54805 /* 154613 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
54806 /* 154613 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
54807 /* 154618 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54808 /* 154622 */ GIR_RootConstrainSelectedInstOperands,
54809 /* 154623 */ // GIR_Coverage, 2134,
54810 /* 154623 */ GIR_Done,
54811 /* 154624 */ // Label 3398: @154624
54812 /* 154624 */ GIM_Try, /*On fail goto*//*Label 3399*/ GIMT_Encode4(154655), // Rule ID 2150 //
54813 /* 154629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54814 /* 154632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54815 /* 154636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54816 /* 154640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54817 /* 154644 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
54818 /* 154644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
54819 /* 154649 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54820 /* 154653 */ GIR_RootConstrainSelectedInstOperands,
54821 /* 154654 */ // GIR_Coverage, 2150,
54822 /* 154654 */ GIR_Done,
54823 /* 154655 */ // Label 3399: @154655
54824 /* 154655 */ GIM_Try, /*On fail goto*//*Label 3400*/ GIMT_Encode4(154686), // Rule ID 6284 //
54825 /* 154660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54826 /* 154663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54827 /* 154667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54828 /* 154671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54829 /* 154675 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
54830 /* 154675 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
54831 /* 154680 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54832 /* 154684 */ GIR_RootConstrainSelectedInstOperands,
54833 /* 154685 */ // GIR_Coverage, 6284,
54834 /* 154685 */ GIR_Done,
54835 /* 154686 */ // Label 3400: @154686
54836 /* 154686 */ GIM_Reject,
54837 /* 154687 */ // Label 3393: @154687
54838 /* 154687 */ GIM_Reject,
54839 /* 154688 */ // Label 3315: @154688
54840 /* 154688 */ GIM_Try, /*On fail goto*//*Label 3401*/ GIMT_Encode4(155010),
54841 /* 154693 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
54842 /* 154696 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
54843 /* 154699 */ GIM_Try, /*On fail goto*//*Label 3402*/ GIMT_Encode4(154761), // Rule ID 23409 //
54844 /* 154704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54845 /* 154707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54846 /* 154711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54847 /* 154715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54848 /* 154719 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54849 /* 154722 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54850 /* 154726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54851 /* 154730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54852 /* 154734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54853 /* 154736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54854 /* 154743 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54855 /* 154743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
54856 /* 154746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54857 /* 154748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54858 /* 154750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54859 /* 154754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54860 /* 154759 */ GIR_RootConstrainSelectedInstOperands,
54861 /* 154760 */ // GIR_Coverage, 23409,
54862 /* 154760 */ GIR_EraseRootFromParent_Done,
54863 /* 154761 */ // Label 3402: @154761
54864 /* 154761 */ GIM_Try, /*On fail goto*//*Label 3403*/ GIMT_Encode4(154823), // Rule ID 24337 //
54865 /* 154766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54866 /* 154769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54867 /* 154773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54868 /* 154777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54869 /* 154781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54870 /* 154784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54871 /* 154788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54872 /* 154792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54873 /* 154796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54874 /* 154798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54875 /* 154805 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54876 /* 154805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
54877 /* 154808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54878 /* 154810 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54879 /* 154812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54880 /* 154816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54881 /* 154821 */ GIR_RootConstrainSelectedInstOperands,
54882 /* 154822 */ // GIR_Coverage, 24337,
54883 /* 154822 */ GIR_EraseRootFromParent_Done,
54884 /* 154823 */ // Label 3403: @154823
54885 /* 154823 */ GIM_Try, /*On fail goto*//*Label 3404*/ GIMT_Encode4(154885), // Rule ID 2148 //
54886 /* 154828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54887 /* 154831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54888 /* 154835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54889 /* 154839 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54890 /* 154843 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54891 /* 154847 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54892 /* 154850 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54893 /* 154854 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54894 /* 154858 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54895 /* 154860 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54896 /* 154867 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54897 /* 154867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
54898 /* 154870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54899 /* 154872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54900 /* 154874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54901 /* 154878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54902 /* 154883 */ GIR_RootConstrainSelectedInstOperands,
54903 /* 154884 */ // GIR_Coverage, 2148,
54904 /* 154884 */ GIR_EraseRootFromParent_Done,
54905 /* 154885 */ // Label 3404: @154885
54906 /* 154885 */ GIM_Try, /*On fail goto*//*Label 3405*/ GIMT_Encode4(154947), // Rule ID 6324 //
54907 /* 154890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54908 /* 154893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54909 /* 154897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54910 /* 154901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54911 /* 154905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54912 /* 154909 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54913 /* 154912 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54914 /* 154916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54915 /* 154920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54916 /* 154922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54917 /* 154929 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54918 /* 154929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
54919 /* 154932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54920 /* 154934 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54921 /* 154936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54922 /* 154940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54923 /* 154945 */ GIR_RootConstrainSelectedInstOperands,
54924 /* 154946 */ // GIR_Coverage, 6324,
54925 /* 154946 */ GIR_EraseRootFromParent_Done,
54926 /* 154947 */ // Label 3405: @154947
54927 /* 154947 */ GIM_Try, /*On fail goto*//*Label 3406*/ GIMT_Encode4(154978), // Rule ID 2146 //
54928 /* 154952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54929 /* 154955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54930 /* 154959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54931 /* 154963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54932 /* 154967 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
54933 /* 154967 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
54934 /* 154972 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54935 /* 154976 */ GIR_RootConstrainSelectedInstOperands,
54936 /* 154977 */ // GIR_Coverage, 2146,
54937 /* 154977 */ GIR_Done,
54938 /* 154978 */ // Label 3406: @154978
54939 /* 154978 */ GIM_Try, /*On fail goto*//*Label 3407*/ GIMT_Encode4(155009), // Rule ID 6320 //
54940 /* 154983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54941 /* 154986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54942 /* 154990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54943 /* 154994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54944 /* 154998 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
54945 /* 154998 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
54946 /* 155003 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54947 /* 155007 */ GIR_RootConstrainSelectedInstOperands,
54948 /* 155008 */ // GIR_Coverage, 6320,
54949 /* 155008 */ GIR_Done,
54950 /* 155009 */ // Label 3407: @155009
54951 /* 155009 */ GIM_Reject,
54952 /* 155010 */ // Label 3401: @155010
54953 /* 155010 */ GIM_Reject,
54954 /* 155011 */ // Label 3316: @155011
54955 /* 155011 */ GIM_Try, /*On fail goto*//*Label 3408*/ GIMT_Encode4(155170),
54956 /* 155016 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
54957 /* 155019 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
54958 /* 155022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54959 /* 155026 */ GIM_Try, /*On fail goto*//*Label 3409*/ GIMT_Encode4(155084), // Rule ID 24353 //
54960 /* 155031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54961 /* 155034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54962 /* 155038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54963 /* 155042 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54964 /* 155045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54965 /* 155049 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54966 /* 155053 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54967 /* 155057 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54968 /* 155059 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54969 /* 155066 */ // (fadd:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54970 /* 155066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
54971 /* 155069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54972 /* 155071 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54973 /* 155073 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54974 /* 155077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54975 /* 155082 */ GIR_RootConstrainSelectedInstOperands,
54976 /* 155083 */ // GIR_Coverage, 24353,
54977 /* 155083 */ GIR_EraseRootFromParent_Done,
54978 /* 155084 */ // Label 3409: @155084
54979 /* 155084 */ GIM_Try, /*On fail goto*//*Label 3410*/ GIMT_Encode4(155142), // Rule ID 6348 //
54980 /* 155089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
54981 /* 155092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54982 /* 155096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54983 /* 155100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54984 /* 155104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54985 /* 155107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54986 /* 155111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54987 /* 155115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54988 /* 155117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54989 /* 155124 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54990 /* 155124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
54991 /* 155127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54992 /* 155129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54993 /* 155131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54994 /* 155135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54995 /* 155140 */ GIR_RootConstrainSelectedInstOperands,
54996 /* 155141 */ // GIR_Coverage, 6348,
54997 /* 155141 */ GIR_EraseRootFromParent_Done,
54998 /* 155142 */ // Label 3410: @155142
54999 /* 155142 */ GIM_Try, /*On fail goto*//*Label 3411*/ GIMT_Encode4(155169), // Rule ID 6344 //
55000 /* 155147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55001 /* 155150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55002 /* 155154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55003 /* 155158 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
55004 /* 155158 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
55005 /* 155163 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55006 /* 155167 */ GIR_RootConstrainSelectedInstOperands,
55007 /* 155168 */ // GIR_Coverage, 6344,
55008 /* 155168 */ GIR_Done,
55009 /* 155169 */ // Label 3411: @155169
55010 /* 155169 */ GIM_Reject,
55011 /* 155170 */ // Label 3408: @155170
55012 /* 155170 */ GIM_Reject,
55013 /* 155171 */ // Label 3317: @155171
55014 /* 155171 */ GIM_Try, /*On fail goto*//*Label 3412*/ GIMT_Encode4(155493),
55015 /* 155176 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
55016 /* 155179 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
55017 /* 155182 */ GIM_Try, /*On fail goto*//*Label 3413*/ GIMT_Encode4(155244), // Rule ID 23407 //
55018 /* 155187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55019 /* 155190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55020 /* 155194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55021 /* 155198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55022 /* 155202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55023 /* 155205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55024 /* 155209 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55025 /* 155213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55026 /* 155217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55027 /* 155219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55028 /* 155226 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55029 /* 155226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
55030 /* 155229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55031 /* 155231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55032 /* 155233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55033 /* 155237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55034 /* 155242 */ GIR_RootConstrainSelectedInstOperands,
55035 /* 155243 */ // GIR_Coverage, 23407,
55036 /* 155243 */ GIR_EraseRootFromParent_Done,
55037 /* 155244 */ // Label 3413: @155244
55038 /* 155244 */ GIM_Try, /*On fail goto*//*Label 3414*/ GIMT_Encode4(155306), // Rule ID 24321 //
55039 /* 155249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55040 /* 155252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55041 /* 155256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55042 /* 155260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55043 /* 155264 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55044 /* 155267 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55045 /* 155271 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55046 /* 155275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55047 /* 155279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55048 /* 155281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55049 /* 155288 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55050 /* 155288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
55051 /* 155291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55052 /* 155293 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55053 /* 155295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55054 /* 155299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55055 /* 155304 */ GIR_RootConstrainSelectedInstOperands,
55056 /* 155305 */ // GIR_Coverage, 24321,
55057 /* 155305 */ GIR_EraseRootFromParent_Done,
55058 /* 155306 */ // Label 3414: @155306
55059 /* 155306 */ GIM_Try, /*On fail goto*//*Label 3415*/ GIMT_Encode4(155368), // Rule ID 2144 //
55060 /* 155311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55061 /* 155314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55062 /* 155318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55063 /* 155322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55064 /* 155326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55065 /* 155330 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55066 /* 155333 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55067 /* 155337 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55068 /* 155341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55069 /* 155343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55070 /* 155350 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55071 /* 155350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
55072 /* 155353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55073 /* 155355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55074 /* 155357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55075 /* 155361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55076 /* 155366 */ GIR_RootConstrainSelectedInstOperands,
55077 /* 155367 */ // GIR_Coverage, 2144,
55078 /* 155367 */ GIR_EraseRootFromParent_Done,
55079 /* 155368 */ // Label 3415: @155368
55080 /* 155368 */ GIM_Try, /*On fail goto*//*Label 3416*/ GIMT_Encode4(155430), // Rule ID 6300 //
55081 /* 155373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55082 /* 155376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55083 /* 155380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55084 /* 155384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55085 /* 155388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55086 /* 155392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55087 /* 155395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55088 /* 155399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55089 /* 155403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55090 /* 155405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55091 /* 155412 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55092 /* 155412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
55093 /* 155415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55094 /* 155417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55095 /* 155419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55096 /* 155423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55097 /* 155428 */ GIR_RootConstrainSelectedInstOperands,
55098 /* 155429 */ // GIR_Coverage, 6300,
55099 /* 155429 */ GIR_EraseRootFromParent_Done,
55100 /* 155430 */ // Label 3416: @155430
55101 /* 155430 */ GIM_Try, /*On fail goto*//*Label 3417*/ GIMT_Encode4(155461), // Rule ID 2142 //
55102 /* 155435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55103 /* 155438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55104 /* 155442 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55105 /* 155446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55106 /* 155450 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
55107 /* 155450 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
55108 /* 155455 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55109 /* 155459 */ GIR_RootConstrainSelectedInstOperands,
55110 /* 155460 */ // GIR_Coverage, 2142,
55111 /* 155460 */ GIR_Done,
55112 /* 155461 */ // Label 3417: @155461
55113 /* 155461 */ GIM_Try, /*On fail goto*//*Label 3418*/ GIMT_Encode4(155492), // Rule ID 6296 //
55114 /* 155466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55115 /* 155469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55116 /* 155473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55117 /* 155477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55118 /* 155481 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
55119 /* 155481 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
55120 /* 155486 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55121 /* 155490 */ GIR_RootConstrainSelectedInstOperands,
55122 /* 155491 */ // GIR_Coverage, 6296,
55123 /* 155491 */ GIR_Done,
55124 /* 155492 */ // Label 3418: @155492
55125 /* 155492 */ GIM_Reject,
55126 /* 155493 */ // Label 3412: @155493
55127 /* 155493 */ GIM_Reject,
55128 /* 155494 */ // Label 3318: @155494
55129 /* 155494 */ GIM_Try, /*On fail goto*//*Label 3419*/ GIMT_Encode4(155653),
55130 /* 155499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
55131 /* 155502 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
55132 /* 155505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55133 /* 155509 */ GIM_Try, /*On fail goto*//*Label 3420*/ GIMT_Encode4(155567), // Rule ID 24305 //
55134 /* 155514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55135 /* 155517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55136 /* 155521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55137 /* 155525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55138 /* 155528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55139 /* 155532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55140 /* 155536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55141 /* 155540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55142 /* 155542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55143 /* 155549 */ // (fadd:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55144 /* 155549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
55145 /* 155552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55146 /* 155554 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55147 /* 155556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55148 /* 155560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55149 /* 155565 */ GIR_RootConstrainSelectedInstOperands,
55150 /* 155566 */ // GIR_Coverage, 24305,
55151 /* 155566 */ GIR_EraseRootFromParent_Done,
55152 /* 155567 */ // Label 3420: @155567
55153 /* 155567 */ GIM_Try, /*On fail goto*//*Label 3421*/ GIMT_Encode4(155625), // Rule ID 6276 //
55154 /* 155572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55155 /* 155575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55156 /* 155579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55157 /* 155583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55158 /* 155587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55159 /* 155590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55160 /* 155594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55161 /* 155598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55162 /* 155600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55163 /* 155607 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55164 /* 155607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
55165 /* 155610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55166 /* 155612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55167 /* 155614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55168 /* 155618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55169 /* 155623 */ GIR_RootConstrainSelectedInstOperands,
55170 /* 155624 */ // GIR_Coverage, 6276,
55171 /* 155624 */ GIR_EraseRootFromParent_Done,
55172 /* 155625 */ // Label 3421: @155625
55173 /* 155625 */ GIM_Try, /*On fail goto*//*Label 3422*/ GIMT_Encode4(155652), // Rule ID 6272 //
55174 /* 155630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55175 /* 155633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55176 /* 155637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55177 /* 155641 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
55178 /* 155641 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
55179 /* 155646 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55180 /* 155650 */ GIR_RootConstrainSelectedInstOperands,
55181 /* 155651 */ // GIR_Coverage, 6272,
55182 /* 155651 */ GIR_Done,
55183 /* 155652 */ // Label 3422: @155652
55184 /* 155652 */ GIM_Reject,
55185 /* 155653 */ // Label 3419: @155653
55186 /* 155653 */ GIM_Reject,
55187 /* 155654 */ // Label 3319: @155654
55188 /* 155654 */ GIM_Try, /*On fail goto*//*Label 3423*/ GIMT_Encode4(155813),
55189 /* 155659 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
55190 /* 155662 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
55191 /* 155665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55192 /* 155669 */ GIM_Try, /*On fail goto*//*Label 3424*/ GIMT_Encode4(155727), // Rule ID 24361 //
55193 /* 155674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55194 /* 155677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55195 /* 155681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55196 /* 155685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55197 /* 155688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55198 /* 155692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55199 /* 155696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55200 /* 155700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55201 /* 155702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55202 /* 155709 */ // (fadd:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55203 /* 155709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
55204 /* 155712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55205 /* 155714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55206 /* 155716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55207 /* 155720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55208 /* 155725 */ GIR_RootConstrainSelectedInstOperands,
55209 /* 155726 */ // GIR_Coverage, 24361,
55210 /* 155726 */ GIR_EraseRootFromParent_Done,
55211 /* 155727 */ // Label 3424: @155727
55212 /* 155727 */ GIM_Try, /*On fail goto*//*Label 3425*/ GIMT_Encode4(155785), // Rule ID 6360 //
55213 /* 155732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55214 /* 155735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55215 /* 155739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55216 /* 155743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55217 /* 155747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55218 /* 155750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55219 /* 155754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55220 /* 155758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55221 /* 155760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55222 /* 155767 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55223 /* 155767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
55224 /* 155770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55225 /* 155772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55226 /* 155774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55227 /* 155778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55228 /* 155783 */ GIR_RootConstrainSelectedInstOperands,
55229 /* 155784 */ // GIR_Coverage, 6360,
55230 /* 155784 */ GIR_EraseRootFromParent_Done,
55231 /* 155785 */ // Label 3425: @155785
55232 /* 155785 */ GIM_Try, /*On fail goto*//*Label 3426*/ GIMT_Encode4(155812), // Rule ID 6356 //
55233 /* 155790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55234 /* 155793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55235 /* 155797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55236 /* 155801 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
55237 /* 155801 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
55238 /* 155806 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55239 /* 155810 */ GIR_RootConstrainSelectedInstOperands,
55240 /* 155811 */ // GIR_Coverage, 6356,
55241 /* 155811 */ GIR_Done,
55242 /* 155812 */ // Label 3426: @155812
55243 /* 155812 */ GIM_Reject,
55244 /* 155813 */ // Label 3423: @155813
55245 /* 155813 */ GIM_Reject,
55246 /* 155814 */ // Label 3320: @155814
55247 /* 155814 */ GIM_Try, /*On fail goto*//*Label 3427*/ GIMT_Encode4(155973),
55248 /* 155819 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
55249 /* 155822 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
55250 /* 155825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55251 /* 155829 */ GIM_Try, /*On fail goto*//*Label 3428*/ GIMT_Encode4(155887), // Rule ID 24297 //
55252 /* 155834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55253 /* 155837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55254 /* 155841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55255 /* 155845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55256 /* 155848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55257 /* 155852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55258 /* 155856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55259 /* 155860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55260 /* 155862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55261 /* 155869 */ // (fadd:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55262 /* 155869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
55263 /* 155872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55264 /* 155874 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55265 /* 155876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55266 /* 155880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55267 /* 155885 */ GIR_RootConstrainSelectedInstOperands,
55268 /* 155886 */ // GIR_Coverage, 24297,
55269 /* 155886 */ GIR_EraseRootFromParent_Done,
55270 /* 155887 */ // Label 3428: @155887
55271 /* 155887 */ GIM_Try, /*On fail goto*//*Label 3429*/ GIMT_Encode4(155945), // Rule ID 6264 //
55272 /* 155892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55273 /* 155895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55274 /* 155899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55275 /* 155903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55276 /* 155907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55277 /* 155910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55278 /* 155914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55279 /* 155918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55280 /* 155920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55281 /* 155927 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55282 /* 155927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
55283 /* 155930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55284 /* 155932 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55285 /* 155934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55286 /* 155938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55287 /* 155943 */ GIR_RootConstrainSelectedInstOperands,
55288 /* 155944 */ // GIR_Coverage, 6264,
55289 /* 155944 */ GIR_EraseRootFromParent_Done,
55290 /* 155945 */ // Label 3429: @155945
55291 /* 155945 */ GIM_Try, /*On fail goto*//*Label 3430*/ GIMT_Encode4(155972), // Rule ID 6260 //
55292 /* 155950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55293 /* 155953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55294 /* 155957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55295 /* 155961 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
55296 /* 155961 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
55297 /* 155966 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55298 /* 155970 */ GIR_RootConstrainSelectedInstOperands,
55299 /* 155971 */ // GIR_Coverage, 6260,
55300 /* 155971 */ GIR_Done,
55301 /* 155972 */ // Label 3430: @155972
55302 /* 155972 */ GIM_Reject,
55303 /* 155973 */ // Label 3427: @155973
55304 /* 155973 */ GIM_Reject,
55305 /* 155974 */ // Label 3321: @155974
55306 /* 155974 */ GIM_Try, /*On fail goto*//*Label 3431*/ GIMT_Encode4(156133),
55307 /* 155979 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
55308 /* 155982 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
55309 /* 155985 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55310 /* 155989 */ GIM_Try, /*On fail goto*//*Label 3432*/ GIMT_Encode4(156047), // Rule ID 24345 //
55311 /* 155994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55312 /* 155997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55313 /* 156001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55314 /* 156005 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55315 /* 156008 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55316 /* 156012 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55317 /* 156016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55318 /* 156020 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55319 /* 156022 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55320 /* 156029 */ // (fadd:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55321 /* 156029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
55322 /* 156032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55323 /* 156034 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55324 /* 156036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55325 /* 156040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55326 /* 156045 */ GIR_RootConstrainSelectedInstOperands,
55327 /* 156046 */ // GIR_Coverage, 24345,
55328 /* 156046 */ GIR_EraseRootFromParent_Done,
55329 /* 156047 */ // Label 3432: @156047
55330 /* 156047 */ GIM_Try, /*On fail goto*//*Label 3433*/ GIMT_Encode4(156105), // Rule ID 6336 //
55331 /* 156052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55332 /* 156055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55333 /* 156059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55334 /* 156063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55335 /* 156067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55336 /* 156070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55337 /* 156074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55338 /* 156078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55339 /* 156080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55340 /* 156087 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55341 /* 156087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
55342 /* 156090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55343 /* 156092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55344 /* 156094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55345 /* 156098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55346 /* 156103 */ GIR_RootConstrainSelectedInstOperands,
55347 /* 156104 */ // GIR_Coverage, 6336,
55348 /* 156104 */ GIR_EraseRootFromParent_Done,
55349 /* 156105 */ // Label 3433: @156105
55350 /* 156105 */ GIM_Try, /*On fail goto*//*Label 3434*/ GIMT_Encode4(156132), // Rule ID 6332 //
55351 /* 156110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55352 /* 156113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55353 /* 156117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55354 /* 156121 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
55355 /* 156121 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
55356 /* 156126 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55357 /* 156130 */ GIR_RootConstrainSelectedInstOperands,
55358 /* 156131 */ // GIR_Coverage, 6332,
55359 /* 156131 */ GIR_Done,
55360 /* 156132 */ // Label 3434: @156132
55361 /* 156132 */ GIM_Reject,
55362 /* 156133 */ // Label 3431: @156133
55363 /* 156133 */ GIM_Reject,
55364 /* 156134 */ // Label 3322: @156134
55365 /* 156134 */ GIM_Reject,
55366 /* 156135 */ // Label 43: @156135
55367 /* 156135 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3448*/ GIMT_Encode4(160316),
55368 /* 156146 */ /*GILLT_s16*//*Label 3435*/ GIMT_Encode4(156230),
55369 /* 156150 */ /*GILLT_s32*//*Label 3436*/ GIMT_Encode4(156328),
55370 /* 156154 */ /*GILLT_s64*//*Label 3437*/ GIMT_Encode4(157293),
55371 /* 156158 */ /*GILLT_s80*//*Label 3438*/ GIMT_Encode4(158402), GIMT_Encode4(0), GIMT_Encode4(0),
55372 /* 156170 */ /*GILLT_v2s64*//*Label 3439*/ GIMT_Encode4(158968), GIMT_Encode4(0),
55373 /* 156178 */ /*GILLT_v4s32*//*Label 3440*/ GIMT_Encode4(159198),
55374 /* 156182 */ /*GILLT_v4s64*//*Label 3441*/ GIMT_Encode4(159428), GIMT_Encode4(0),
55375 /* 156190 */ /*GILLT_v8s16*//*Label 3442*/ GIMT_Encode4(159627),
55376 /* 156194 */ /*GILLT_v8s32*//*Label 3443*/ GIMT_Encode4(159725),
55377 /* 156198 */ /*GILLT_v8s64*//*Label 3444*/ GIMT_Encode4(159924), GIMT_Encode4(0), GIMT_Encode4(0),
55378 /* 156210 */ /*GILLT_v16s16*//*Label 3445*/ GIMT_Encode4(160022),
55379 /* 156214 */ /*GILLT_v16s32*//*Label 3446*/ GIMT_Encode4(160120), GIMT_Encode4(0), GIMT_Encode4(0),
55380 /* 156226 */ /*GILLT_v32s16*//*Label 3447*/ GIMT_Encode4(160218),
55381 /* 156230 */ // Label 3435: @156230
55382 /* 156230 */ GIM_Try, /*On fail goto*//*Label 3449*/ GIMT_Encode4(156327),
55383 /* 156235 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
55384 /* 156238 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
55385 /* 156241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55386 /* 156245 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55387 /* 156249 */ GIM_Try, /*On fail goto*//*Label 3450*/ GIMT_Encode4(156303), // Rule ID 6072 //
55388 /* 156254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55389 /* 156257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55390 /* 156261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55391 /* 156265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55392 /* 156268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55393 /* 156272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55394 /* 156276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55395 /* 156278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55396 /* 156285 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55397 /* 156285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
55398 /* 156288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55399 /* 156290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55400 /* 156292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55401 /* 156296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55402 /* 156301 */ GIR_RootConstrainSelectedInstOperands,
55403 /* 156302 */ // GIR_Coverage, 6072,
55404 /* 156302 */ GIR_EraseRootFromParent_Done,
55405 /* 156303 */ // Label 3450: @156303
55406 /* 156303 */ GIM_Try, /*On fail goto*//*Label 3451*/ GIMT_Encode4(156326), // Rule ID 6070 //
55407 /* 156308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55408 /* 156311 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55409 /* 156315 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
55410 /* 156315 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
55411 /* 156320 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55412 /* 156324 */ GIR_RootConstrainSelectedInstOperands,
55413 /* 156325 */ // GIR_Coverage, 6070,
55414 /* 156325 */ GIR_Done,
55415 /* 156326 */ // Label 3451: @156326
55416 /* 156326 */ GIM_Reject,
55417 /* 156327 */ // Label 3449: @156327
55418 /* 156327 */ GIM_Reject,
55419 /* 156328 */ // Label 3436: @156328
55420 /* 156328 */ GIM_Try, /*On fail goto*//*Label 3452*/ GIMT_Encode4(157292),
55421 /* 156333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
55422 /* 156336 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
55423 /* 156339 */ GIM_Try, /*On fail goto*//*Label 3453*/ GIMT_Encode4(156421), // Rule ID 22487 //
55424 /* 156344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55425 /* 156347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55426 /* 156351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55427 /* 156355 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55428 /* 156359 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55429 /* 156363 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55430 /* 156367 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55431 /* 156371 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55432 /* 156375 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55433 /* 156378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55434 /* 156382 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55435 /* 156389 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55436 /* 156393 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55437 /* 156395 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55438 /* 156402 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55439 /* 156402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
55440 /* 156405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55441 /* 156407 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55442 /* 156409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55443 /* 156413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55444 /* 156419 */ GIR_RootConstrainSelectedInstOperands,
55445 /* 156420 */ // GIR_Coverage, 22487,
55446 /* 156420 */ GIR_EraseRootFromParent_Done,
55447 /* 156421 */ // Label 3453: @156421
55448 /* 156421 */ GIM_Try, /*On fail goto*//*Label 3454*/ GIMT_Encode4(156503), // Rule ID 22488 //
55449 /* 156426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55450 /* 156429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55451 /* 156433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55452 /* 156437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55453 /* 156441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55454 /* 156445 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55455 /* 156449 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55456 /* 156453 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55457 /* 156457 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55458 /* 156460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55459 /* 156464 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55460 /* 156471 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55461 /* 156475 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55462 /* 156477 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55463 /* 156484 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55464 /* 156484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
55465 /* 156487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55466 /* 156489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55467 /* 156491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55468 /* 156495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55469 /* 156501 */ GIR_RootConstrainSelectedInstOperands,
55470 /* 156502 */ // GIR_Coverage, 22488,
55471 /* 156502 */ GIR_EraseRootFromParent_Done,
55472 /* 156503 */ // Label 3454: @156503
55473 /* 156503 */ GIM_Try, /*On fail goto*//*Label 3455*/ GIMT_Encode4(156585), // Rule ID 22489 //
55474 /* 156508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55475 /* 156511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55476 /* 156515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55477 /* 156519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55478 /* 156523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55479 /* 156527 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55480 /* 156531 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55481 /* 156535 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55482 /* 156539 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55483 /* 156542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55484 /* 156546 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55485 /* 156553 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55486 /* 156557 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55487 /* 156559 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55488 /* 156566 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55489 /* 156566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
55490 /* 156569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55491 /* 156571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55492 /* 156573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55493 /* 156577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55494 /* 156583 */ GIR_RootConstrainSelectedInstOperands,
55495 /* 156584 */ // GIR_Coverage, 22489,
55496 /* 156584 */ GIR_EraseRootFromParent_Done,
55497 /* 156585 */ // Label 3455: @156585
55498 /* 156585 */ GIM_Try, /*On fail goto*//*Label 3456*/ GIMT_Encode4(156650), // Rule ID 964 //
55499 /* 156590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55500 /* 156593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55501 /* 156597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55502 /* 156601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55503 /* 156605 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55504 /* 156612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55505 /* 156616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55506 /* 156620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55507 /* 156622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55508 /* 156629 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55509 /* 156629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
55510 /* 156632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55511 /* 156634 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55512 /* 156636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55513 /* 156640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55514 /* 156643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55515 /* 156648 */ GIR_RootConstrainSelectedInstOperands,
55516 /* 156649 */ // GIR_Coverage, 964,
55517 /* 156649 */ GIR_EraseRootFromParent_Done,
55518 /* 156650 */ // Label 3456: @156650
55519 /* 156650 */ GIM_Try, /*On fail goto*//*Label 3457*/ GIMT_Encode4(156715), // Rule ID 966 //
55520 /* 156655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55521 /* 156658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55522 /* 156662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55523 /* 156666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55524 /* 156670 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55525 /* 156677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55526 /* 156681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55527 /* 156685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55528 /* 156687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55529 /* 156694 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55530 /* 156694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
55531 /* 156697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55532 /* 156699 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55533 /* 156701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55534 /* 156705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55535 /* 156708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55536 /* 156713 */ GIR_RootConstrainSelectedInstOperands,
55537 /* 156714 */ // GIR_Coverage, 966,
55538 /* 156714 */ GIR_EraseRootFromParent_Done,
55539 /* 156715 */ // Label 3457: @156715
55540 /* 156715 */ GIM_Try, /*On fail goto*//*Label 3458*/ GIMT_Encode4(156780), // Rule ID 954 //
55541 /* 156720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55542 /* 156723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55543 /* 156727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55544 /* 156731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55545 /* 156735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55546 /* 156738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55547 /* 156742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55548 /* 156746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55549 /* 156750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55550 /* 156752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55551 /* 156759 */ // (fsub:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (SUBR_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55552 /* 156759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
55553 /* 156762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55554 /* 156764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55555 /* 156766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55556 /* 156770 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55557 /* 156773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55558 /* 156778 */ GIR_RootConstrainSelectedInstOperands,
55559 /* 156779 */ // GIR_Coverage, 954,
55560 /* 156779 */ GIR_EraseRootFromParent_Done,
55561 /* 156780 */ // Label 3458: @156780
55562 /* 156780 */ GIM_Try, /*On fail goto*//*Label 3459*/ GIMT_Encode4(156845), // Rule ID 942 //
55563 /* 156785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55564 /* 156788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55565 /* 156792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55566 /* 156796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55567 /* 156800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55568 /* 156804 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55569 /* 156811 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55570 /* 156815 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55571 /* 156817 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55572 /* 156824 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55573 /* 156824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
55574 /* 156827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55575 /* 156829 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55576 /* 156831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55577 /* 156835 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55578 /* 156838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55579 /* 156843 */ GIR_RootConstrainSelectedInstOperands,
55580 /* 156844 */ // GIR_Coverage, 942,
55581 /* 156844 */ GIR_EraseRootFromParent_Done,
55582 /* 156845 */ // Label 3459: @156845
55583 /* 156845 */ GIM_Try, /*On fail goto*//*Label 3460*/ GIMT_Encode4(156910), // Rule ID 944 //
55584 /* 156850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55585 /* 156853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55586 /* 156857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55587 /* 156861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55588 /* 156865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55589 /* 156869 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55590 /* 156876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55591 /* 156880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55592 /* 156882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55593 /* 156889 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55594 /* 156889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
55595 /* 156892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55596 /* 156894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55597 /* 156896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55598 /* 156900 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55599 /* 156903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55600 /* 156908 */ GIR_RootConstrainSelectedInstOperands,
55601 /* 156909 */ // GIR_Coverage, 944,
55602 /* 156909 */ GIR_EraseRootFromParent_Done,
55603 /* 156910 */ // Label 3460: @156910
55604 /* 156910 */ GIM_Try, /*On fail goto*//*Label 3461*/ GIMT_Encode4(156975), // Rule ID 932 //
55605 /* 156915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55606 /* 156918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55607 /* 156922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55608 /* 156926 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55609 /* 156930 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55610 /* 156934 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55611 /* 156937 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55612 /* 156941 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55613 /* 156945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55614 /* 156947 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55615 /* 156954 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUB_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55616 /* 156954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
55617 /* 156957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55618 /* 156959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55619 /* 156961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55620 /* 156965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55621 /* 156968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55622 /* 156973 */ GIR_RootConstrainSelectedInstOperands,
55623 /* 156974 */ // GIR_Coverage, 932,
55624 /* 156974 */ GIR_EraseRootFromParent_Done,
55625 /* 156975 */ // Label 3461: @156975
55626 /* 156975 */ GIM_Try, /*On fail goto*//*Label 3462*/ GIMT_Encode4(157037), // Rule ID 2240 //
55627 /* 156980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55628 /* 156983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55629 /* 156987 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55630 /* 156991 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55631 /* 156995 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55632 /* 156999 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55633 /* 157002 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55634 /* 157006 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55635 /* 157010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55636 /* 157012 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55637 /* 157019 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55638 /* 157019 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
55639 /* 157022 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55640 /* 157024 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55641 /* 157026 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55642 /* 157030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55643 /* 157035 */ GIR_RootConstrainSelectedInstOperands,
55644 /* 157036 */ // GIR_Coverage, 2240,
55645 /* 157036 */ GIR_EraseRootFromParent_Done,
55646 /* 157037 */ // Label 3462: @157037
55647 /* 157037 */ GIM_Try, /*On fail goto*//*Label 3463*/ GIMT_Encode4(157099), // Rule ID 2248 //
55648 /* 157042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55649 /* 157045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55650 /* 157049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55651 /* 157053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55652 /* 157057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55653 /* 157061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55654 /* 157064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55655 /* 157068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55656 /* 157072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55657 /* 157074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55658 /* 157081 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55659 /* 157081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
55660 /* 157084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55661 /* 157086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55662 /* 157088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55663 /* 157092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55664 /* 157097 */ GIR_RootConstrainSelectedInstOperands,
55665 /* 157098 */ // GIR_Coverage, 2248,
55666 /* 157098 */ GIR_EraseRootFromParent_Done,
55667 /* 157099 */ // Label 3463: @157099
55668 /* 157099 */ GIM_Try, /*On fail goto*//*Label 3464*/ GIMT_Encode4(157161), // Rule ID 6034 //
55669 /* 157104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55670 /* 157107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55671 /* 157111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55672 /* 157115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55673 /* 157119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55674 /* 157123 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55675 /* 157126 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55676 /* 157130 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55677 /* 157134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55678 /* 157136 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55679 /* 157143 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55680 /* 157143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
55681 /* 157146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55682 /* 157148 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55683 /* 157150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55684 /* 157154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55685 /* 157159 */ GIR_RootConstrainSelectedInstOperands,
55686 /* 157160 */ // GIR_Coverage, 6034,
55687 /* 157160 */ GIR_EraseRootFromParent_Done,
55688 /* 157161 */ // Label 3464: @157161
55689 /* 157161 */ GIM_Try, /*On fail goto*//*Label 3465*/ GIMT_Encode4(157198), // Rule ID 892 //
55690 /* 157166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55691 /* 157169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55692 /* 157173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55693 /* 157177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55694 /* 157181 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
55695 /* 157181 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
55696 /* 157186 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
55697 /* 157192 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55698 /* 157196 */ GIR_RootConstrainSelectedInstOperands,
55699 /* 157197 */ // GIR_Coverage, 892,
55700 /* 157197 */ GIR_Done,
55701 /* 157198 */ // Label 3465: @157198
55702 /* 157198 */ GIM_Try, /*On fail goto*//*Label 3466*/ GIMT_Encode4(157229), // Rule ID 2238 //
55703 /* 157203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55704 /* 157206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55705 /* 157210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55706 /* 157214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55707 /* 157218 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
55708 /* 157218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
55709 /* 157223 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55710 /* 157227 */ GIR_RootConstrainSelectedInstOperands,
55711 /* 157228 */ // GIR_Coverage, 2238,
55712 /* 157228 */ GIR_Done,
55713 /* 157229 */ // Label 3466: @157229
55714 /* 157229 */ GIM_Try, /*On fail goto*//*Label 3467*/ GIMT_Encode4(157260), // Rule ID 2246 //
55715 /* 157234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55716 /* 157237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55717 /* 157241 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55718 /* 157245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55719 /* 157249 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
55720 /* 157249 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
55721 /* 157254 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55722 /* 157258 */ GIR_RootConstrainSelectedInstOperands,
55723 /* 157259 */ // GIR_Coverage, 2246,
55724 /* 157259 */ GIR_Done,
55725 /* 157260 */ // Label 3467: @157260
55726 /* 157260 */ GIM_Try, /*On fail goto*//*Label 3468*/ GIMT_Encode4(157291), // Rule ID 6032 //
55727 /* 157265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55728 /* 157268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55729 /* 157272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55730 /* 157276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55731 /* 157280 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
55732 /* 157280 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
55733 /* 157285 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55734 /* 157289 */ GIR_RootConstrainSelectedInstOperands,
55735 /* 157290 */ // GIR_Coverage, 6032,
55736 /* 157290 */ GIR_Done,
55737 /* 157291 */ // Label 3468: @157291
55738 /* 157291 */ GIM_Reject,
55739 /* 157292 */ // Label 3452: @157292
55740 /* 157292 */ GIM_Reject,
55741 /* 157293 */ // Label 3437: @157293
55742 /* 157293 */ GIM_Try, /*On fail goto*//*Label 3469*/ GIMT_Encode4(158401),
55743 /* 157298 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
55744 /* 157301 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
55745 /* 157304 */ GIM_Try, /*On fail goto*//*Label 3470*/ GIMT_Encode4(157386), // Rule ID 22490 //
55746 /* 157309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55747 /* 157312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55748 /* 157316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55749 /* 157320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55750 /* 157324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55751 /* 157328 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
55752 /* 157332 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55753 /* 157336 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55754 /* 157340 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55755 /* 157343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55756 /* 157347 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55757 /* 157354 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55758 /* 157358 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55759 /* 157360 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55760 /* 157367 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55761 /* 157367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
55762 /* 157370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55763 /* 157372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55764 /* 157374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55765 /* 157378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55766 /* 157384 */ GIR_RootConstrainSelectedInstOperands,
55767 /* 157385 */ // GIR_Coverage, 22490,
55768 /* 157385 */ GIR_EraseRootFromParent_Done,
55769 /* 157386 */ // Label 3470: @157386
55770 /* 157386 */ GIM_Try, /*On fail goto*//*Label 3471*/ GIMT_Encode4(157468), // Rule ID 22491 //
55771 /* 157391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55772 /* 157394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55773 /* 157398 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55774 /* 157402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55775 /* 157406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55776 /* 157410 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
55777 /* 157414 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55778 /* 157418 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55779 /* 157422 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55780 /* 157425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55781 /* 157429 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55782 /* 157436 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55783 /* 157440 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55784 /* 157442 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55785 /* 157449 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55786 /* 157449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
55787 /* 157452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55788 /* 157454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55789 /* 157456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55790 /* 157460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55791 /* 157466 */ GIR_RootConstrainSelectedInstOperands,
55792 /* 157467 */ // GIR_Coverage, 22491,
55793 /* 157467 */ GIR_EraseRootFromParent_Done,
55794 /* 157468 */ // Label 3471: @157468
55795 /* 157468 */ GIM_Try, /*On fail goto*//*Label 3472*/ GIMT_Encode4(157550), // Rule ID 22492 //
55796 /* 157473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55797 /* 157476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55798 /* 157480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55799 /* 157484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55800 /* 157488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55801 /* 157492 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
55802 /* 157496 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55803 /* 157500 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55804 /* 157504 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55805 /* 157507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55806 /* 157511 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55807 /* 157518 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55808 /* 157522 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55809 /* 157524 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55810 /* 157531 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55811 /* 157531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
55812 /* 157534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55813 /* 157536 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55814 /* 157538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55815 /* 157542 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55816 /* 157548 */ GIR_RootConstrainSelectedInstOperands,
55817 /* 157549 */ // GIR_Coverage, 22492,
55818 /* 157549 */ GIR_EraseRootFromParent_Done,
55819 /* 157550 */ // Label 3472: @157550
55820 /* 157550 */ GIM_Try, /*On fail goto*//*Label 3473*/ GIMT_Encode4(157615), // Rule ID 968 //
55821 /* 157555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55822 /* 157558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55823 /* 157562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55824 /* 157566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55825 /* 157570 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55826 /* 157577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55827 /* 157581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55828 /* 157585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55829 /* 157587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55830 /* 157594 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55831 /* 157594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
55832 /* 157597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55833 /* 157599 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55834 /* 157601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55835 /* 157605 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55836 /* 157608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55837 /* 157613 */ GIR_RootConstrainSelectedInstOperands,
55838 /* 157614 */ // GIR_Coverage, 968,
55839 /* 157614 */ GIR_EraseRootFromParent_Done,
55840 /* 157615 */ // Label 3473: @157615
55841 /* 157615 */ GIM_Try, /*On fail goto*//*Label 3474*/ GIMT_Encode4(157680), // Rule ID 970 //
55842 /* 157620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55843 /* 157623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55844 /* 157627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55845 /* 157631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55846 /* 157635 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55847 /* 157642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55848 /* 157646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55849 /* 157650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55850 /* 157652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55851 /* 157659 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55852 /* 157659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
55853 /* 157662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55854 /* 157664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55855 /* 157666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55856 /* 157670 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55857 /* 157673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55858 /* 157678 */ GIR_RootConstrainSelectedInstOperands,
55859 /* 157679 */ // GIR_Coverage, 970,
55860 /* 157679 */ GIR_EraseRootFromParent_Done,
55861 /* 157680 */ // Label 3474: @157680
55862 /* 157680 */ GIM_Try, /*On fail goto*//*Label 3475*/ GIMT_Encode4(157745), // Rule ID 956 //
55863 /* 157685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55864 /* 157688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55865 /* 157692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55866 /* 157696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55867 /* 157700 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55868 /* 157703 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55869 /* 157707 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55870 /* 157711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55871 /* 157715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55872 /* 157717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55873 /* 157724 */ // (fsub:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (SUBR_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55874 /* 157724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
55875 /* 157727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55876 /* 157729 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55877 /* 157731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55878 /* 157735 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55879 /* 157738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55880 /* 157743 */ GIR_RootConstrainSelectedInstOperands,
55881 /* 157744 */ // GIR_Coverage, 956,
55882 /* 157744 */ GIR_EraseRootFromParent_Done,
55883 /* 157745 */ // Label 3475: @157745
55884 /* 157745 */ GIM_Try, /*On fail goto*//*Label 3476*/ GIMT_Encode4(157817), // Rule ID 958 //
55885 /* 157750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55886 /* 157753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55887 /* 157757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55888 /* 157761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55889 /* 157765 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55890 /* 157768 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55891 /* 157772 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55892 /* 157779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55893 /* 157783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55894 /* 157787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55895 /* 157789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55896 /* 157796 */ // (fsub:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55897 /* 157796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
55898 /* 157799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55899 /* 157801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55900 /* 157803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55901 /* 157807 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55902 /* 157810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55903 /* 157815 */ GIR_RootConstrainSelectedInstOperands,
55904 /* 157816 */ // GIR_Coverage, 958,
55905 /* 157816 */ GIR_EraseRootFromParent_Done,
55906 /* 157817 */ // Label 3476: @157817
55907 /* 157817 */ GIM_Try, /*On fail goto*//*Label 3477*/ GIMT_Encode4(157882), // Rule ID 946 //
55908 /* 157822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55909 /* 157825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55910 /* 157829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55911 /* 157833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55912 /* 157837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55913 /* 157841 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55914 /* 157848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55915 /* 157852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55916 /* 157854 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55917 /* 157861 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55918 /* 157861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
55919 /* 157864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55920 /* 157866 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55921 /* 157868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55922 /* 157872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55923 /* 157875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55924 /* 157880 */ GIR_RootConstrainSelectedInstOperands,
55925 /* 157881 */ // GIR_Coverage, 946,
55926 /* 157881 */ GIR_EraseRootFromParent_Done,
55927 /* 157882 */ // Label 3477: @157882
55928 /* 157882 */ GIM_Try, /*On fail goto*//*Label 3478*/ GIMT_Encode4(157947), // Rule ID 948 //
55929 /* 157887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55930 /* 157890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55931 /* 157894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55932 /* 157898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55933 /* 157902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55934 /* 157906 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55935 /* 157913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55936 /* 157917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55937 /* 157919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55938 /* 157926 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55939 /* 157926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
55940 /* 157929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55941 /* 157931 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55942 /* 157933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55943 /* 157937 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55944 /* 157940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55945 /* 157945 */ GIR_RootConstrainSelectedInstOperands,
55946 /* 157946 */ // GIR_Coverage, 948,
55947 /* 157946 */ GIR_EraseRootFromParent_Done,
55948 /* 157947 */ // Label 3478: @157947
55949 /* 157947 */ GIM_Try, /*On fail goto*//*Label 3479*/ GIMT_Encode4(158012), // Rule ID 934 //
55950 /* 157952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55951 /* 157955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55952 /* 157959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55953 /* 157963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55954 /* 157967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55955 /* 157971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55956 /* 157974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55957 /* 157978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55958 /* 157982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55959 /* 157984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55960 /* 157991 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUB_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55961 /* 157991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
55962 /* 157994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55963 /* 157996 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55964 /* 157998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55965 /* 158002 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55966 /* 158005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55967 /* 158010 */ GIR_RootConstrainSelectedInstOperands,
55968 /* 158011 */ // GIR_Coverage, 934,
55969 /* 158011 */ GIR_EraseRootFromParent_Done,
55970 /* 158012 */ // Label 3479: @158012
55971 /* 158012 */ GIM_Try, /*On fail goto*//*Label 3480*/ GIMT_Encode4(158084), // Rule ID 936 //
55972 /* 158017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
55973 /* 158020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55974 /* 158024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
55975 /* 158028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55976 /* 158032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55977 /* 158036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55978 /* 158039 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55979 /* 158043 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55980 /* 158050 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55981 /* 158054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55982 /* 158056 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55983 /* 158063 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (SUB_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55984 /* 158063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
55985 /* 158066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55986 /* 158068 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55987 /* 158070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55988 /* 158074 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55989 /* 158077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55990 /* 158082 */ GIR_RootConstrainSelectedInstOperands,
55991 /* 158083 */ // GIR_Coverage, 936,
55992 /* 158083 */ GIR_EraseRootFromParent_Done,
55993 /* 158084 */ // Label 3480: @158084
55994 /* 158084 */ GIM_Try, /*On fail goto*//*Label 3481*/ GIMT_Encode4(158146), // Rule ID 2244 //
55995 /* 158089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55996 /* 158092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55997 /* 158096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55998 /* 158100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55999 /* 158104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56000 /* 158108 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56001 /* 158111 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56002 /* 158115 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56003 /* 158119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56004 /* 158121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56005 /* 158128 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56006 /* 158128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
56007 /* 158131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56008 /* 158133 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56009 /* 158135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56010 /* 158139 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56011 /* 158144 */ GIR_RootConstrainSelectedInstOperands,
56012 /* 158145 */ // GIR_Coverage, 2244,
56013 /* 158145 */ GIR_EraseRootFromParent_Done,
56014 /* 158146 */ // Label 3481: @158146
56015 /* 158146 */ GIM_Try, /*On fail goto*//*Label 3482*/ GIMT_Encode4(158208), // Rule ID 2252 //
56016 /* 158151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56017 /* 158154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56018 /* 158158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56019 /* 158162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56020 /* 158166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56021 /* 158170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56022 /* 158173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56023 /* 158177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56024 /* 158181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56025 /* 158183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56026 /* 158190 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56027 /* 158190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
56028 /* 158193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56029 /* 158195 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56030 /* 158197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56031 /* 158201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56032 /* 158206 */ GIR_RootConstrainSelectedInstOperands,
56033 /* 158207 */ // GIR_Coverage, 2252,
56034 /* 158207 */ GIR_EraseRootFromParent_Done,
56035 /* 158208 */ // Label 3482: @158208
56036 /* 158208 */ GIM_Try, /*On fail goto*//*Label 3483*/ GIMT_Encode4(158270), // Rule ID 6053 //
56037 /* 158213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56038 /* 158216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56039 /* 158220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56040 /* 158224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56041 /* 158228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56042 /* 158232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56043 /* 158235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56044 /* 158239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56045 /* 158243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56046 /* 158245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56047 /* 158252 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56048 /* 158252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
56049 /* 158255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56050 /* 158257 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56051 /* 158259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56052 /* 158263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56053 /* 158268 */ GIR_RootConstrainSelectedInstOperands,
56054 /* 158269 */ // GIR_Coverage, 6053,
56055 /* 158269 */ GIR_EraseRootFromParent_Done,
56056 /* 158270 */ // Label 3483: @158270
56057 /* 158270 */ GIM_Try, /*On fail goto*//*Label 3484*/ GIMT_Encode4(158307), // Rule ID 894 //
56058 /* 158275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56059 /* 158278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56060 /* 158282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56061 /* 158286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56062 /* 158290 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
56063 /* 158290 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
56064 /* 158295 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
56065 /* 158301 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56066 /* 158305 */ GIR_RootConstrainSelectedInstOperands,
56067 /* 158306 */ // GIR_Coverage, 894,
56068 /* 158306 */ GIR_Done,
56069 /* 158307 */ // Label 3484: @158307
56070 /* 158307 */ GIM_Try, /*On fail goto*//*Label 3485*/ GIMT_Encode4(158338), // Rule ID 2242 //
56071 /* 158312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56072 /* 158315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56073 /* 158319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56074 /* 158323 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56075 /* 158327 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56076 /* 158327 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
56077 /* 158332 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56078 /* 158336 */ GIR_RootConstrainSelectedInstOperands,
56079 /* 158337 */ // GIR_Coverage, 2242,
56080 /* 158337 */ GIR_Done,
56081 /* 158338 */ // Label 3485: @158338
56082 /* 158338 */ GIM_Try, /*On fail goto*//*Label 3486*/ GIMT_Encode4(158369), // Rule ID 2250 //
56083 /* 158343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56084 /* 158346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56085 /* 158350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56086 /* 158354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56087 /* 158358 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56088 /* 158358 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
56089 /* 158363 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56090 /* 158367 */ GIR_RootConstrainSelectedInstOperands,
56091 /* 158368 */ // GIR_Coverage, 2250,
56092 /* 158368 */ GIR_Done,
56093 /* 158369 */ // Label 3486: @158369
56094 /* 158369 */ GIM_Try, /*On fail goto*//*Label 3487*/ GIMT_Encode4(158400), // Rule ID 6051 //
56095 /* 158374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56096 /* 158377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56097 /* 158381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56098 /* 158385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56099 /* 158389 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
56100 /* 158389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
56101 /* 158394 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56102 /* 158398 */ GIR_RootConstrainSelectedInstOperands,
56103 /* 158399 */ // GIR_Coverage, 6051,
56104 /* 158399 */ GIR_Done,
56105 /* 158400 */ // Label 3487: @158400
56106 /* 158400 */ GIM_Reject,
56107 /* 158401 */ // Label 3469: @158401
56108 /* 158401 */ GIM_Reject,
56109 /* 158402 */ // Label 3438: @158402
56110 /* 158402 */ GIM_Try, /*On fail goto*//*Label 3488*/ GIMT_Encode4(158967),
56111 /* 158407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
56112 /* 158410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
56113 /* 158413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56114 /* 158417 */ GIM_Try, /*On fail goto*//*Label 3489*/ GIMT_Encode4(158478), // Rule ID 972 //
56115 /* 158422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56116 /* 158425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56117 /* 158429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56118 /* 158433 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56119 /* 158440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56120 /* 158444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56121 /* 158448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56122 /* 158450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56123 /* 158457 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56124 /* 158457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
56125 /* 158460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56126 /* 158462 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56127 /* 158464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56128 /* 158468 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56129 /* 158471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56130 /* 158476 */ GIR_RootConstrainSelectedInstOperands,
56131 /* 158477 */ // GIR_Coverage, 972,
56132 /* 158477 */ GIR_EraseRootFromParent_Done,
56133 /* 158478 */ // Label 3489: @158478
56134 /* 158478 */ GIM_Try, /*On fail goto*//*Label 3490*/ GIMT_Encode4(158539), // Rule ID 974 //
56135 /* 158483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56136 /* 158486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56137 /* 158490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56138 /* 158494 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56139 /* 158501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56140 /* 158505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56141 /* 158509 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56142 /* 158511 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56143 /* 158518 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56144 /* 158518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
56145 /* 158521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56146 /* 158523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56147 /* 158525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56148 /* 158529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56149 /* 158532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56150 /* 158537 */ GIR_RootConstrainSelectedInstOperands,
56151 /* 158538 */ // GIR_Coverage, 974,
56152 /* 158538 */ GIR_EraseRootFromParent_Done,
56153 /* 158539 */ // Label 3490: @158539
56154 /* 158539 */ GIM_Try, /*On fail goto*//*Label 3491*/ GIMT_Encode4(158607), // Rule ID 960 //
56155 /* 158544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56156 /* 158547 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56157 /* 158551 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56158 /* 158555 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56159 /* 158558 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56160 /* 158562 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56161 /* 158569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56162 /* 158573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56163 /* 158577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56164 /* 158579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56165 /* 158586 */ // (fsub:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56166 /* 158586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
56167 /* 158589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56168 /* 158591 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56169 /* 158593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56170 /* 158597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56171 /* 158600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56172 /* 158605 */ GIR_RootConstrainSelectedInstOperands,
56173 /* 158606 */ // GIR_Coverage, 960,
56174 /* 158606 */ GIR_EraseRootFromParent_Done,
56175 /* 158607 */ // Label 3491: @158607
56176 /* 158607 */ GIM_Try, /*On fail goto*//*Label 3492*/ GIMT_Encode4(158675), // Rule ID 962 //
56177 /* 158612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56178 /* 158615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56179 /* 158619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56180 /* 158623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56181 /* 158626 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56182 /* 158630 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56183 /* 158637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56184 /* 158641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56185 /* 158645 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56186 /* 158647 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56187 /* 158654 */ // (fsub:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (SUBR_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56188 /* 158654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
56189 /* 158657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56190 /* 158659 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56191 /* 158661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56192 /* 158665 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56193 /* 158668 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56194 /* 158673 */ GIR_RootConstrainSelectedInstOperands,
56195 /* 158674 */ // GIR_Coverage, 962,
56196 /* 158674 */ GIR_EraseRootFromParent_Done,
56197 /* 158675 */ // Label 3492: @158675
56198 /* 158675 */ GIM_Try, /*On fail goto*//*Label 3493*/ GIMT_Encode4(158736), // Rule ID 950 //
56199 /* 158680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56200 /* 158683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56201 /* 158687 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56202 /* 158691 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56203 /* 158695 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56204 /* 158702 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56205 /* 158706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56206 /* 158708 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56207 /* 158715 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56208 /* 158715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
56209 /* 158718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56210 /* 158720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56211 /* 158722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56212 /* 158726 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56213 /* 158729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56214 /* 158734 */ GIR_RootConstrainSelectedInstOperands,
56215 /* 158735 */ // GIR_Coverage, 950,
56216 /* 158735 */ GIR_EraseRootFromParent_Done,
56217 /* 158736 */ // Label 3493: @158736
56218 /* 158736 */ GIM_Try, /*On fail goto*//*Label 3494*/ GIMT_Encode4(158797), // Rule ID 952 //
56219 /* 158741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56220 /* 158744 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56221 /* 158748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56222 /* 158752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56223 /* 158756 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56224 /* 158763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56225 /* 158767 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56226 /* 158769 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56227 /* 158776 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56228 /* 158776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
56229 /* 158779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56230 /* 158781 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56231 /* 158783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56232 /* 158787 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56233 /* 158790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56234 /* 158795 */ GIR_RootConstrainSelectedInstOperands,
56235 /* 158796 */ // GIR_Coverage, 952,
56236 /* 158796 */ GIR_EraseRootFromParent_Done,
56237 /* 158797 */ // Label 3494: @158797
56238 /* 158797 */ GIM_Try, /*On fail goto*//*Label 3495*/ GIMT_Encode4(158865), // Rule ID 938 //
56239 /* 158802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56240 /* 158805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56241 /* 158809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56242 /* 158813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56243 /* 158817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56244 /* 158820 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56245 /* 158824 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56246 /* 158831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56247 /* 158835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56248 /* 158837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56249 /* 158844 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (SUB_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56250 /* 158844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
56251 /* 158847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56252 /* 158849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56253 /* 158851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56254 /* 158855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56255 /* 158858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56256 /* 158863 */ GIR_RootConstrainSelectedInstOperands,
56257 /* 158864 */ // GIR_Coverage, 938,
56258 /* 158864 */ GIR_EraseRootFromParent_Done,
56259 /* 158865 */ // Label 3495: @158865
56260 /* 158865 */ GIM_Try, /*On fail goto*//*Label 3496*/ GIMT_Encode4(158933), // Rule ID 940 //
56261 /* 158870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56262 /* 158873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56263 /* 158877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56264 /* 158881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56265 /* 158885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56266 /* 158888 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56267 /* 158892 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56268 /* 158899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56269 /* 158903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56270 /* 158905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56271 /* 158912 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (SUB_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56272 /* 158912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
56273 /* 158915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56274 /* 158917 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56275 /* 158919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56276 /* 158923 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56277 /* 158926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56278 /* 158931 */ GIR_RootConstrainSelectedInstOperands,
56279 /* 158932 */ // GIR_Coverage, 940,
56280 /* 158932 */ GIR_EraseRootFromParent_Done,
56281 /* 158933 */ // Label 3496: @158933
56282 /* 158933 */ GIM_Try, /*On fail goto*//*Label 3497*/ GIMT_Encode4(158966), // Rule ID 896 //
56283 /* 158938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56284 /* 158941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56285 /* 158945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56286 /* 158949 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
56287 /* 158949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
56288 /* 158954 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
56289 /* 158960 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56290 /* 158964 */ GIR_RootConstrainSelectedInstOperands,
56291 /* 158965 */ // GIR_Coverage, 896,
56292 /* 158965 */ GIR_Done,
56293 /* 158966 */ // Label 3497: @158966
56294 /* 158966 */ GIM_Reject,
56295 /* 158967 */ // Label 3488: @158967
56296 /* 158967 */ GIM_Reject,
56297 /* 158968 */ // Label 3439: @158968
56298 /* 158968 */ GIM_Try, /*On fail goto*//*Label 3498*/ GIMT_Encode4(159197),
56299 /* 158973 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
56300 /* 158976 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
56301 /* 158979 */ GIM_Try, /*On fail goto*//*Label 3499*/ GIMT_Encode4(159041), // Rule ID 2220 //
56302 /* 158984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56303 /* 158987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56304 /* 158991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56305 /* 158995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56306 /* 158999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56307 /* 159003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56308 /* 159006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56309 /* 159010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56310 /* 159014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56311 /* 159016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56312 /* 159023 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56313 /* 159023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
56314 /* 159026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56315 /* 159028 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56316 /* 159030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56317 /* 159034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56318 /* 159039 */ GIR_RootConstrainSelectedInstOperands,
56319 /* 159040 */ // GIR_Coverage, 2220,
56320 /* 159040 */ GIR_EraseRootFromParent_Done,
56321 /* 159041 */ // Label 3499: @159041
56322 /* 159041 */ GIM_Try, /*On fail goto*//*Label 3500*/ GIMT_Encode4(159103), // Rule ID 6546 //
56323 /* 159046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56324 /* 159049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56325 /* 159053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56326 /* 159057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56327 /* 159061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56328 /* 159065 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56329 /* 159068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56330 /* 159072 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56331 /* 159076 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56332 /* 159078 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56333 /* 159085 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56334 /* 159085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
56335 /* 159088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56336 /* 159090 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56337 /* 159092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56338 /* 159096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56339 /* 159101 */ GIR_RootConstrainSelectedInstOperands,
56340 /* 159102 */ // GIR_Coverage, 6546,
56341 /* 159102 */ GIR_EraseRootFromParent_Done,
56342 /* 159103 */ // Label 3500: @159103
56343 /* 159103 */ GIM_Try, /*On fail goto*//*Label 3501*/ GIMT_Encode4(159134), // Rule ID 2218 //
56344 /* 159108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56345 /* 159111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56346 /* 159115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56347 /* 159119 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56348 /* 159123 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56349 /* 159123 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
56350 /* 159128 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56351 /* 159132 */ GIR_RootConstrainSelectedInstOperands,
56352 /* 159133 */ // GIR_Coverage, 2218,
56353 /* 159133 */ GIR_Done,
56354 /* 159134 */ // Label 3501: @159134
56355 /* 159134 */ GIM_Try, /*On fail goto*//*Label 3502*/ GIMT_Encode4(159165), // Rule ID 2234 //
56356 /* 159139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56357 /* 159142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56358 /* 159146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56359 /* 159150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56360 /* 159154 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
56361 /* 159154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
56362 /* 159159 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56363 /* 159163 */ GIR_RootConstrainSelectedInstOperands,
56364 /* 159164 */ // GIR_Coverage, 2234,
56365 /* 159164 */ GIR_Done,
56366 /* 159165 */ // Label 3502: @159165
56367 /* 159165 */ GIM_Try, /*On fail goto*//*Label 3503*/ GIMT_Encode4(159196), // Rule ID 6542 //
56368 /* 159170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56369 /* 159173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56370 /* 159177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56371 /* 159181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56372 /* 159185 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
56373 /* 159185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
56374 /* 159190 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56375 /* 159194 */ GIR_RootConstrainSelectedInstOperands,
56376 /* 159195 */ // GIR_Coverage, 6542,
56377 /* 159195 */ GIR_Done,
56378 /* 159196 */ // Label 3503: @159196
56379 /* 159196 */ GIM_Reject,
56380 /* 159197 */ // Label 3498: @159197
56381 /* 159197 */ GIM_Reject,
56382 /* 159198 */ // Label 3440: @159198
56383 /* 159198 */ GIM_Try, /*On fail goto*//*Label 3504*/ GIMT_Encode4(159427),
56384 /* 159203 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
56385 /* 159206 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
56386 /* 159209 */ GIM_Try, /*On fail goto*//*Label 3505*/ GIMT_Encode4(159271), // Rule ID 2216 //
56387 /* 159214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56388 /* 159217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56389 /* 159221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56390 /* 159225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56391 /* 159229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56392 /* 159233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56393 /* 159236 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56394 /* 159240 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56395 /* 159244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56396 /* 159246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56397 /* 159253 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56398 /* 159253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
56399 /* 159256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56400 /* 159258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56401 /* 159260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56402 /* 159264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56403 /* 159269 */ GIR_RootConstrainSelectedInstOperands,
56404 /* 159270 */ // GIR_Coverage, 2216,
56405 /* 159270 */ GIR_EraseRootFromParent_Done,
56406 /* 159271 */ // Label 3505: @159271
56407 /* 159271 */ GIM_Try, /*On fail goto*//*Label 3506*/ GIMT_Encode4(159333), // Rule ID 6522 //
56408 /* 159276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56409 /* 159279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56410 /* 159283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56411 /* 159287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56412 /* 159291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56413 /* 159295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56414 /* 159298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56415 /* 159302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56416 /* 159306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56417 /* 159308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56418 /* 159315 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56419 /* 159315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
56420 /* 159318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56421 /* 159320 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56422 /* 159322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56423 /* 159326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56424 /* 159331 */ GIR_RootConstrainSelectedInstOperands,
56425 /* 159332 */ // GIR_Coverage, 6522,
56426 /* 159332 */ GIR_EraseRootFromParent_Done,
56427 /* 159333 */ // Label 3506: @159333
56428 /* 159333 */ GIM_Try, /*On fail goto*//*Label 3507*/ GIMT_Encode4(159364), // Rule ID 2214 //
56429 /* 159338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56430 /* 159341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56431 /* 159345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56432 /* 159349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56433 /* 159353 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
56434 /* 159353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
56435 /* 159358 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56436 /* 159362 */ GIR_RootConstrainSelectedInstOperands,
56437 /* 159363 */ // GIR_Coverage, 2214,
56438 /* 159363 */ GIR_Done,
56439 /* 159364 */ // Label 3507: @159364
56440 /* 159364 */ GIM_Try, /*On fail goto*//*Label 3508*/ GIMT_Encode4(159395), // Rule ID 2230 //
56441 /* 159369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56442 /* 159372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56443 /* 159376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56444 /* 159380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
56445 /* 159384 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
56446 /* 159384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
56447 /* 159389 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56448 /* 159393 */ GIR_RootConstrainSelectedInstOperands,
56449 /* 159394 */ // GIR_Coverage, 2230,
56450 /* 159394 */ GIR_Done,
56451 /* 159395 */ // Label 3508: @159395
56452 /* 159395 */ GIM_Try, /*On fail goto*//*Label 3509*/ GIMT_Encode4(159426), // Rule ID 6518 //
56453 /* 159400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56454 /* 159403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56455 /* 159407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56456 /* 159411 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56457 /* 159415 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
56458 /* 159415 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
56459 /* 159420 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56460 /* 159424 */ GIR_RootConstrainSelectedInstOperands,
56461 /* 159425 */ // GIR_Coverage, 6518,
56462 /* 159425 */ GIR_Done,
56463 /* 159426 */ // Label 3509: @159426
56464 /* 159426 */ GIM_Reject,
56465 /* 159427 */ // Label 3504: @159427
56466 /* 159427 */ GIM_Reject,
56467 /* 159428 */ // Label 3441: @159428
56468 /* 159428 */ GIM_Try, /*On fail goto*//*Label 3510*/ GIMT_Encode4(159626),
56469 /* 159433 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
56470 /* 159436 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
56471 /* 159439 */ GIM_Try, /*On fail goto*//*Label 3511*/ GIMT_Encode4(159501), // Rule ID 2228 //
56472 /* 159444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56473 /* 159447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56474 /* 159451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56475 /* 159455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56476 /* 159459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56477 /* 159463 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56478 /* 159466 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56479 /* 159470 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56480 /* 159474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56481 /* 159476 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56482 /* 159483 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56483 /* 159483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
56484 /* 159486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56485 /* 159488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56486 /* 159490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56487 /* 159494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56488 /* 159499 */ GIR_RootConstrainSelectedInstOperands,
56489 /* 159500 */ // GIR_Coverage, 2228,
56490 /* 159500 */ GIR_EraseRootFromParent_Done,
56491 /* 159501 */ // Label 3511: @159501
56492 /* 159501 */ GIM_Try, /*On fail goto*//*Label 3512*/ GIMT_Encode4(159563), // Rule ID 6558 //
56493 /* 159506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56494 /* 159509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56495 /* 159513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56496 /* 159517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56497 /* 159521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56498 /* 159525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56499 /* 159528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56500 /* 159532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56501 /* 159536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56502 /* 159538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56503 /* 159545 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56504 /* 159545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
56505 /* 159548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56506 /* 159550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56507 /* 159552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56508 /* 159556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56509 /* 159561 */ GIR_RootConstrainSelectedInstOperands,
56510 /* 159562 */ // GIR_Coverage, 6558,
56511 /* 159562 */ GIR_EraseRootFromParent_Done,
56512 /* 159563 */ // Label 3512: @159563
56513 /* 159563 */ GIM_Try, /*On fail goto*//*Label 3513*/ GIMT_Encode4(159594), // Rule ID 2226 //
56514 /* 159568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56515 /* 159571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56516 /* 159575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56517 /* 159579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56518 /* 159583 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
56519 /* 159583 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
56520 /* 159588 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56521 /* 159592 */ GIR_RootConstrainSelectedInstOperands,
56522 /* 159593 */ // GIR_Coverage, 2226,
56523 /* 159593 */ GIR_Done,
56524 /* 159594 */ // Label 3513: @159594
56525 /* 159594 */ GIM_Try, /*On fail goto*//*Label 3514*/ GIMT_Encode4(159625), // Rule ID 6554 //
56526 /* 159599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56527 /* 159602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56528 /* 159606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56529 /* 159610 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56530 /* 159614 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
56531 /* 159614 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
56532 /* 159619 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56533 /* 159623 */ GIR_RootConstrainSelectedInstOperands,
56534 /* 159624 */ // GIR_Coverage, 6554,
56535 /* 159624 */ GIR_Done,
56536 /* 159625 */ // Label 3514: @159625
56537 /* 159625 */ GIM_Reject,
56538 /* 159626 */ // Label 3510: @159626
56539 /* 159626 */ GIM_Reject,
56540 /* 159627 */ // Label 3442: @159627
56541 /* 159627 */ GIM_Try, /*On fail goto*//*Label 3515*/ GIMT_Encode4(159724),
56542 /* 159632 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
56543 /* 159635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
56544 /* 159638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56545 /* 159642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56546 /* 159646 */ GIM_Try, /*On fail goto*//*Label 3516*/ GIMT_Encode4(159700), // Rule ID 6582 //
56547 /* 159651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
56548 /* 159654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56549 /* 159658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56550 /* 159662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56551 /* 159665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56552 /* 159669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56553 /* 159673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56554 /* 159675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56555 /* 159682 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
56556 /* 159682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
56557 /* 159685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56558 /* 159687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56559 /* 159689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56560 /* 159693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56561 /* 159698 */ GIR_RootConstrainSelectedInstOperands,
56562 /* 159699 */ // GIR_Coverage, 6582,
56563 /* 159699 */ GIR_EraseRootFromParent_Done,
56564 /* 159700 */ // Label 3516: @159700
56565 /* 159700 */ GIM_Try, /*On fail goto*//*Label 3517*/ GIMT_Encode4(159723), // Rule ID 6578 //
56566 /* 159705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
56567 /* 159708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56568 /* 159712 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
56569 /* 159712 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
56570 /* 159717 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56571 /* 159721 */ GIR_RootConstrainSelectedInstOperands,
56572 /* 159722 */ // GIR_Coverage, 6578,
56573 /* 159722 */ GIR_Done,
56574 /* 159723 */ // Label 3517: @159723
56575 /* 159723 */ GIM_Reject,
56576 /* 159724 */ // Label 3515: @159724
56577 /* 159724 */ GIM_Reject,
56578 /* 159725 */ // Label 3443: @159725
56579 /* 159725 */ GIM_Try, /*On fail goto*//*Label 3518*/ GIMT_Encode4(159923),
56580 /* 159730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
56581 /* 159733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
56582 /* 159736 */ GIM_Try, /*On fail goto*//*Label 3519*/ GIMT_Encode4(159798), // Rule ID 2224 //
56583 /* 159741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56584 /* 159744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56585 /* 159748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56586 /* 159752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56587 /* 159756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56588 /* 159760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56589 /* 159763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56590 /* 159767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56591 /* 159771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56592 /* 159773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56593 /* 159780 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56594 /* 159780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
56595 /* 159783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56596 /* 159785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56597 /* 159787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56598 /* 159791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56599 /* 159796 */ GIR_RootConstrainSelectedInstOperands,
56600 /* 159797 */ // GIR_Coverage, 2224,
56601 /* 159797 */ GIR_EraseRootFromParent_Done,
56602 /* 159798 */ // Label 3519: @159798
56603 /* 159798 */ GIM_Try, /*On fail goto*//*Label 3520*/ GIMT_Encode4(159860), // Rule ID 6534 //
56604 /* 159803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56605 /* 159806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56606 /* 159810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56607 /* 159814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56608 /* 159818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56609 /* 159822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56610 /* 159825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56611 /* 159829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56612 /* 159833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56613 /* 159835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56614 /* 159842 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56615 /* 159842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
56616 /* 159845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56617 /* 159847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56618 /* 159849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56619 /* 159853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56620 /* 159858 */ GIR_RootConstrainSelectedInstOperands,
56621 /* 159859 */ // GIR_Coverage, 6534,
56622 /* 159859 */ GIR_EraseRootFromParent_Done,
56623 /* 159860 */ // Label 3520: @159860
56624 /* 159860 */ GIM_Try, /*On fail goto*//*Label 3521*/ GIMT_Encode4(159891), // Rule ID 2222 //
56625 /* 159865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
56626 /* 159868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56627 /* 159872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56628 /* 159876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
56629 /* 159880 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
56630 /* 159880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
56631 /* 159885 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56632 /* 159889 */ GIR_RootConstrainSelectedInstOperands,
56633 /* 159890 */ // GIR_Coverage, 2222,
56634 /* 159890 */ GIR_Done,
56635 /* 159891 */ // Label 3521: @159891
56636 /* 159891 */ GIM_Try, /*On fail goto*//*Label 3522*/ GIMT_Encode4(159922), // Rule ID 6530 //
56637 /* 159896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
56638 /* 159899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56639 /* 159903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56640 /* 159907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56641 /* 159911 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
56642 /* 159911 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
56643 /* 159916 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56644 /* 159920 */ GIR_RootConstrainSelectedInstOperands,
56645 /* 159921 */ // GIR_Coverage, 6530,
56646 /* 159921 */ GIR_Done,
56647 /* 159922 */ // Label 3522: @159922
56648 /* 159922 */ GIM_Reject,
56649 /* 159923 */ // Label 3518: @159923
56650 /* 159923 */ GIM_Reject,
56651 /* 159924 */ // Label 3444: @159924
56652 /* 159924 */ GIM_Try, /*On fail goto*//*Label 3523*/ GIMT_Encode4(160021),
56653 /* 159929 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
56654 /* 159932 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
56655 /* 159935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56656 /* 159939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56657 /* 159943 */ GIM_Try, /*On fail goto*//*Label 3524*/ GIMT_Encode4(159997), // Rule ID 6510 //
56658 /* 159948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56659 /* 159951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56660 /* 159955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56661 /* 159959 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56662 /* 159962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56663 /* 159966 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56664 /* 159970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56665 /* 159972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56666 /* 159979 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56667 /* 159979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
56668 /* 159982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56669 /* 159984 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56670 /* 159986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56671 /* 159990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56672 /* 159995 */ GIR_RootConstrainSelectedInstOperands,
56673 /* 159996 */ // GIR_Coverage, 6510,
56674 /* 159996 */ GIR_EraseRootFromParent_Done,
56675 /* 159997 */ // Label 3524: @159997
56676 /* 159997 */ GIM_Try, /*On fail goto*//*Label 3525*/ GIMT_Encode4(160020), // Rule ID 6506 //
56677 /* 160002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56678 /* 160005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56679 /* 160009 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
56680 /* 160009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
56681 /* 160014 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56682 /* 160018 */ GIR_RootConstrainSelectedInstOperands,
56683 /* 160019 */ // GIR_Coverage, 6506,
56684 /* 160019 */ GIR_Done,
56685 /* 160020 */ // Label 3525: @160020
56686 /* 160020 */ GIM_Reject,
56687 /* 160021 */ // Label 3523: @160021
56688 /* 160021 */ GIM_Reject,
56689 /* 160022 */ // Label 3445: @160022
56690 /* 160022 */ GIM_Try, /*On fail goto*//*Label 3526*/ GIMT_Encode4(160119),
56691 /* 160027 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
56692 /* 160030 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
56693 /* 160033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56694 /* 160037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56695 /* 160041 */ GIM_Try, /*On fail goto*//*Label 3527*/ GIMT_Encode4(160095), // Rule ID 6594 //
56696 /* 160046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
56697 /* 160049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56698 /* 160053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56699 /* 160057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56700 /* 160060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56701 /* 160064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56702 /* 160068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56703 /* 160070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56704 /* 160077 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
56705 /* 160077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
56706 /* 160080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56707 /* 160082 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56708 /* 160084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56709 /* 160088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56710 /* 160093 */ GIR_RootConstrainSelectedInstOperands,
56711 /* 160094 */ // GIR_Coverage, 6594,
56712 /* 160094 */ GIR_EraseRootFromParent_Done,
56713 /* 160095 */ // Label 3527: @160095
56714 /* 160095 */ GIM_Try, /*On fail goto*//*Label 3528*/ GIMT_Encode4(160118), // Rule ID 6590 //
56715 /* 160100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
56716 /* 160103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
56717 /* 160107 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
56718 /* 160107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
56719 /* 160112 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56720 /* 160116 */ GIR_RootConstrainSelectedInstOperands,
56721 /* 160117 */ // GIR_Coverage, 6590,
56722 /* 160117 */ GIR_Done,
56723 /* 160118 */ // Label 3528: @160118
56724 /* 160118 */ GIM_Reject,
56725 /* 160119 */ // Label 3526: @160119
56726 /* 160119 */ GIM_Reject,
56727 /* 160120 */ // Label 3446: @160120
56728 /* 160120 */ GIM_Try, /*On fail goto*//*Label 3529*/ GIMT_Encode4(160217),
56729 /* 160125 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
56730 /* 160128 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
56731 /* 160131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56732 /* 160135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56733 /* 160139 */ GIM_Try, /*On fail goto*//*Label 3530*/ GIMT_Encode4(160193), // Rule ID 6498 //
56734 /* 160144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56735 /* 160147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56736 /* 160151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56737 /* 160155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56738 /* 160158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56739 /* 160162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56740 /* 160166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56741 /* 160168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56742 /* 160175 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56743 /* 160175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
56744 /* 160178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56745 /* 160180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56746 /* 160182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56747 /* 160186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56748 /* 160191 */ GIR_RootConstrainSelectedInstOperands,
56749 /* 160192 */ // GIR_Coverage, 6498,
56750 /* 160192 */ GIR_EraseRootFromParent_Done,
56751 /* 160193 */ // Label 3530: @160193
56752 /* 160193 */ GIM_Try, /*On fail goto*//*Label 3531*/ GIMT_Encode4(160216), // Rule ID 6494 //
56753 /* 160198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56754 /* 160201 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56755 /* 160205 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
56756 /* 160205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
56757 /* 160210 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56758 /* 160214 */ GIR_RootConstrainSelectedInstOperands,
56759 /* 160215 */ // GIR_Coverage, 6494,
56760 /* 160215 */ GIR_Done,
56761 /* 160216 */ // Label 3531: @160216
56762 /* 160216 */ GIM_Reject,
56763 /* 160217 */ // Label 3529: @160217
56764 /* 160217 */ GIM_Reject,
56765 /* 160218 */ // Label 3447: @160218
56766 /* 160218 */ GIM_Try, /*On fail goto*//*Label 3532*/ GIMT_Encode4(160315),
56767 /* 160223 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
56768 /* 160226 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
56769 /* 160229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56770 /* 160233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56771 /* 160237 */ GIM_Try, /*On fail goto*//*Label 3533*/ GIMT_Encode4(160291), // Rule ID 6570 //
56772 /* 160242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
56773 /* 160245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56774 /* 160249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56775 /* 160253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56776 /* 160256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56777 /* 160260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56778 /* 160264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56779 /* 160266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56780 /* 160273 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
56781 /* 160273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
56782 /* 160276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56783 /* 160278 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56784 /* 160280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56785 /* 160284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56786 /* 160289 */ GIR_RootConstrainSelectedInstOperands,
56787 /* 160290 */ // GIR_Coverage, 6570,
56788 /* 160290 */ GIR_EraseRootFromParent_Done,
56789 /* 160291 */ // Label 3533: @160291
56790 /* 160291 */ GIM_Try, /*On fail goto*//*Label 3534*/ GIMT_Encode4(160314), // Rule ID 6566 //
56791 /* 160296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
56792 /* 160299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
56793 /* 160303 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
56794 /* 160303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
56795 /* 160308 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56796 /* 160312 */ GIR_RootConstrainSelectedInstOperands,
56797 /* 160313 */ // GIR_Coverage, 6566,
56798 /* 160313 */ GIR_Done,
56799 /* 160314 */ // Label 3534: @160314
56800 /* 160314 */ GIM_Reject,
56801 /* 160315 */ // Label 3532: @160315
56802 /* 160315 */ GIM_Reject,
56803 /* 160316 */ // Label 3448: @160316
56804 /* 160316 */ GIM_Reject,
56805 /* 160317 */ // Label 44: @160317
56806 /* 160317 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3548*/ GIMT_Encode4(166230),
56807 /* 160328 */ /*GILLT_s16*//*Label 3535*/ GIMT_Encode4(160412),
56808 /* 160332 */ /*GILLT_s32*//*Label 3536*/ GIMT_Encode4(160572),
56809 /* 160336 */ /*GILLT_s64*//*Label 3537*/ GIMT_Encode4(161969),
56810 /* 160340 */ /*GILLT_s80*//*Label 3538*/ GIMT_Encode4(163510), GIMT_Encode4(0), GIMT_Encode4(0),
56811 /* 160352 */ /*GILLT_v2s64*//*Label 3539*/ GIMT_Encode4(164076), GIMT_Encode4(0),
56812 /* 160360 */ /*GILLT_v4s32*//*Label 3540*/ GIMT_Encode4(164430),
56813 /* 160364 */ /*GILLT_v4s64*//*Label 3541*/ GIMT_Encode4(164784), GIMT_Encode4(0),
56814 /* 160372 */ /*GILLT_v8s16*//*Label 3542*/ GIMT_Encode4(165107),
56815 /* 160376 */ /*GILLT_v8s32*//*Label 3543*/ GIMT_Encode4(165267),
56816 /* 160380 */ /*GILLT_v8s64*//*Label 3544*/ GIMT_Encode4(165590), GIMT_Encode4(0), GIMT_Encode4(0),
56817 /* 160392 */ /*GILLT_v16s16*//*Label 3545*/ GIMT_Encode4(165750),
56818 /* 160396 */ /*GILLT_v16s32*//*Label 3546*/ GIMT_Encode4(165910), GIMT_Encode4(0), GIMT_Encode4(0),
56819 /* 160408 */ /*GILLT_v32s16*//*Label 3547*/ GIMT_Encode4(166070),
56820 /* 160412 */ // Label 3535: @160412
56821 /* 160412 */ GIM_Try, /*On fail goto*//*Label 3549*/ GIMT_Encode4(160571),
56822 /* 160417 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
56823 /* 160420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
56824 /* 160423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56825 /* 160427 */ GIM_Try, /*On fail goto*//*Label 3550*/ GIMT_Encode4(160485), // Rule ID 24289 //
56826 /* 160432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
56827 /* 160435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56828 /* 160439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56829 /* 160443 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56830 /* 160446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56831 /* 160450 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56832 /* 160454 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56833 /* 160458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56834 /* 160460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56835 /* 160467 */ // (fmul:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
56836 /* 160467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
56837 /* 160470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56838 /* 160472 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56839 /* 160474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56840 /* 160478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56841 /* 160483 */ GIR_RootConstrainSelectedInstOperands,
56842 /* 160484 */ // GIR_Coverage, 24289,
56843 /* 160484 */ GIR_EraseRootFromParent_Done,
56844 /* 160485 */ // Label 3550: @160485
56845 /* 160485 */ GIM_Try, /*On fail goto*//*Label 3551*/ GIMT_Encode4(160543), // Rule ID 6015 //
56846 /* 160490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
56847 /* 160493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56848 /* 160497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56849 /* 160501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56850 /* 160505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56851 /* 160508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56852 /* 160512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56853 /* 160516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56854 /* 160518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56855 /* 160525 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
56856 /* 160525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
56857 /* 160528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56858 /* 160530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56859 /* 160532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56860 /* 160536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56861 /* 160541 */ GIR_RootConstrainSelectedInstOperands,
56862 /* 160542 */ // GIR_Coverage, 6015,
56863 /* 160542 */ GIR_EraseRootFromParent_Done,
56864 /* 160543 */ // Label 3551: @160543
56865 /* 160543 */ GIM_Try, /*On fail goto*//*Label 3552*/ GIMT_Encode4(160570), // Rule ID 6013 //
56866 /* 160548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
56867 /* 160551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56868 /* 160555 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
56869 /* 160559 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
56870 /* 160559 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
56871 /* 160564 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56872 /* 160568 */ GIR_RootConstrainSelectedInstOperands,
56873 /* 160569 */ // GIR_Coverage, 6013,
56874 /* 160569 */ GIR_Done,
56875 /* 160570 */ // Label 3552: @160570
56876 /* 160570 */ GIM_Reject,
56877 /* 160571 */ // Label 3549: @160571
56878 /* 160571 */ GIM_Reject,
56879 /* 160572 */ // Label 3536: @160572
56880 /* 160572 */ GIM_Try, /*On fail goto*//*Label 3553*/ GIMT_Encode4(161968),
56881 /* 160577 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
56882 /* 160580 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
56883 /* 160583 */ GIM_Try, /*On fail goto*//*Label 3554*/ GIMT_Encode4(160665), // Rule ID 26057 //
56884 /* 160588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56885 /* 160591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56886 /* 160595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56887 /* 160599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56888 /* 160603 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56889 /* 160607 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56890 /* 160611 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56891 /* 160615 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56892 /* 160618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56893 /* 160622 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56894 /* 160629 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56895 /* 160633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56896 /* 160637 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56897 /* 160639 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56898 /* 160646 */ // (fmul:{ *:[f32] } (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56899 /* 160646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56900 /* 160649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56901 /* 160651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56902 /* 160653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56903 /* 160657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56904 /* 160663 */ GIR_RootConstrainSelectedInstOperands,
56905 /* 160664 */ // GIR_Coverage, 26057,
56906 /* 160664 */ GIR_EraseRootFromParent_Done,
56907 /* 160665 */ // Label 3554: @160665
56908 /* 160665 */ GIM_Try, /*On fail goto*//*Label 3555*/ GIMT_Encode4(160747), // Rule ID 26058 //
56909 /* 160670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56910 /* 160673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56911 /* 160677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56912 /* 160681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56913 /* 160685 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56914 /* 160689 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56915 /* 160693 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56916 /* 160697 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56917 /* 160700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56918 /* 160704 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56919 /* 160711 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56920 /* 160715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56921 /* 160719 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56922 /* 160721 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56923 /* 160728 */ // (fmul:{ *:[f32] } (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56924 /* 160728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
56925 /* 160731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56926 /* 160733 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56927 /* 160735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56928 /* 160739 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56929 /* 160745 */ GIR_RootConstrainSelectedInstOperands,
56930 /* 160746 */ // GIR_Coverage, 26058,
56931 /* 160746 */ GIR_EraseRootFromParent_Done,
56932 /* 160747 */ // Label 3555: @160747
56933 /* 160747 */ GIM_Try, /*On fail goto*//*Label 3556*/ GIMT_Encode4(160829), // Rule ID 26059 //
56934 /* 160752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56935 /* 160755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56936 /* 160759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56937 /* 160763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56938 /* 160767 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56939 /* 160771 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56940 /* 160775 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56941 /* 160779 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56942 /* 160782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56943 /* 160786 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56944 /* 160793 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56945 /* 160797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56946 /* 160801 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56947 /* 160803 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56948 /* 160810 */ // (fmul:{ *:[f32] } (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>), FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56949 /* 160810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
56950 /* 160813 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56951 /* 160815 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56952 /* 160817 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56953 /* 160821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56954 /* 160827 */ GIR_RootConstrainSelectedInstOperands,
56955 /* 160828 */ // GIR_Coverage, 26059,
56956 /* 160828 */ GIR_EraseRootFromParent_Done,
56957 /* 160829 */ // Label 3556: @160829
56958 /* 160829 */ GIM_Try, /*On fail goto*//*Label 3557*/ GIMT_Encode4(160911), // Rule ID 22493 //
56959 /* 160834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56960 /* 160837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56961 /* 160841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56962 /* 160845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56963 /* 160849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56964 /* 160853 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56965 /* 160857 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56966 /* 160861 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56967 /* 160865 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56968 /* 160868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56969 /* 160872 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56970 /* 160879 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56971 /* 160883 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56972 /* 160885 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56973 /* 160892 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56974 /* 160892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56975 /* 160895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56976 /* 160897 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56977 /* 160899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56978 /* 160903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56979 /* 160909 */ GIR_RootConstrainSelectedInstOperands,
56980 /* 160910 */ // GIR_Coverage, 22493,
56981 /* 160910 */ GIR_EraseRootFromParent_Done,
56982 /* 160911 */ // Label 3557: @160911
56983 /* 160911 */ GIM_Try, /*On fail goto*//*Label 3558*/ GIMT_Encode4(160993), // Rule ID 22494 //
56984 /* 160916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56985 /* 160919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56986 /* 160923 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56987 /* 160927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56988 /* 160931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56989 /* 160935 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
56990 /* 160939 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56991 /* 160943 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56992 /* 160947 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56993 /* 160950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56994 /* 160954 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56995 /* 160961 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56996 /* 160965 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56997 /* 160967 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56998 /* 160974 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56999 /* 160974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
57000 /* 160977 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57001 /* 160979 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57002 /* 160981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57003 /* 160985 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57004 /* 160991 */ GIR_RootConstrainSelectedInstOperands,
57005 /* 160992 */ // GIR_Coverage, 22494,
57006 /* 160992 */ GIR_EraseRootFromParent_Done,
57007 /* 160993 */ // Label 3558: @160993
57008 /* 160993 */ GIM_Try, /*On fail goto*//*Label 3559*/ GIMT_Encode4(161075), // Rule ID 22495 //
57009 /* 160998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57010 /* 161001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57011 /* 161005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57012 /* 161009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57013 /* 161013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
57014 /* 161017 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
57015 /* 161021 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
57016 /* 161025 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
57017 /* 161029 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
57018 /* 161032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
57019 /* 161036 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57020 /* 161043 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
57021 /* 161047 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
57022 /* 161049 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57023 /* 161056 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57024 /* 161056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
57025 /* 161059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57026 /* 161061 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57027 /* 161063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57028 /* 161067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57029 /* 161073 */ GIR_RootConstrainSelectedInstOperands,
57030 /* 161074 */ // GIR_Coverage, 22495,
57031 /* 161074 */ GIR_EraseRootFromParent_Done,
57032 /* 161075 */ // Label 3559: @161075
57033 /* 161075 */ GIM_Try, /*On fail goto*//*Label 3560*/ GIMT_Encode4(161140), // Rule ID 23302 //
57034 /* 161080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
57035 /* 161083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57036 /* 161087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57037 /* 161091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57038 /* 161095 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
57039 /* 161102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57040 /* 161106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57041 /* 161110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57042 /* 161112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57043 /* 161119 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57044 /* 161119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
57045 /* 161122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57046 /* 161124 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57047 /* 161126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57048 /* 161130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57049 /* 161133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57050 /* 161138 */ GIR_RootConstrainSelectedInstOperands,
57051 /* 161139 */ // GIR_Coverage, 23302,
57052 /* 161139 */ GIR_EraseRootFromParent_Done,
57053 /* 161140 */ // Label 3560: @161140
57054 /* 161140 */ GIM_Try, /*On fail goto*//*Label 3561*/ GIMT_Encode4(161205), // Rule ID 23304 //
57055 /* 161145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
57056 /* 161148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57057 /* 161152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57058 /* 161156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57059 /* 161160 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57060 /* 161167 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57061 /* 161171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57062 /* 161175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57063 /* 161177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57064 /* 161184 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57065 /* 161184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
57066 /* 161187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57067 /* 161189 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57068 /* 161191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57069 /* 161195 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57070 /* 161198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57071 /* 161203 */ GIR_RootConstrainSelectedInstOperands,
57072 /* 161204 */ // GIR_Coverage, 23304,
57073 /* 161204 */ GIR_EraseRootFromParent_Done,
57074 /* 161205 */ // Label 3561: @161205
57075 /* 161205 */ GIM_Try, /*On fail goto*//*Label 3562*/ GIMT_Encode4(161270), // Rule ID 23292 //
57076 /* 161210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
57077 /* 161213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57078 /* 161217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57079 /* 161221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57080 /* 161225 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57081 /* 161228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57082 /* 161232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57083 /* 161236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57084 /* 161240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57085 /* 161242 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57086 /* 161249 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (MUL_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57087 /* 161249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
57088 /* 161252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57089 /* 161254 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57090 /* 161256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57091 /* 161260 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57092 /* 161263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57093 /* 161268 */ GIR_RootConstrainSelectedInstOperands,
57094 /* 161269 */ // GIR_Coverage, 23292,
57095 /* 161269 */ GIR_EraseRootFromParent_Done,
57096 /* 161270 */ // Label 3562: @161270
57097 /* 161270 */ GIM_Try, /*On fail goto*//*Label 3563*/ GIMT_Encode4(161332), // Rule ID 23435 //
57098 /* 161275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57099 /* 161278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57100 /* 161282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57101 /* 161286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57102 /* 161290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57103 /* 161293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57104 /* 161297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57105 /* 161301 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57106 /* 161305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57107 /* 161307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57108 /* 161314 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57109 /* 161314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
57110 /* 161317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57111 /* 161319 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57112 /* 161321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57113 /* 161325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57114 /* 161330 */ GIR_RootConstrainSelectedInstOperands,
57115 /* 161331 */ // GIR_Coverage, 23435,
57116 /* 161331 */ GIR_EraseRootFromParent_Done,
57117 /* 161332 */ // Label 3563: @161332
57118 /* 161332 */ GIM_Try, /*On fail goto*//*Label 3564*/ GIMT_Encode4(161394), // Rule ID 23439 //
57119 /* 161337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
57120 /* 161340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57121 /* 161344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57122 /* 161348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57123 /* 161352 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57124 /* 161355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57125 /* 161359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57126 /* 161363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57127 /* 161367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57128 /* 161369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57129 /* 161376 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57130 /* 161376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
57131 /* 161379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57132 /* 161381 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57133 /* 161383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57134 /* 161387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57135 /* 161392 */ GIR_RootConstrainSelectedInstOperands,
57136 /* 161393 */ // GIR_Coverage, 23439,
57137 /* 161393 */ GIR_EraseRootFromParent_Done,
57138 /* 161394 */ // Label 3564: @161394
57139 /* 161394 */ GIM_Try, /*On fail goto*//*Label 3565*/ GIMT_Encode4(161456), // Rule ID 24285 //
57140 /* 161399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57141 /* 161402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57142 /* 161406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57143 /* 161410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57144 /* 161414 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57145 /* 161417 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57146 /* 161421 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57147 /* 161425 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57148 /* 161429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57149 /* 161431 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57150 /* 161438 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57151 /* 161438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
57152 /* 161441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57153 /* 161443 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57154 /* 161445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57155 /* 161449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57156 /* 161454 */ GIR_RootConstrainSelectedInstOperands,
57157 /* 161455 */ // GIR_Coverage, 24285,
57158 /* 161455 */ GIR_EraseRootFromParent_Done,
57159 /* 161456 */ // Label 3565: @161456
57160 /* 161456 */ GIM_Try, /*On fail goto*//*Label 3566*/ GIMT_Encode4(161521), // Rule ID 986 //
57161 /* 161461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
57162 /* 161464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57163 /* 161468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57164 /* 161472 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57165 /* 161476 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57166 /* 161480 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
57167 /* 161487 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57168 /* 161491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57169 /* 161493 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57170 /* 161500 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57171 /* 161500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
57172 /* 161503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57173 /* 161505 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57174 /* 161507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57175 /* 161511 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57176 /* 161514 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57177 /* 161519 */ GIR_RootConstrainSelectedInstOperands,
57178 /* 161520 */ // GIR_Coverage, 986,
57179 /* 161520 */ GIR_EraseRootFromParent_Done,
57180 /* 161521 */ // Label 3566: @161521
57181 /* 161521 */ GIM_Try, /*On fail goto*//*Label 3567*/ GIMT_Encode4(161586), // Rule ID 988 //
57182 /* 161526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
57183 /* 161529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57184 /* 161533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57185 /* 161537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57186 /* 161541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57187 /* 161545 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57188 /* 161552 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57189 /* 161556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57190 /* 161558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57191 /* 161565 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57192 /* 161565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
57193 /* 161568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57194 /* 161570 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57195 /* 161572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57196 /* 161576 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57197 /* 161579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57198 /* 161584 */ GIR_RootConstrainSelectedInstOperands,
57199 /* 161585 */ // GIR_Coverage, 988,
57200 /* 161585 */ GIR_EraseRootFromParent_Done,
57201 /* 161586 */ // Label 3567: @161586
57202 /* 161586 */ GIM_Try, /*On fail goto*//*Label 3568*/ GIMT_Encode4(161651), // Rule ID 976 //
57203 /* 161591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
57204 /* 161594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57205 /* 161598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57206 /* 161602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57207 /* 161606 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57208 /* 161610 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57209 /* 161613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57210 /* 161617 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57211 /* 161621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57212 /* 161623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57213 /* 161630 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MUL_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57214 /* 161630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
57215 /* 161633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57216 /* 161635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57217 /* 161637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57218 /* 161641 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57219 /* 161644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57220 /* 161649 */ GIR_RootConstrainSelectedInstOperands,
57221 /* 161650 */ // GIR_Coverage, 976,
57222 /* 161650 */ GIR_EraseRootFromParent_Done,
57223 /* 161651 */ // Label 3568: @161651
57224 /* 161651 */ GIM_Try, /*On fail goto*//*Label 3569*/ GIMT_Encode4(161713), // Rule ID 2200 //
57225 /* 161656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57226 /* 161659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57227 /* 161663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57228 /* 161667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57229 /* 161671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57230 /* 161675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57231 /* 161678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57232 /* 161682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57233 /* 161686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57234 /* 161688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57235 /* 161695 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57236 /* 161695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
57237 /* 161698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57238 /* 161700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57239 /* 161702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57240 /* 161706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57241 /* 161711 */ GIR_RootConstrainSelectedInstOperands,
57242 /* 161712 */ // GIR_Coverage, 2200,
57243 /* 161712 */ GIR_EraseRootFromParent_Done,
57244 /* 161713 */ // Label 3569: @161713
57245 /* 161713 */ GIM_Try, /*On fail goto*//*Label 3570*/ GIMT_Encode4(161775), // Rule ID 2208 //
57246 /* 161718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
57247 /* 161721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57248 /* 161725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57249 /* 161729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57250 /* 161733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57251 /* 161737 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57252 /* 161740 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57253 /* 161744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57254 /* 161748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57255 /* 161750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57256 /* 161757 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57257 /* 161757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
57258 /* 161760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57259 /* 161762 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57260 /* 161764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57261 /* 161768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57262 /* 161773 */ GIR_RootConstrainSelectedInstOperands,
57263 /* 161774 */ // GIR_Coverage, 2208,
57264 /* 161774 */ GIR_EraseRootFromParent_Done,
57265 /* 161775 */ // Label 3570: @161775
57266 /* 161775 */ GIM_Try, /*On fail goto*//*Label 3571*/ GIMT_Encode4(161837), // Rule ID 5977 //
57267 /* 161780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57268 /* 161783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57269 /* 161787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57270 /* 161791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57271 /* 161795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57272 /* 161799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57273 /* 161802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57274 /* 161806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57275 /* 161810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57276 /* 161812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57277 /* 161819 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57278 /* 161819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
57279 /* 161822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57280 /* 161824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57281 /* 161826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57282 /* 161830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57283 /* 161835 */ GIR_RootConstrainSelectedInstOperands,
57284 /* 161836 */ // GIR_Coverage, 5977,
57285 /* 161836 */ GIR_EraseRootFromParent_Done,
57286 /* 161837 */ // Label 3571: @161837
57287 /* 161837 */ GIM_Try, /*On fail goto*//*Label 3572*/ GIMT_Encode4(161874), // Rule ID 898 //
57288 /* 161842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
57289 /* 161845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57290 /* 161849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57291 /* 161853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
57292 /* 161857 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
57293 /* 161857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
57294 /* 161862 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
57295 /* 161868 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
57296 /* 161872 */ GIR_RootConstrainSelectedInstOperands,
57297 /* 161873 */ // GIR_Coverage, 898,
57298 /* 161873 */ GIR_Done,
57299 /* 161874 */ // Label 3572: @161874
57300 /* 161874 */ GIM_Try, /*On fail goto*//*Label 3573*/ GIMT_Encode4(161905), // Rule ID 2198 //
57301 /* 161879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57302 /* 161882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57303 /* 161886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57304 /* 161890 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57305 /* 161894 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
57306 /* 161894 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
57307 /* 161899 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57308 /* 161903 */ GIR_RootConstrainSelectedInstOperands,
57309 /* 161904 */ // GIR_Coverage, 2198,
57310 /* 161904 */ GIR_Done,
57311 /* 161905 */ // Label 3573: @161905
57312 /* 161905 */ GIM_Try, /*On fail goto*//*Label 3574*/ GIMT_Encode4(161936), // Rule ID 2206 //
57313 /* 161910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
57314 /* 161913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57315 /* 161917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57316 /* 161921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57317 /* 161925 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
57318 /* 161925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
57319 /* 161930 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57320 /* 161934 */ GIR_RootConstrainSelectedInstOperands,
57321 /* 161935 */ // GIR_Coverage, 2206,
57322 /* 161935 */ GIR_Done,
57323 /* 161936 */ // Label 3574: @161936
57324 /* 161936 */ GIM_Try, /*On fail goto*//*Label 3575*/ GIMT_Encode4(161967), // Rule ID 5975 //
57325 /* 161941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57326 /* 161944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57327 /* 161948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57328 /* 161952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57329 /* 161956 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
57330 /* 161956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
57331 /* 161961 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57332 /* 161965 */ GIR_RootConstrainSelectedInstOperands,
57333 /* 161966 */ // GIR_Coverage, 5975,
57334 /* 161966 */ GIR_Done,
57335 /* 161967 */ // Label 3575: @161967
57336 /* 161967 */ GIM_Reject,
57337 /* 161968 */ // Label 3553: @161968
57338 /* 161968 */ GIM_Reject,
57339 /* 161969 */ // Label 3537: @161969
57340 /* 161969 */ GIM_Try, /*On fail goto*//*Label 3576*/ GIMT_Encode4(163509),
57341 /* 161974 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
57342 /* 161977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
57343 /* 161980 */ GIM_Try, /*On fail goto*//*Label 3577*/ GIMT_Encode4(162062), // Rule ID 26060 //
57344 /* 161985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
57345 /* 161988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57346 /* 161992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57347 /* 161996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
57348 /* 162000 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
57349 /* 162004 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
57350 /* 162008 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
57351 /* 162012 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
57352 /* 162015 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
57353 /* 162019 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57354 /* 162026 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
57355 /* 162030 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57356 /* 162034 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
57357 /* 162036 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57358 /* 162043 */ // (fmul:{ *:[f64] } (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57359 /* 162043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
57360 /* 162046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57361 /* 162048 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57362 /* 162050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57363 /* 162054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57364 /* 162060 */ GIR_RootConstrainSelectedInstOperands,
57365 /* 162061 */ // GIR_Coverage, 26060,
57366 /* 162061 */ GIR_EraseRootFromParent_Done,
57367 /* 162062 */ // Label 3577: @162062
57368 /* 162062 */ GIM_Try, /*On fail goto*//*Label 3578*/ GIMT_Encode4(162144), // Rule ID 26061 //
57369 /* 162067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57370 /* 162070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57371 /* 162074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57372 /* 162078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
57373 /* 162082 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
57374 /* 162086 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
57375 /* 162090 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
57376 /* 162094 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
57377 /* 162097 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
57378 /* 162101 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57379 /* 162108 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
57380 /* 162112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57381 /* 162116 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
57382 /* 162118 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57383 /* 162125 */ // (fmul:{ *:[f64] } (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57384 /* 162125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
57385 /* 162128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57386 /* 162130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57387 /* 162132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57388 /* 162136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57389 /* 162142 */ GIR_RootConstrainSelectedInstOperands,
57390 /* 162143 */ // GIR_Coverage, 26061,
57391 /* 162143 */ GIR_EraseRootFromParent_Done,
57392 /* 162144 */ // Label 3578: @162144
57393 /* 162144 */ GIM_Try, /*On fail goto*//*Label 3579*/ GIMT_Encode4(162226), // Rule ID 26062 //
57394 /* 162149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57395 /* 162152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57396 /* 162156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57397 /* 162160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
57398 /* 162164 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
57399 /* 162168 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
57400 /* 162172 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
57401 /* 162176 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
57402 /* 162179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
57403 /* 162183 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57404 /* 162190 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
57405 /* 162194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57406 /* 162198 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
57407 /* 162200 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57408 /* 162207 */ // (fmul:{ *:[f64] } (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>), FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57409 /* 162207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
57410 /* 162210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57411 /* 162212 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57412 /* 162214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57413 /* 162218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57414 /* 162224 */ GIR_RootConstrainSelectedInstOperands,
57415 /* 162225 */ // GIR_Coverage, 26062,
57416 /* 162225 */ GIR_EraseRootFromParent_Done,
57417 /* 162226 */ // Label 3579: @162226
57418 /* 162226 */ GIM_Try, /*On fail goto*//*Label 3580*/ GIMT_Encode4(162308), // Rule ID 22496 //
57419 /* 162231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
57420 /* 162234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57421 /* 162238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57422 /* 162242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57423 /* 162246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
57424 /* 162250 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
57425 /* 162254 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
57426 /* 162258 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
57427 /* 162262 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
57428 /* 162265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
57429 /* 162269 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57430 /* 162276 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
57431 /* 162280 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
57432 /* 162282 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57433 /* 162289 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57434 /* 162289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
57435 /* 162292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57436 /* 162294 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57437 /* 162296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57438 /* 162300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57439 /* 162306 */ GIR_RootConstrainSelectedInstOperands,
57440 /* 162307 */ // GIR_Coverage, 22496,
57441 /* 162307 */ GIR_EraseRootFromParent_Done,
57442 /* 162308 */ // Label 3580: @162308
57443 /* 162308 */ GIM_Try, /*On fail goto*//*Label 3581*/ GIMT_Encode4(162390), // Rule ID 22497 //
57444 /* 162313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57445 /* 162316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57446 /* 162320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57447 /* 162324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57448 /* 162328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
57449 /* 162332 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
57450 /* 162336 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
57451 /* 162340 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
57452 /* 162344 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
57453 /* 162347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
57454 /* 162351 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57455 /* 162358 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
57456 /* 162362 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
57457 /* 162364 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57458 /* 162371 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57459 /* 162371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
57460 /* 162374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57461 /* 162376 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57462 /* 162378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57463 /* 162382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57464 /* 162388 */ GIR_RootConstrainSelectedInstOperands,
57465 /* 162389 */ // GIR_Coverage, 22497,
57466 /* 162389 */ GIR_EraseRootFromParent_Done,
57467 /* 162390 */ // Label 3581: @162390
57468 /* 162390 */ GIM_Try, /*On fail goto*//*Label 3582*/ GIMT_Encode4(162472), // Rule ID 22498 //
57469 /* 162395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57470 /* 162398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57471 /* 162402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57472 /* 162406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57473 /* 162410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
57474 /* 162414 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
57475 /* 162418 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
57476 /* 162422 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
57477 /* 162426 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
57478 /* 162429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
57479 /* 162433 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57480 /* 162440 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
57481 /* 162444 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
57482 /* 162446 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57483 /* 162453 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57484 /* 162453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
57485 /* 162456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57486 /* 162458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57487 /* 162460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57488 /* 162464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
57489 /* 162470 */ GIR_RootConstrainSelectedInstOperands,
57490 /* 162471 */ // GIR_Coverage, 22498,
57491 /* 162471 */ GIR_EraseRootFromParent_Done,
57492 /* 162472 */ // Label 3582: @162472
57493 /* 162472 */ GIM_Try, /*On fail goto*//*Label 3583*/ GIMT_Encode4(162537), // Rule ID 23306 //
57494 /* 162477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57495 /* 162480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57496 /* 162484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57497 /* 162488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57498 /* 162492 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
57499 /* 162499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57500 /* 162503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57501 /* 162507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57502 /* 162509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57503 /* 162516 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57504 /* 162516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
57505 /* 162519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57506 /* 162521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57507 /* 162523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57508 /* 162527 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57509 /* 162530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57510 /* 162535 */ GIR_RootConstrainSelectedInstOperands,
57511 /* 162536 */ // GIR_Coverage, 23306,
57512 /* 162536 */ GIR_EraseRootFromParent_Done,
57513 /* 162537 */ // Label 3583: @162537
57514 /* 162537 */ GIM_Try, /*On fail goto*//*Label 3584*/ GIMT_Encode4(162602), // Rule ID 23308 //
57515 /* 162542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57516 /* 162545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57517 /* 162549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57518 /* 162553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57519 /* 162557 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57520 /* 162564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57521 /* 162568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57522 /* 162572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57523 /* 162574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57524 /* 162581 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57525 /* 162581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
57526 /* 162584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57527 /* 162586 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57528 /* 162588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57529 /* 162592 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57530 /* 162595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57531 /* 162600 */ GIR_RootConstrainSelectedInstOperands,
57532 /* 162601 */ // GIR_Coverage, 23308,
57533 /* 162601 */ GIR_EraseRootFromParent_Done,
57534 /* 162602 */ // Label 3584: @162602
57535 /* 162602 */ GIM_Try, /*On fail goto*//*Label 3585*/ GIMT_Encode4(162667), // Rule ID 23294 //
57536 /* 162607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57537 /* 162610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57538 /* 162614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57539 /* 162618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57540 /* 162622 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57541 /* 162625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57542 /* 162629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57543 /* 162633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57544 /* 162637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57545 /* 162639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57546 /* 162646 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (MUL_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57547 /* 162646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
57548 /* 162649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57549 /* 162651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57550 /* 162653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57551 /* 162657 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57552 /* 162660 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57553 /* 162665 */ GIR_RootConstrainSelectedInstOperands,
57554 /* 162666 */ // GIR_Coverage, 23294,
57555 /* 162666 */ GIR_EraseRootFromParent_Done,
57556 /* 162667 */ // Label 3585: @162667
57557 /* 162667 */ GIM_Try, /*On fail goto*//*Label 3586*/ GIMT_Encode4(162739), // Rule ID 23296 //
57558 /* 162672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57559 /* 162675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57560 /* 162679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57561 /* 162683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57562 /* 162687 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57563 /* 162690 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57564 /* 162694 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57565 /* 162701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57566 /* 162705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57567 /* 162709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57568 /* 162711 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57569 /* 162718 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (MUL_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57570 /* 162718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
57571 /* 162721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57572 /* 162723 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57573 /* 162725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57574 /* 162729 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57575 /* 162732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57576 /* 162737 */ GIR_RootConstrainSelectedInstOperands,
57577 /* 162738 */ // GIR_Coverage, 23296,
57578 /* 162738 */ GIR_EraseRootFromParent_Done,
57579 /* 162739 */ // Label 3586: @162739
57580 /* 162739 */ GIM_Try, /*On fail goto*//*Label 3587*/ GIMT_Encode4(162801), // Rule ID 23437 //
57581 /* 162744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57582 /* 162747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57583 /* 162751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57584 /* 162755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57585 /* 162759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57586 /* 162762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57587 /* 162766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57588 /* 162770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57589 /* 162774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57590 /* 162776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57591 /* 162783 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57592 /* 162783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
57593 /* 162786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57594 /* 162788 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57595 /* 162790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57596 /* 162794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57597 /* 162799 */ GIR_RootConstrainSelectedInstOperands,
57598 /* 162800 */ // GIR_Coverage, 23437,
57599 /* 162800 */ GIR_EraseRootFromParent_Done,
57600 /* 162801 */ // Label 3587: @162801
57601 /* 162801 */ GIM_Try, /*On fail goto*//*Label 3588*/ GIMT_Encode4(162863), // Rule ID 23441 //
57602 /* 162806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
57603 /* 162809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57604 /* 162813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57605 /* 162817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57606 /* 162821 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57607 /* 162824 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57608 /* 162828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57609 /* 162832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57610 /* 162836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57611 /* 162838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57612 /* 162845 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57613 /* 162845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
57614 /* 162848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57615 /* 162850 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57616 /* 162852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57617 /* 162856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57618 /* 162861 */ GIR_RootConstrainSelectedInstOperands,
57619 /* 162862 */ // GIR_Coverage, 23441,
57620 /* 162862 */ GIR_EraseRootFromParent_Done,
57621 /* 162863 */ // Label 3588: @162863
57622 /* 162863 */ GIM_Try, /*On fail goto*//*Label 3589*/ GIMT_Encode4(162925), // Rule ID 24287 //
57623 /* 162868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57624 /* 162871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57625 /* 162875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57626 /* 162879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57627 /* 162883 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57628 /* 162886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57629 /* 162890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57630 /* 162894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57631 /* 162898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57632 /* 162900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57633 /* 162907 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57634 /* 162907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
57635 /* 162910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57636 /* 162912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57637 /* 162914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57638 /* 162918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57639 /* 162923 */ GIR_RootConstrainSelectedInstOperands,
57640 /* 162924 */ // GIR_Coverage, 24287,
57641 /* 162924 */ GIR_EraseRootFromParent_Done,
57642 /* 162925 */ // Label 3589: @162925
57643 /* 162925 */ GIM_Try, /*On fail goto*//*Label 3590*/ GIMT_Encode4(162990), // Rule ID 990 //
57644 /* 162930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57645 /* 162933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57646 /* 162937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57647 /* 162941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57648 /* 162945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57649 /* 162949 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
57650 /* 162956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57651 /* 162960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57652 /* 162962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57653 /* 162969 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57654 /* 162969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
57655 /* 162972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57656 /* 162974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57657 /* 162976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57658 /* 162980 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57659 /* 162983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57660 /* 162988 */ GIR_RootConstrainSelectedInstOperands,
57661 /* 162989 */ // GIR_Coverage, 990,
57662 /* 162989 */ GIR_EraseRootFromParent_Done,
57663 /* 162990 */ // Label 3590: @162990
57664 /* 162990 */ GIM_Try, /*On fail goto*//*Label 3591*/ GIMT_Encode4(163055), // Rule ID 992 //
57665 /* 162995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57666 /* 162998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57667 /* 163002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57668 /* 163006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57669 /* 163010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57670 /* 163014 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57671 /* 163021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57672 /* 163025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57673 /* 163027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57674 /* 163034 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57675 /* 163034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
57676 /* 163037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57677 /* 163039 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57678 /* 163041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57679 /* 163045 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57680 /* 163048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57681 /* 163053 */ GIR_RootConstrainSelectedInstOperands,
57682 /* 163054 */ // GIR_Coverage, 992,
57683 /* 163054 */ GIR_EraseRootFromParent_Done,
57684 /* 163055 */ // Label 3591: @163055
57685 /* 163055 */ GIM_Try, /*On fail goto*//*Label 3592*/ GIMT_Encode4(163120), // Rule ID 978 //
57686 /* 163060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57687 /* 163063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57688 /* 163067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57689 /* 163071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57690 /* 163075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57691 /* 163079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57692 /* 163082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57693 /* 163086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57694 /* 163090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57695 /* 163092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57696 /* 163099 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MUL_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57697 /* 163099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
57698 /* 163102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57699 /* 163104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57700 /* 163106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57701 /* 163110 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57702 /* 163113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57703 /* 163118 */ GIR_RootConstrainSelectedInstOperands,
57704 /* 163119 */ // GIR_Coverage, 978,
57705 /* 163119 */ GIR_EraseRootFromParent_Done,
57706 /* 163120 */ // Label 3592: @163120
57707 /* 163120 */ GIM_Try, /*On fail goto*//*Label 3593*/ GIMT_Encode4(163192), // Rule ID 980 //
57708 /* 163125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57709 /* 163128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57710 /* 163132 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57711 /* 163136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57712 /* 163140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57713 /* 163144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57714 /* 163147 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57715 /* 163151 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57716 /* 163158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57717 /* 163162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57718 /* 163164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57719 /* 163171 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (MUL_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57720 /* 163171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
57721 /* 163174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57722 /* 163176 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57723 /* 163178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57724 /* 163182 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57725 /* 163185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57726 /* 163190 */ GIR_RootConstrainSelectedInstOperands,
57727 /* 163191 */ // GIR_Coverage, 980,
57728 /* 163191 */ GIR_EraseRootFromParent_Done,
57729 /* 163192 */ // Label 3593: @163192
57730 /* 163192 */ GIM_Try, /*On fail goto*//*Label 3594*/ GIMT_Encode4(163254), // Rule ID 2204 //
57731 /* 163197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57732 /* 163200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57733 /* 163204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57734 /* 163208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57735 /* 163212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57736 /* 163216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57737 /* 163219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57738 /* 163223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57739 /* 163227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57740 /* 163229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57741 /* 163236 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57742 /* 163236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
57743 /* 163239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57744 /* 163241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57745 /* 163243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57746 /* 163247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57747 /* 163252 */ GIR_RootConstrainSelectedInstOperands,
57748 /* 163253 */ // GIR_Coverage, 2204,
57749 /* 163253 */ GIR_EraseRootFromParent_Done,
57750 /* 163254 */ // Label 3594: @163254
57751 /* 163254 */ GIM_Try, /*On fail goto*//*Label 3595*/ GIMT_Encode4(163316), // Rule ID 2212 //
57752 /* 163259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
57753 /* 163262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57754 /* 163266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57755 /* 163270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57756 /* 163274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57757 /* 163278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57758 /* 163281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57759 /* 163285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57760 /* 163289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57761 /* 163291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57762 /* 163298 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57763 /* 163298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
57764 /* 163301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57765 /* 163303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57766 /* 163305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57767 /* 163309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57768 /* 163314 */ GIR_RootConstrainSelectedInstOperands,
57769 /* 163315 */ // GIR_Coverage, 2212,
57770 /* 163315 */ GIR_EraseRootFromParent_Done,
57771 /* 163316 */ // Label 3595: @163316
57772 /* 163316 */ GIM_Try, /*On fail goto*//*Label 3596*/ GIMT_Encode4(163378), // Rule ID 5996 //
57773 /* 163321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57774 /* 163324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57775 /* 163328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57776 /* 163332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57777 /* 163336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57778 /* 163340 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57779 /* 163343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57780 /* 163347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57781 /* 163351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57782 /* 163353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57783 /* 163360 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57784 /* 163360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
57785 /* 163363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57786 /* 163365 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57787 /* 163367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57788 /* 163371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57789 /* 163376 */ GIR_RootConstrainSelectedInstOperands,
57790 /* 163377 */ // GIR_Coverage, 5996,
57791 /* 163377 */ GIR_EraseRootFromParent_Done,
57792 /* 163378 */ // Label 3596: @163378
57793 /* 163378 */ GIM_Try, /*On fail goto*//*Label 3597*/ GIMT_Encode4(163415), // Rule ID 900 //
57794 /* 163383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
57795 /* 163386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57796 /* 163390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57797 /* 163394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
57798 /* 163398 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
57799 /* 163398 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
57800 /* 163403 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
57801 /* 163409 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
57802 /* 163413 */ GIR_RootConstrainSelectedInstOperands,
57803 /* 163414 */ // GIR_Coverage, 900,
57804 /* 163414 */ GIR_Done,
57805 /* 163415 */ // Label 3597: @163415
57806 /* 163415 */ GIM_Try, /*On fail goto*//*Label 3598*/ GIMT_Encode4(163446), // Rule ID 2202 //
57807 /* 163420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
57808 /* 163423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57809 /* 163427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57810 /* 163431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57811 /* 163435 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
57812 /* 163435 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
57813 /* 163440 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57814 /* 163444 */ GIR_RootConstrainSelectedInstOperands,
57815 /* 163445 */ // GIR_Coverage, 2202,
57816 /* 163445 */ GIR_Done,
57817 /* 163446 */ // Label 3598: @163446
57818 /* 163446 */ GIM_Try, /*On fail goto*//*Label 3599*/ GIMT_Encode4(163477), // Rule ID 2210 //
57819 /* 163451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
57820 /* 163454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57821 /* 163458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57822 /* 163462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
57823 /* 163466 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
57824 /* 163466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
57825 /* 163471 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57826 /* 163475 */ GIR_RootConstrainSelectedInstOperands,
57827 /* 163476 */ // GIR_Coverage, 2210,
57828 /* 163476 */ GIR_Done,
57829 /* 163477 */ // Label 3599: @163477
57830 /* 163477 */ GIM_Try, /*On fail goto*//*Label 3600*/ GIMT_Encode4(163508), // Rule ID 5994 //
57831 /* 163482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57832 /* 163485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57833 /* 163489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57834 /* 163493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
57835 /* 163497 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
57836 /* 163497 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
57837 /* 163502 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57838 /* 163506 */ GIR_RootConstrainSelectedInstOperands,
57839 /* 163507 */ // GIR_Coverage, 5994,
57840 /* 163507 */ GIR_Done,
57841 /* 163508 */ // Label 3600: @163508
57842 /* 163508 */ GIM_Reject,
57843 /* 163509 */ // Label 3576: @163509
57844 /* 163509 */ GIM_Reject,
57845 /* 163510 */ // Label 3538: @163510
57846 /* 163510 */ GIM_Try, /*On fail goto*//*Label 3601*/ GIMT_Encode4(164075),
57847 /* 163515 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
57848 /* 163518 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
57849 /* 163521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57850 /* 163525 */ GIM_Try, /*On fail goto*//*Label 3602*/ GIMT_Encode4(163586), // Rule ID 23310 //
57851 /* 163530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57852 /* 163533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57853 /* 163537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57854 /* 163541 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
57855 /* 163548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57856 /* 163552 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57857 /* 163556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57858 /* 163558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57859 /* 163565 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57860 /* 163565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
57861 /* 163568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57862 /* 163570 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57863 /* 163572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57864 /* 163576 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57865 /* 163579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57866 /* 163584 */ GIR_RootConstrainSelectedInstOperands,
57867 /* 163585 */ // GIR_Coverage, 23310,
57868 /* 163585 */ GIR_EraseRootFromParent_Done,
57869 /* 163586 */ // Label 3602: @163586
57870 /* 163586 */ GIM_Try, /*On fail goto*//*Label 3603*/ GIMT_Encode4(163647), // Rule ID 23312 //
57871 /* 163591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57872 /* 163594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57873 /* 163598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57874 /* 163602 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57875 /* 163609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57876 /* 163613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57877 /* 163617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57878 /* 163619 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57879 /* 163626 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57880 /* 163626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
57881 /* 163629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57882 /* 163631 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57883 /* 163633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57884 /* 163637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57885 /* 163640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57886 /* 163645 */ GIR_RootConstrainSelectedInstOperands,
57887 /* 163646 */ // GIR_Coverage, 23312,
57888 /* 163646 */ GIR_EraseRootFromParent_Done,
57889 /* 163647 */ // Label 3603: @163647
57890 /* 163647 */ GIM_Try, /*On fail goto*//*Label 3604*/ GIMT_Encode4(163715), // Rule ID 23298 //
57891 /* 163652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57892 /* 163655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57893 /* 163659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57894 /* 163663 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57895 /* 163666 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57896 /* 163670 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57897 /* 163677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57898 /* 163681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57899 /* 163685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57900 /* 163687 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57901 /* 163694 */ // (fmul:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (MUL_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57902 /* 163694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
57903 /* 163697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57904 /* 163699 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57905 /* 163701 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57906 /* 163705 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57907 /* 163708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57908 /* 163713 */ GIR_RootConstrainSelectedInstOperands,
57909 /* 163714 */ // GIR_Coverage, 23298,
57910 /* 163714 */ GIR_EraseRootFromParent_Done,
57911 /* 163715 */ // Label 3604: @163715
57912 /* 163715 */ GIM_Try, /*On fail goto*//*Label 3605*/ GIMT_Encode4(163783), // Rule ID 23300 //
57913 /* 163720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57914 /* 163723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57915 /* 163727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57916 /* 163731 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57917 /* 163734 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57918 /* 163738 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
57919 /* 163745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57920 /* 163749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57921 /* 163753 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57922 /* 163755 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57923 /* 163762 */ // (fmul:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (MUL_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57924 /* 163762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
57925 /* 163765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57926 /* 163767 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57927 /* 163769 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57928 /* 163773 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57929 /* 163776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57930 /* 163781 */ GIR_RootConstrainSelectedInstOperands,
57931 /* 163782 */ // GIR_Coverage, 23300,
57932 /* 163782 */ GIR_EraseRootFromParent_Done,
57933 /* 163783 */ // Label 3605: @163783
57934 /* 163783 */ GIM_Try, /*On fail goto*//*Label 3606*/ GIMT_Encode4(163844), // Rule ID 994 //
57935 /* 163788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57936 /* 163791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57937 /* 163795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57938 /* 163799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57939 /* 163803 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
57940 /* 163810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57941 /* 163814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57942 /* 163816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57943 /* 163823 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57944 /* 163823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
57945 /* 163826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57946 /* 163828 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57947 /* 163830 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57948 /* 163834 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57949 /* 163837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57950 /* 163842 */ GIR_RootConstrainSelectedInstOperands,
57951 /* 163843 */ // GIR_Coverage, 994,
57952 /* 163843 */ GIR_EraseRootFromParent_Done,
57953 /* 163844 */ // Label 3606: @163844
57954 /* 163844 */ GIM_Try, /*On fail goto*//*Label 3607*/ GIMT_Encode4(163905), // Rule ID 996 //
57955 /* 163849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57956 /* 163852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57957 /* 163856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57958 /* 163860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
57959 /* 163864 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57960 /* 163871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57961 /* 163875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57962 /* 163877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57963 /* 163884 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57964 /* 163884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
57965 /* 163887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57966 /* 163889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57967 /* 163891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57968 /* 163895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57969 /* 163898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57970 /* 163903 */ GIR_RootConstrainSelectedInstOperands,
57971 /* 163904 */ // GIR_Coverage, 996,
57972 /* 163904 */ GIR_EraseRootFromParent_Done,
57973 /* 163905 */ // Label 3607: @163905
57974 /* 163905 */ GIM_Try, /*On fail goto*//*Label 3608*/ GIMT_Encode4(163973), // Rule ID 982 //
57975 /* 163910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57976 /* 163913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57977 /* 163917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57978 /* 163921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57979 /* 163925 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57980 /* 163928 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57981 /* 163932 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
57982 /* 163939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57983 /* 163943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57984 /* 163945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57985 /* 163952 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (MUL_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
57986 /* 163952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
57987 /* 163955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57988 /* 163957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57989 /* 163959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57990 /* 163963 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
57991 /* 163966 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57992 /* 163971 */ GIR_RootConstrainSelectedInstOperands,
57993 /* 163972 */ // GIR_Coverage, 982,
57994 /* 163972 */ GIR_EraseRootFromParent_Done,
57995 /* 163973 */ // Label 3608: @163973
57996 /* 163973 */ GIM_Try, /*On fail goto*//*Label 3609*/ GIMT_Encode4(164041), // Rule ID 984 //
57997 /* 163978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
57998 /* 163981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
57999 /* 163985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58000 /* 163989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58001 /* 163993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58002 /* 163996 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58003 /* 164000 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
58004 /* 164007 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58005 /* 164011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58006 /* 164013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58007 /* 164020 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (MUL_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
58008 /* 164020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
58009 /* 164023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58010 /* 164025 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58011 /* 164027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58012 /* 164031 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
58013 /* 164034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58014 /* 164039 */ GIR_RootConstrainSelectedInstOperands,
58015 /* 164040 */ // GIR_Coverage, 984,
58016 /* 164040 */ GIR_EraseRootFromParent_Done,
58017 /* 164041 */ // Label 3609: @164041
58018 /* 164041 */ GIM_Try, /*On fail goto*//*Label 3610*/ GIMT_Encode4(164074), // Rule ID 902 //
58019 /* 164046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
58020 /* 164049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
58021 /* 164053 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
58022 /* 164057 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
58023 /* 164057 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
58024 /* 164062 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
58025 /* 164068 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
58026 /* 164072 */ GIR_RootConstrainSelectedInstOperands,
58027 /* 164073 */ // GIR_Coverage, 902,
58028 /* 164073 */ GIR_Done,
58029 /* 164074 */ // Label 3610: @164074
58030 /* 164074 */ GIM_Reject,
58031 /* 164075 */ // Label 3601: @164075
58032 /* 164075 */ GIM_Reject,
58033 /* 164076 */ // Label 3539: @164076
58034 /* 164076 */ GIM_Try, /*On fail goto*//*Label 3611*/ GIMT_Encode4(164429),
58035 /* 164081 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
58036 /* 164084 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
58037 /* 164087 */ GIM_Try, /*On fail goto*//*Label 3612*/ GIMT_Encode4(164149), // Rule ID 23425 //
58038 /* 164092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58039 /* 164095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58040 /* 164099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58041 /* 164103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58042 /* 164107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58043 /* 164110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58044 /* 164114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58045 /* 164118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58046 /* 164122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58047 /* 164124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58048 /* 164131 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58049 /* 164131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
58050 /* 164134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58051 /* 164136 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58052 /* 164138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58053 /* 164142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58054 /* 164147 */ GIR_RootConstrainSelectedInstOperands,
58055 /* 164148 */ // GIR_Coverage, 23425,
58056 /* 164148 */ GIR_EraseRootFromParent_Done,
58057 /* 164149 */ // Label 3612: @164149
58058 /* 164149 */ GIM_Try, /*On fail goto*//*Label 3613*/ GIMT_Encode4(164211), // Rule ID 24401 //
58059 /* 164154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58060 /* 164157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58061 /* 164161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58062 /* 164165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58063 /* 164169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58064 /* 164172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58065 /* 164176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58066 /* 164180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58067 /* 164184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58068 /* 164186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58069 /* 164193 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58070 /* 164193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
58071 /* 164196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58072 /* 164198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58073 /* 164200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58074 /* 164204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58075 /* 164209 */ GIR_RootConstrainSelectedInstOperands,
58076 /* 164210 */ // GIR_Coverage, 24401,
58077 /* 164210 */ GIR_EraseRootFromParent_Done,
58078 /* 164211 */ // Label 3613: @164211
58079 /* 164211 */ GIM_Try, /*On fail goto*//*Label 3614*/ GIMT_Encode4(164273), // Rule ID 2180 //
58080 /* 164216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58081 /* 164219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58082 /* 164223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58083 /* 164227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58084 /* 164231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58085 /* 164235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58086 /* 164238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58087 /* 164242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58088 /* 164246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58089 /* 164248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58090 /* 164255 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58091 /* 164255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
58092 /* 164258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58093 /* 164260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58094 /* 164262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58095 /* 164266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58096 /* 164271 */ GIR_RootConstrainSelectedInstOperands,
58097 /* 164272 */ // GIR_Coverage, 2180,
58098 /* 164272 */ GIR_EraseRootFromParent_Done,
58099 /* 164273 */ // Label 3614: @164273
58100 /* 164273 */ GIM_Try, /*On fail goto*//*Label 3615*/ GIMT_Encode4(164335), // Rule ID 6429 //
58101 /* 164278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58102 /* 164281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58103 /* 164285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58104 /* 164289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58105 /* 164293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58106 /* 164297 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58107 /* 164300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58108 /* 164304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58109 /* 164308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58110 /* 164310 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58111 /* 164317 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58112 /* 164317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
58113 /* 164320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58114 /* 164322 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58115 /* 164324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58116 /* 164328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58117 /* 164333 */ GIR_RootConstrainSelectedInstOperands,
58118 /* 164334 */ // GIR_Coverage, 6429,
58119 /* 164334 */ GIR_EraseRootFromParent_Done,
58120 /* 164335 */ // Label 3615: @164335
58121 /* 164335 */ GIM_Try, /*On fail goto*//*Label 3616*/ GIMT_Encode4(164366), // Rule ID 2178 //
58122 /* 164340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58123 /* 164343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58124 /* 164347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58125 /* 164351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58126 /* 164355 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
58127 /* 164355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
58128 /* 164360 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58129 /* 164364 */ GIR_RootConstrainSelectedInstOperands,
58130 /* 164365 */ // GIR_Coverage, 2178,
58131 /* 164365 */ GIR_Done,
58132 /* 164366 */ // Label 3616: @164366
58133 /* 164366 */ GIM_Try, /*On fail goto*//*Label 3617*/ GIMT_Encode4(164397), // Rule ID 2194 //
58134 /* 164371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
58135 /* 164374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58136 /* 164378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58137 /* 164382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58138 /* 164386 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
58139 /* 164386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
58140 /* 164391 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58141 /* 164395 */ GIR_RootConstrainSelectedInstOperands,
58142 /* 164396 */ // GIR_Coverage, 2194,
58143 /* 164396 */ GIR_Done,
58144 /* 164397 */ // Label 3617: @164397
58145 /* 164397 */ GIM_Try, /*On fail goto*//*Label 3618*/ GIMT_Encode4(164428), // Rule ID 6425 //
58146 /* 164402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58147 /* 164405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58148 /* 164409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58149 /* 164413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58150 /* 164417 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
58151 /* 164417 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
58152 /* 164422 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58153 /* 164426 */ GIR_RootConstrainSelectedInstOperands,
58154 /* 164427 */ // GIR_Coverage, 6425,
58155 /* 164427 */ GIR_Done,
58156 /* 164428 */ // Label 3618: @164428
58157 /* 164428 */ GIM_Reject,
58158 /* 164429 */ // Label 3611: @164429
58159 /* 164429 */ GIM_Reject,
58160 /* 164430 */ // Label 3540: @164430
58161 /* 164430 */ GIM_Try, /*On fail goto*//*Label 3619*/ GIMT_Encode4(164783),
58162 /* 164435 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
58163 /* 164438 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
58164 /* 164441 */ GIM_Try, /*On fail goto*//*Label 3620*/ GIMT_Encode4(164503), // Rule ID 23423 //
58165 /* 164446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58166 /* 164449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58167 /* 164453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58168 /* 164457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58169 /* 164461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58170 /* 164464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58171 /* 164468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58172 /* 164472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58173 /* 164476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58174 /* 164478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58175 /* 164485 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58176 /* 164485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
58177 /* 164488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58178 /* 164490 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58179 /* 164492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58180 /* 164496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58181 /* 164501 */ GIR_RootConstrainSelectedInstOperands,
58182 /* 164502 */ // GIR_Coverage, 23423,
58183 /* 164502 */ GIR_EraseRootFromParent_Done,
58184 /* 164503 */ // Label 3620: @164503
58185 /* 164503 */ GIM_Try, /*On fail goto*//*Label 3621*/ GIMT_Encode4(164565), // Rule ID 24385 //
58186 /* 164508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58187 /* 164511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58188 /* 164515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58189 /* 164519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58190 /* 164523 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58191 /* 164526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58192 /* 164530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58193 /* 164534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58194 /* 164538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58195 /* 164540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58196 /* 164547 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58197 /* 164547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
58198 /* 164550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58199 /* 164552 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58200 /* 164554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58201 /* 164558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58202 /* 164563 */ GIR_RootConstrainSelectedInstOperands,
58203 /* 164564 */ // GIR_Coverage, 24385,
58204 /* 164564 */ GIR_EraseRootFromParent_Done,
58205 /* 164565 */ // Label 3621: @164565
58206 /* 164565 */ GIM_Try, /*On fail goto*//*Label 3622*/ GIMT_Encode4(164627), // Rule ID 2176 //
58207 /* 164570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58208 /* 164573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58209 /* 164577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58210 /* 164581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58211 /* 164585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58212 /* 164589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58213 /* 164592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58214 /* 164596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58215 /* 164600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58216 /* 164602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58217 /* 164609 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58218 /* 164609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
58219 /* 164612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58220 /* 164614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58221 /* 164616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58222 /* 164620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58223 /* 164625 */ GIR_RootConstrainSelectedInstOperands,
58224 /* 164626 */ // GIR_Coverage, 2176,
58225 /* 164626 */ GIR_EraseRootFromParent_Done,
58226 /* 164627 */ // Label 3622: @164627
58227 /* 164627 */ GIM_Try, /*On fail goto*//*Label 3623*/ GIMT_Encode4(164689), // Rule ID 6405 //
58228 /* 164632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58229 /* 164635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58230 /* 164639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58231 /* 164643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58232 /* 164647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58233 /* 164651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58234 /* 164654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58235 /* 164658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58236 /* 164662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58237 /* 164664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58238 /* 164671 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58239 /* 164671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
58240 /* 164674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58241 /* 164676 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58242 /* 164678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58243 /* 164682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58244 /* 164687 */ GIR_RootConstrainSelectedInstOperands,
58245 /* 164688 */ // GIR_Coverage, 6405,
58246 /* 164688 */ GIR_EraseRootFromParent_Done,
58247 /* 164689 */ // Label 3623: @164689
58248 /* 164689 */ GIM_Try, /*On fail goto*//*Label 3624*/ GIMT_Encode4(164720), // Rule ID 2174 //
58249 /* 164694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58250 /* 164697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58251 /* 164701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58252 /* 164705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58253 /* 164709 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
58254 /* 164709 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
58255 /* 164714 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58256 /* 164718 */ GIR_RootConstrainSelectedInstOperands,
58257 /* 164719 */ // GIR_Coverage, 2174,
58258 /* 164719 */ GIR_Done,
58259 /* 164720 */ // Label 3624: @164720
58260 /* 164720 */ GIM_Try, /*On fail goto*//*Label 3625*/ GIMT_Encode4(164751), // Rule ID 2190 //
58261 /* 164725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
58262 /* 164728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58263 /* 164732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58264 /* 164736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58265 /* 164740 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
58266 /* 164740 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
58267 /* 164745 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58268 /* 164749 */ GIR_RootConstrainSelectedInstOperands,
58269 /* 164750 */ // GIR_Coverage, 2190,
58270 /* 164750 */ GIR_Done,
58271 /* 164751 */ // Label 3625: @164751
58272 /* 164751 */ GIM_Try, /*On fail goto*//*Label 3626*/ GIMT_Encode4(164782), // Rule ID 6401 //
58273 /* 164756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58274 /* 164759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58275 /* 164763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58276 /* 164767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58277 /* 164771 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
58278 /* 164771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
58279 /* 164776 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58280 /* 164780 */ GIR_RootConstrainSelectedInstOperands,
58281 /* 164781 */ // GIR_Coverage, 6401,
58282 /* 164781 */ GIR_Done,
58283 /* 164782 */ // Label 3626: @164782
58284 /* 164782 */ GIM_Reject,
58285 /* 164783 */ // Label 3619: @164783
58286 /* 164783 */ GIM_Reject,
58287 /* 164784 */ // Label 3541: @164784
58288 /* 164784 */ GIM_Try, /*On fail goto*//*Label 3627*/ GIMT_Encode4(165106),
58289 /* 164789 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
58290 /* 164792 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
58291 /* 164795 */ GIM_Try, /*On fail goto*//*Label 3628*/ GIMT_Encode4(164857), // Rule ID 23429 //
58292 /* 164800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58293 /* 164803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58294 /* 164807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58295 /* 164811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58296 /* 164815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58297 /* 164818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58298 /* 164822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58299 /* 164826 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58300 /* 164830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58301 /* 164832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58302 /* 164839 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58303 /* 164839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
58304 /* 164842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58305 /* 164844 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58306 /* 164846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58307 /* 164850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58308 /* 164855 */ GIR_RootConstrainSelectedInstOperands,
58309 /* 164856 */ // GIR_Coverage, 23429,
58310 /* 164856 */ GIR_EraseRootFromParent_Done,
58311 /* 164857 */ // Label 3628: @164857
58312 /* 164857 */ GIM_Try, /*On fail goto*//*Label 3629*/ GIMT_Encode4(164919), // Rule ID 24409 //
58313 /* 164862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58314 /* 164865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58315 /* 164869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58316 /* 164873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58317 /* 164877 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58318 /* 164880 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58319 /* 164884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58320 /* 164888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58321 /* 164892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58322 /* 164894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58323 /* 164901 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58324 /* 164901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
58325 /* 164904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58326 /* 164906 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58327 /* 164908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58328 /* 164912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58329 /* 164917 */ GIR_RootConstrainSelectedInstOperands,
58330 /* 164918 */ // GIR_Coverage, 24409,
58331 /* 164918 */ GIR_EraseRootFromParent_Done,
58332 /* 164919 */ // Label 3629: @164919
58333 /* 164919 */ GIM_Try, /*On fail goto*//*Label 3630*/ GIMT_Encode4(164981), // Rule ID 2188 //
58334 /* 164924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58335 /* 164927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58336 /* 164931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58337 /* 164935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58338 /* 164939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58339 /* 164943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58340 /* 164946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58341 /* 164950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58342 /* 164954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58343 /* 164956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58344 /* 164963 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58345 /* 164963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
58346 /* 164966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58347 /* 164968 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58348 /* 164970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58349 /* 164974 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58350 /* 164979 */ GIR_RootConstrainSelectedInstOperands,
58351 /* 164980 */ // GIR_Coverage, 2188,
58352 /* 164980 */ GIR_EraseRootFromParent_Done,
58353 /* 164981 */ // Label 3630: @164981
58354 /* 164981 */ GIM_Try, /*On fail goto*//*Label 3631*/ GIMT_Encode4(165043), // Rule ID 6441 //
58355 /* 164986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58356 /* 164989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58357 /* 164993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58358 /* 164997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58359 /* 165001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58360 /* 165005 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58361 /* 165008 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58362 /* 165012 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58363 /* 165016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58364 /* 165018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58365 /* 165025 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58366 /* 165025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
58367 /* 165028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58368 /* 165030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58369 /* 165032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58370 /* 165036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58371 /* 165041 */ GIR_RootConstrainSelectedInstOperands,
58372 /* 165042 */ // GIR_Coverage, 6441,
58373 /* 165042 */ GIR_EraseRootFromParent_Done,
58374 /* 165043 */ // Label 3631: @165043
58375 /* 165043 */ GIM_Try, /*On fail goto*//*Label 3632*/ GIMT_Encode4(165074), // Rule ID 2186 //
58376 /* 165048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58377 /* 165051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58378 /* 165055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58379 /* 165059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58380 /* 165063 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
58381 /* 165063 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
58382 /* 165068 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58383 /* 165072 */ GIR_RootConstrainSelectedInstOperands,
58384 /* 165073 */ // GIR_Coverage, 2186,
58385 /* 165073 */ GIR_Done,
58386 /* 165074 */ // Label 3632: @165074
58387 /* 165074 */ GIM_Try, /*On fail goto*//*Label 3633*/ GIMT_Encode4(165105), // Rule ID 6437 //
58388 /* 165079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58389 /* 165082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58390 /* 165086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58391 /* 165090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58392 /* 165094 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
58393 /* 165094 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
58394 /* 165099 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58395 /* 165103 */ GIR_RootConstrainSelectedInstOperands,
58396 /* 165104 */ // GIR_Coverage, 6437,
58397 /* 165104 */ GIR_Done,
58398 /* 165105 */ // Label 3633: @165105
58399 /* 165105 */ GIM_Reject,
58400 /* 165106 */ // Label 3627: @165106
58401 /* 165106 */ GIM_Reject,
58402 /* 165107 */ // Label 3542: @165107
58403 /* 165107 */ GIM_Try, /*On fail goto*//*Label 3634*/ GIMT_Encode4(165266),
58404 /* 165112 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
58405 /* 165115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
58406 /* 165118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58407 /* 165122 */ GIM_Try, /*On fail goto*//*Label 3635*/ GIMT_Encode4(165180), // Rule ID 24425 //
58408 /* 165127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58409 /* 165130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58410 /* 165134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58411 /* 165138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58412 /* 165141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58413 /* 165145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58414 /* 165149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58415 /* 165153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58416 /* 165155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58417 /* 165162 */ // (fmul:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58418 /* 165162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
58419 /* 165165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58420 /* 165167 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58421 /* 165169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58422 /* 165173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58423 /* 165178 */ GIR_RootConstrainSelectedInstOperands,
58424 /* 165179 */ // GIR_Coverage, 24425,
58425 /* 165179 */ GIR_EraseRootFromParent_Done,
58426 /* 165180 */ // Label 3635: @165180
58427 /* 165180 */ GIM_Try, /*On fail goto*//*Label 3636*/ GIMT_Encode4(165238), // Rule ID 6465 //
58428 /* 165185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58429 /* 165188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58430 /* 165192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58431 /* 165196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58432 /* 165200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58433 /* 165203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58434 /* 165207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58435 /* 165211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58436 /* 165213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58437 /* 165220 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58438 /* 165220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
58439 /* 165223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58440 /* 165225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58441 /* 165227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58442 /* 165231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58443 /* 165236 */ GIR_RootConstrainSelectedInstOperands,
58444 /* 165237 */ // GIR_Coverage, 6465,
58445 /* 165237 */ GIR_EraseRootFromParent_Done,
58446 /* 165238 */ // Label 3636: @165238
58447 /* 165238 */ GIM_Try, /*On fail goto*//*Label 3637*/ GIMT_Encode4(165265), // Rule ID 6461 //
58448 /* 165243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58449 /* 165246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58450 /* 165250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58451 /* 165254 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
58452 /* 165254 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
58453 /* 165259 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58454 /* 165263 */ GIR_RootConstrainSelectedInstOperands,
58455 /* 165264 */ // GIR_Coverage, 6461,
58456 /* 165264 */ GIR_Done,
58457 /* 165265 */ // Label 3637: @165265
58458 /* 165265 */ GIM_Reject,
58459 /* 165266 */ // Label 3634: @165266
58460 /* 165266 */ GIM_Reject,
58461 /* 165267 */ // Label 3543: @165267
58462 /* 165267 */ GIM_Try, /*On fail goto*//*Label 3638*/ GIMT_Encode4(165589),
58463 /* 165272 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
58464 /* 165275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
58465 /* 165278 */ GIM_Try, /*On fail goto*//*Label 3639*/ GIMT_Encode4(165340), // Rule ID 23427 //
58466 /* 165283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58467 /* 165286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58468 /* 165290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58469 /* 165294 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58470 /* 165298 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58471 /* 165301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58472 /* 165305 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58473 /* 165309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58474 /* 165313 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58475 /* 165315 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58476 /* 165322 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58477 /* 165322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
58478 /* 165325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58479 /* 165327 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58480 /* 165329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58481 /* 165333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58482 /* 165338 */ GIR_RootConstrainSelectedInstOperands,
58483 /* 165339 */ // GIR_Coverage, 23427,
58484 /* 165339 */ GIR_EraseRootFromParent_Done,
58485 /* 165340 */ // Label 3639: @165340
58486 /* 165340 */ GIM_Try, /*On fail goto*//*Label 3640*/ GIMT_Encode4(165402), // Rule ID 24393 //
58487 /* 165345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58488 /* 165348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58489 /* 165352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58490 /* 165356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58491 /* 165360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58492 /* 165363 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58493 /* 165367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58494 /* 165371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58495 /* 165375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58496 /* 165377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58497 /* 165384 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58498 /* 165384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
58499 /* 165387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58500 /* 165389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58501 /* 165391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58502 /* 165395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58503 /* 165400 */ GIR_RootConstrainSelectedInstOperands,
58504 /* 165401 */ // GIR_Coverage, 24393,
58505 /* 165401 */ GIR_EraseRootFromParent_Done,
58506 /* 165402 */ // Label 3640: @165402
58507 /* 165402 */ GIM_Try, /*On fail goto*//*Label 3641*/ GIMT_Encode4(165464), // Rule ID 2184 //
58508 /* 165407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58509 /* 165410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58510 /* 165414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58511 /* 165418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58512 /* 165422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58513 /* 165426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58514 /* 165429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58515 /* 165433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58516 /* 165437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58517 /* 165439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58518 /* 165446 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58519 /* 165446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
58520 /* 165449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58521 /* 165451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58522 /* 165453 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58523 /* 165457 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58524 /* 165462 */ GIR_RootConstrainSelectedInstOperands,
58525 /* 165463 */ // GIR_Coverage, 2184,
58526 /* 165463 */ GIR_EraseRootFromParent_Done,
58527 /* 165464 */ // Label 3641: @165464
58528 /* 165464 */ GIM_Try, /*On fail goto*//*Label 3642*/ GIMT_Encode4(165526), // Rule ID 6417 //
58529 /* 165469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58530 /* 165472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58531 /* 165476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58532 /* 165480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58533 /* 165484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58534 /* 165488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58535 /* 165491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58536 /* 165495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58537 /* 165499 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58538 /* 165501 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58539 /* 165508 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58540 /* 165508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
58541 /* 165511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58542 /* 165513 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58543 /* 165515 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58544 /* 165519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58545 /* 165524 */ GIR_RootConstrainSelectedInstOperands,
58546 /* 165525 */ // GIR_Coverage, 6417,
58547 /* 165525 */ GIR_EraseRootFromParent_Done,
58548 /* 165526 */ // Label 3642: @165526
58549 /* 165526 */ GIM_Try, /*On fail goto*//*Label 3643*/ GIMT_Encode4(165557), // Rule ID 2182 //
58550 /* 165531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
58551 /* 165534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58552 /* 165538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58553 /* 165542 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58554 /* 165546 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
58555 /* 165546 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
58556 /* 165551 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58557 /* 165555 */ GIR_RootConstrainSelectedInstOperands,
58558 /* 165556 */ // GIR_Coverage, 2182,
58559 /* 165556 */ GIR_Done,
58560 /* 165557 */ // Label 3643: @165557
58561 /* 165557 */ GIM_Try, /*On fail goto*//*Label 3644*/ GIMT_Encode4(165588), // Rule ID 6413 //
58562 /* 165562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58563 /* 165565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58564 /* 165569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58565 /* 165573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58566 /* 165577 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
58567 /* 165577 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
58568 /* 165582 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58569 /* 165586 */ GIR_RootConstrainSelectedInstOperands,
58570 /* 165587 */ // GIR_Coverage, 6413,
58571 /* 165587 */ GIR_Done,
58572 /* 165588 */ // Label 3644: @165588
58573 /* 165588 */ GIM_Reject,
58574 /* 165589 */ // Label 3638: @165589
58575 /* 165589 */ GIM_Reject,
58576 /* 165590 */ // Label 3544: @165590
58577 /* 165590 */ GIM_Try, /*On fail goto*//*Label 3645*/ GIMT_Encode4(165749),
58578 /* 165595 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
58579 /* 165598 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
58580 /* 165601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58581 /* 165605 */ GIM_Try, /*On fail goto*//*Label 3646*/ GIMT_Encode4(165663), // Rule ID 24377 //
58582 /* 165610 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58583 /* 165613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58584 /* 165617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58585 /* 165621 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58586 /* 165624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58587 /* 165628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58588 /* 165632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58589 /* 165636 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58590 /* 165638 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58591 /* 165645 */ // (fmul:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58592 /* 165645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
58593 /* 165648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58594 /* 165650 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58595 /* 165652 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58596 /* 165656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58597 /* 165661 */ GIR_RootConstrainSelectedInstOperands,
58598 /* 165662 */ // GIR_Coverage, 24377,
58599 /* 165662 */ GIR_EraseRootFromParent_Done,
58600 /* 165663 */ // Label 3646: @165663
58601 /* 165663 */ GIM_Try, /*On fail goto*//*Label 3647*/ GIMT_Encode4(165721), // Rule ID 6393 //
58602 /* 165668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58603 /* 165671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58604 /* 165675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58605 /* 165679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58606 /* 165683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58607 /* 165686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58608 /* 165690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58609 /* 165694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58610 /* 165696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58611 /* 165703 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
58612 /* 165703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
58613 /* 165706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58614 /* 165708 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58615 /* 165710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58616 /* 165714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58617 /* 165719 */ GIR_RootConstrainSelectedInstOperands,
58618 /* 165720 */ // GIR_Coverage, 6393,
58619 /* 165720 */ GIR_EraseRootFromParent_Done,
58620 /* 165721 */ // Label 3647: @165721
58621 /* 165721 */ GIM_Try, /*On fail goto*//*Label 3648*/ GIMT_Encode4(165748), // Rule ID 6389 //
58622 /* 165726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58623 /* 165729 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58624 /* 165733 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58625 /* 165737 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
58626 /* 165737 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
58627 /* 165742 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58628 /* 165746 */ GIR_RootConstrainSelectedInstOperands,
58629 /* 165747 */ // GIR_Coverage, 6389,
58630 /* 165747 */ GIR_Done,
58631 /* 165748 */ // Label 3648: @165748
58632 /* 165748 */ GIM_Reject,
58633 /* 165749 */ // Label 3645: @165749
58634 /* 165749 */ GIM_Reject,
58635 /* 165750 */ // Label 3545: @165750
58636 /* 165750 */ GIM_Try, /*On fail goto*//*Label 3649*/ GIMT_Encode4(165909),
58637 /* 165755 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
58638 /* 165758 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
58639 /* 165761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58640 /* 165765 */ GIM_Try, /*On fail goto*//*Label 3650*/ GIMT_Encode4(165823), // Rule ID 24433 //
58641 /* 165770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58642 /* 165773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58643 /* 165777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58644 /* 165781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58645 /* 165784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58646 /* 165788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58647 /* 165792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58648 /* 165796 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58649 /* 165798 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58650 /* 165805 */ // (fmul:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58651 /* 165805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
58652 /* 165808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58653 /* 165810 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58654 /* 165812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58655 /* 165816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58656 /* 165821 */ GIR_RootConstrainSelectedInstOperands,
58657 /* 165822 */ // GIR_Coverage, 24433,
58658 /* 165822 */ GIR_EraseRootFromParent_Done,
58659 /* 165823 */ // Label 3650: @165823
58660 /* 165823 */ GIM_Try, /*On fail goto*//*Label 3651*/ GIMT_Encode4(165881), // Rule ID 6477 //
58661 /* 165828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58662 /* 165831 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58663 /* 165835 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58664 /* 165839 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58665 /* 165843 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58666 /* 165846 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58667 /* 165850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58668 /* 165854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58669 /* 165856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58670 /* 165863 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58671 /* 165863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
58672 /* 165866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58673 /* 165868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58674 /* 165870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58675 /* 165874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58676 /* 165879 */ GIR_RootConstrainSelectedInstOperands,
58677 /* 165880 */ // GIR_Coverage, 6477,
58678 /* 165880 */ GIR_EraseRootFromParent_Done,
58679 /* 165881 */ // Label 3651: @165881
58680 /* 165881 */ GIM_Try, /*On fail goto*//*Label 3652*/ GIMT_Encode4(165908), // Rule ID 6473 //
58681 /* 165886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58682 /* 165889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58683 /* 165893 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58684 /* 165897 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
58685 /* 165897 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
58686 /* 165902 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58687 /* 165906 */ GIR_RootConstrainSelectedInstOperands,
58688 /* 165907 */ // GIR_Coverage, 6473,
58689 /* 165907 */ GIR_Done,
58690 /* 165908 */ // Label 3652: @165908
58691 /* 165908 */ GIM_Reject,
58692 /* 165909 */ // Label 3649: @165909
58693 /* 165909 */ GIM_Reject,
58694 /* 165910 */ // Label 3546: @165910
58695 /* 165910 */ GIM_Try, /*On fail goto*//*Label 3653*/ GIMT_Encode4(166069),
58696 /* 165915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
58697 /* 165918 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
58698 /* 165921 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58699 /* 165925 */ GIM_Try, /*On fail goto*//*Label 3654*/ GIMT_Encode4(165983), // Rule ID 24369 //
58700 /* 165930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58701 /* 165933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58702 /* 165937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58703 /* 165941 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58704 /* 165944 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58705 /* 165948 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58706 /* 165952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58707 /* 165956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58708 /* 165958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58709 /* 165965 */ // (fmul:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58710 /* 165965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
58711 /* 165968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58712 /* 165970 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58713 /* 165972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58714 /* 165976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58715 /* 165981 */ GIR_RootConstrainSelectedInstOperands,
58716 /* 165982 */ // GIR_Coverage, 24369,
58717 /* 165982 */ GIR_EraseRootFromParent_Done,
58718 /* 165983 */ // Label 3654: @165983
58719 /* 165983 */ GIM_Try, /*On fail goto*//*Label 3655*/ GIMT_Encode4(166041), // Rule ID 6381 //
58720 /* 165988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58721 /* 165991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58722 /* 165995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58723 /* 165999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58724 /* 166003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58725 /* 166006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58726 /* 166010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58727 /* 166014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58728 /* 166016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58729 /* 166023 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
58730 /* 166023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
58731 /* 166026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58732 /* 166028 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58733 /* 166030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58734 /* 166034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58735 /* 166039 */ GIR_RootConstrainSelectedInstOperands,
58736 /* 166040 */ // GIR_Coverage, 6381,
58737 /* 166040 */ GIR_EraseRootFromParent_Done,
58738 /* 166041 */ // Label 3655: @166041
58739 /* 166041 */ GIM_Try, /*On fail goto*//*Label 3656*/ GIMT_Encode4(166068), // Rule ID 6377 //
58740 /* 166046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58741 /* 166049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58742 /* 166053 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58743 /* 166057 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
58744 /* 166057 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
58745 /* 166062 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58746 /* 166066 */ GIR_RootConstrainSelectedInstOperands,
58747 /* 166067 */ // GIR_Coverage, 6377,
58748 /* 166067 */ GIR_Done,
58749 /* 166068 */ // Label 3656: @166068
58750 /* 166068 */ GIM_Reject,
58751 /* 166069 */ // Label 3653: @166069
58752 /* 166069 */ GIM_Reject,
58753 /* 166070 */ // Label 3547: @166070
58754 /* 166070 */ GIM_Try, /*On fail goto*//*Label 3657*/ GIMT_Encode4(166229),
58755 /* 166075 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
58756 /* 166078 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
58757 /* 166081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58758 /* 166085 */ GIM_Try, /*On fail goto*//*Label 3658*/ GIMT_Encode4(166143), // Rule ID 24417 //
58759 /* 166090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58760 /* 166093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58761 /* 166097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58762 /* 166101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58763 /* 166104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58764 /* 166108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58765 /* 166112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58766 /* 166116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58767 /* 166118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58768 /* 166125 */ // (fmul:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58769 /* 166125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
58770 /* 166128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58771 /* 166130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58772 /* 166132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58773 /* 166136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58774 /* 166141 */ GIR_RootConstrainSelectedInstOperands,
58775 /* 166142 */ // GIR_Coverage, 24417,
58776 /* 166142 */ GIR_EraseRootFromParent_Done,
58777 /* 166143 */ // Label 3658: @166143
58778 /* 166143 */ GIM_Try, /*On fail goto*//*Label 3659*/ GIMT_Encode4(166201), // Rule ID 6453 //
58779 /* 166148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58780 /* 166151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58781 /* 166155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58782 /* 166159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58783 /* 166163 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58784 /* 166166 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58785 /* 166170 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58786 /* 166174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58787 /* 166176 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58788 /* 166183 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
58789 /* 166183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
58790 /* 166186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58791 /* 166188 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58792 /* 166190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58793 /* 166194 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58794 /* 166199 */ GIR_RootConstrainSelectedInstOperands,
58795 /* 166200 */ // GIR_Coverage, 6453,
58796 /* 166200 */ GIR_EraseRootFromParent_Done,
58797 /* 166201 */ // Label 3659: @166201
58798 /* 166201 */ GIM_Try, /*On fail goto*//*Label 3660*/ GIMT_Encode4(166228), // Rule ID 6449 //
58799 /* 166206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58800 /* 166209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58801 /* 166213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58802 /* 166217 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
58803 /* 166217 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
58804 /* 166222 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58805 /* 166226 */ GIR_RootConstrainSelectedInstOperands,
58806 /* 166227 */ // GIR_Coverage, 6449,
58807 /* 166227 */ GIR_Done,
58808 /* 166228 */ // Label 3660: @166228
58809 /* 166228 */ GIM_Reject,
58810 /* 166229 */ // Label 3657: @166229
58811 /* 166229 */ GIM_Reject,
58812 /* 166230 */ // Label 3548: @166230
58813 /* 166230 */ GIM_Reject,
58814 /* 166231 */ // Label 45: @166231
58815 /* 166231 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3673*/ GIMT_Encode4(172218),
58816 /* 166242 */ /*GILLT_s16*//*Label 3661*/ GIMT_Encode4(166326),
58817 /* 166246 */ /*GILLT_s32*//*Label 3662*/ GIMT_Encode4(166571),
58818 /* 166250 */ /*GILLT_s64*//*Label 3663*/ GIMT_Encode4(167308), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
58819 /* 166266 */ /*GILLT_v2s64*//*Label 3664*/ GIMT_Encode4(168045), GIMT_Encode4(0),
58820 /* 166274 */ /*GILLT_v4s32*//*Label 3665*/ GIMT_Encode4(168782),
58821 /* 166278 */ /*GILLT_v4s64*//*Label 3666*/ GIMT_Encode4(169519), GIMT_Encode4(0),
58822 /* 166286 */ /*GILLT_v8s16*//*Label 3667*/ GIMT_Encode4(170256),
58823 /* 166290 */ /*GILLT_v8s32*//*Label 3668*/ GIMT_Encode4(170501),
58824 /* 166294 */ /*GILLT_v8s64*//*Label 3669*/ GIMT_Encode4(171238), GIMT_Encode4(0), GIMT_Encode4(0),
58825 /* 166306 */ /*GILLT_v16s16*//*Label 3670*/ GIMT_Encode4(171483),
58826 /* 166310 */ /*GILLT_v16s32*//*Label 3671*/ GIMT_Encode4(171728), GIMT_Encode4(0), GIMT_Encode4(0),
58827 /* 166322 */ /*GILLT_v32s16*//*Label 3672*/ GIMT_Encode4(171973),
58828 /* 166326 */ // Label 3661: @166326
58829 /* 166326 */ GIM_Try, /*On fail goto*//*Label 3674*/ GIMT_Encode4(166570),
58830 /* 166331 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
58831 /* 166334 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
58832 /* 166337 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
58833 /* 166340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58834 /* 166344 */ GIM_Try, /*On fail goto*//*Label 3675*/ GIMT_Encode4(166408), // Rule ID 10161 //
58835 /* 166349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58836 /* 166352 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58837 /* 166356 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58838 /* 166360 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58839 /* 166363 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58840 /* 166367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58841 /* 166371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58842 /* 166375 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58843 /* 166379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58844 /* 166381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58845 /* 166388 */ // (fma:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VFMADD132SHZm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, addr:{ *:[iPTR] }:$src3)
58846 /* 166388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
58847 /* 166391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58848 /* 166393 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58849 /* 166395 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58850 /* 166397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58851 /* 166401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58852 /* 166406 */ GIR_RootConstrainSelectedInstOperands,
58853 /* 166407 */ // GIR_Coverage, 10161,
58854 /* 166407 */ GIR_EraseRootFromParent_Done,
58855 /* 166408 */ // Label 3675: @166408
58856 /* 166408 */ GIM_Try, /*On fail goto*//*Label 3676*/ GIMT_Encode4(166472), // Rule ID 10159 //
58857 /* 166413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58858 /* 166416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58859 /* 166420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58860 /* 166424 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58861 /* 166428 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58862 /* 166431 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58863 /* 166435 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58864 /* 166439 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58865 /* 166443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58866 /* 166445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58867 /* 166452 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VFMADD231SHZm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, addr:{ *:[iPTR] }:$src3)
58868 /* 166452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
58869 /* 166455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58870 /* 166457 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58871 /* 166459 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58872 /* 166461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58873 /* 166465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58874 /* 166470 */ GIR_RootConstrainSelectedInstOperands,
58875 /* 166471 */ // GIR_Coverage, 10159,
58876 /* 166471 */ GIR_EraseRootFromParent_Done,
58877 /* 166472 */ // Label 3676: @166472
58878 /* 166472 */ GIM_Try, /*On fail goto*//*Label 3677*/ GIMT_Encode4(166536), // Rule ID 10156 //
58879 /* 166477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58880 /* 166480 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58881 /* 166484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58882 /* 166488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58883 /* 166492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58884 /* 166496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58885 /* 166499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58886 /* 166503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58887 /* 166507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58888 /* 166509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58889 /* 166516 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SHZm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, addr:{ *:[iPTR] }:$src3)
58890 /* 166516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
58891 /* 166519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58892 /* 166521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58893 /* 166523 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58894 /* 166525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58895 /* 166529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58896 /* 166534 */ GIR_RootConstrainSelectedInstOperands,
58897 /* 166535 */ // GIR_Coverage, 10156,
58898 /* 166535 */ GIR_EraseRootFromParent_Done,
58899 /* 166536 */ // Label 3677: @166536
58900 /* 166536 */ GIM_Try, /*On fail goto*//*Label 3678*/ GIMT_Encode4(166569), // Rule ID 10154 //
58901 /* 166541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58902 /* 166544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58903 /* 166548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58904 /* 166552 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
58905 /* 166556 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
58906 /* 166556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
58907 /* 166559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58908 /* 166561 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58909 /* 166563 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58910 /* 166565 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58911 /* 166567 */ GIR_RootConstrainSelectedInstOperands,
58912 /* 166568 */ // GIR_Coverage, 10154,
58913 /* 166568 */ GIR_EraseRootFromParent_Done,
58914 /* 166569 */ // Label 3678: @166569
58915 /* 166569 */ GIM_Reject,
58916 /* 166570 */ // Label 3674: @166570
58917 /* 166570 */ GIM_Reject,
58918 /* 166571 */ // Label 3662: @166571
58919 /* 166571 */ GIM_Try, /*On fail goto*//*Label 3679*/ GIMT_Encode4(167307),
58920 /* 166576 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
58921 /* 166579 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
58922 /* 166582 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
58923 /* 166585 */ GIM_Try, /*On fail goto*//*Label 3680*/ GIMT_Encode4(166653), // Rule ID 1303 //
58924 /* 166590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58925 /* 166593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58926 /* 166597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58927 /* 166601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58928 /* 166605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58929 /* 166608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58930 /* 166612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58931 /* 166616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58932 /* 166620 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58933 /* 166624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58934 /* 166626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58935 /* 166633 */ // (fma:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VFMADD132SSm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
58936 /* 166633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
58937 /* 166636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58938 /* 166638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58939 /* 166640 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58940 /* 166642 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58941 /* 166646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58942 /* 166651 */ GIR_RootConstrainSelectedInstOperands,
58943 /* 166652 */ // GIR_Coverage, 1303,
58944 /* 166652 */ GIR_EraseRootFromParent_Done,
58945 /* 166653 */ // Label 3680: @166653
58946 /* 166653 */ GIM_Try, /*On fail goto*//*Label 3681*/ GIMT_Encode4(166721), // Rule ID 10143 //
58947 /* 166658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58948 /* 166661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58949 /* 166665 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58950 /* 166669 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58951 /* 166673 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58952 /* 166676 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58953 /* 166680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58954 /* 166684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58955 /* 166688 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58956 /* 166692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58957 /* 166694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58958 /* 166701 */ // (fma:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VFMADD132SSZm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
58959 /* 166701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
58960 /* 166704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58961 /* 166706 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58962 /* 166708 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58963 /* 166710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58964 /* 166714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58965 /* 166719 */ GIR_RootConstrainSelectedInstOperands,
58966 /* 166720 */ // GIR_Coverage, 10143,
58967 /* 166720 */ GIR_EraseRootFromParent_Done,
58968 /* 166721 */ // Label 3681: @166721
58969 /* 166721 */ GIM_Try, /*On fail goto*//*Label 3682*/ GIMT_Encode4(166789), // Rule ID 23314 //
58970 /* 166726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58971 /* 166729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58972 /* 166733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58973 /* 166737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58974 /* 166741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58975 /* 166744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58976 /* 166748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58977 /* 166752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58978 /* 166756 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58979 /* 166760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58980 /* 166762 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58981 /* 166769 */ // (fma:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADDSS4mr:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2, FR32:{ *:[f32] }:$src3)
58982 /* 166769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
58983 /* 166772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58984 /* 166774 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58985 /* 166776 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58986 /* 166780 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58987 /* 166782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58988 /* 166787 */ GIR_RootConstrainSelectedInstOperands,
58989 /* 166788 */ // GIR_Coverage, 23314,
58990 /* 166788 */ GIR_EraseRootFromParent_Done,
58991 /* 166789 */ // Label 3682: @166789
58992 /* 166789 */ GIM_Try, /*On fail goto*//*Label 3683*/ GIMT_Encode4(166857), // Rule ID 1301 //
58993 /* 166794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58994 /* 166797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58995 /* 166801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58996 /* 166805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58997 /* 166809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58998 /* 166813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58999 /* 166816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59000 /* 166820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59001 /* 166824 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59002 /* 166828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59003 /* 166830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59004 /* 166837 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VFMADD231SSm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59005 /* 166837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
59006 /* 166840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59007 /* 166842 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59008 /* 166844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59009 /* 166846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59010 /* 166850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59011 /* 166855 */ GIR_RootConstrainSelectedInstOperands,
59012 /* 166856 */ // GIR_Coverage, 1301,
59013 /* 166856 */ GIR_EraseRootFromParent_Done,
59014 /* 166857 */ // Label 3683: @166857
59015 /* 166857 */ GIM_Try, /*On fail goto*//*Label 3684*/ GIMT_Encode4(166925), // Rule ID 1365 //
59016 /* 166862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
59017 /* 166865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59018 /* 166869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59019 /* 166873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59020 /* 166877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59021 /* 166881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59022 /* 166884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59023 /* 166888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59024 /* 166892 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59025 /* 166896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59026 /* 166898 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59027 /* 166905 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src3) => (VFMADDSS4mr:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2, FR32:{ *:[f32] }:$src3)
59028 /* 166905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
59029 /* 166908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59030 /* 166910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59031 /* 166912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59032 /* 166916 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59033 /* 166918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59034 /* 166923 */ GIR_RootConstrainSelectedInstOperands,
59035 /* 166924 */ // GIR_Coverage, 1365,
59036 /* 166924 */ GIR_EraseRootFromParent_Done,
59037 /* 166925 */ // Label 3684: @166925
59038 /* 166925 */ GIM_Try, /*On fail goto*//*Label 3685*/ GIMT_Encode4(166993), // Rule ID 10141 //
59039 /* 166930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59040 /* 166933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59041 /* 166937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59042 /* 166941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59043 /* 166945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59044 /* 166949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59045 /* 166952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59046 /* 166956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59047 /* 166960 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59048 /* 166964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59049 /* 166966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59050 /* 166973 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VFMADD231SSZm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59051 /* 166973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
59052 /* 166976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59053 /* 166978 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59054 /* 166980 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59055 /* 166982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59056 /* 166986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59057 /* 166991 */ GIR_RootConstrainSelectedInstOperands,
59058 /* 166992 */ // GIR_Coverage, 10141,
59059 /* 166992 */ GIR_EraseRootFromParent_Done,
59060 /* 166993 */ // Label 3685: @166993
59061 /* 166993 */ GIM_Try, /*On fail goto*//*Label 3686*/ GIMT_Encode4(167061), // Rule ID 1299 //
59062 /* 166998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
59063 /* 167001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59064 /* 167005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59065 /* 167009 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59066 /* 167013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59067 /* 167017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59068 /* 167021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59069 /* 167024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59070 /* 167028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59071 /* 167032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59072 /* 167034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59073 /* 167041 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SSm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59074 /* 167041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
59075 /* 167044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59076 /* 167046 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59077 /* 167048 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59078 /* 167050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59079 /* 167054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59080 /* 167059 */ GIR_RootConstrainSelectedInstOperands,
59081 /* 167060 */ // GIR_Coverage, 1299,
59082 /* 167060 */ GIR_EraseRootFromParent_Done,
59083 /* 167061 */ // Label 3686: @167061
59084 /* 167061 */ GIM_Try, /*On fail goto*//*Label 3687*/ GIMT_Encode4(167129), // Rule ID 1363 //
59085 /* 167066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
59086 /* 167069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59087 /* 167073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59088 /* 167077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59089 /* 167081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59090 /* 167085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59091 /* 167089 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59092 /* 167092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59093 /* 167096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59094 /* 167100 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59095 /* 167102 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59096 /* 167109 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDSS4rm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59097 /* 167109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
59098 /* 167112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59099 /* 167114 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59100 /* 167116 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59101 /* 167118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59102 /* 167122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59103 /* 167127 */ GIR_RootConstrainSelectedInstOperands,
59104 /* 167128 */ // GIR_Coverage, 1363,
59105 /* 167128 */ GIR_EraseRootFromParent_Done,
59106 /* 167129 */ // Label 3687: @167129
59107 /* 167129 */ GIM_Try, /*On fail goto*//*Label 3688*/ GIMT_Encode4(167197), // Rule ID 10138 //
59108 /* 167134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59109 /* 167137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59110 /* 167141 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59111 /* 167145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59112 /* 167149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59113 /* 167153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59114 /* 167157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59115 /* 167160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59116 /* 167164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59117 /* 167168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59118 /* 167170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59119 /* 167177 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SSZm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59120 /* 167177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
59121 /* 167180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59122 /* 167182 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59123 /* 167184 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59124 /* 167186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59125 /* 167190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59126 /* 167195 */ GIR_RootConstrainSelectedInstOperands,
59127 /* 167196 */ // GIR_Coverage, 10138,
59128 /* 167196 */ GIR_EraseRootFromParent_Done,
59129 /* 167197 */ // Label 3688: @167197
59130 /* 167197 */ GIM_Try, /*On fail goto*//*Label 3689*/ GIMT_Encode4(167234), // Rule ID 1297 //
59131 /* 167202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
59132 /* 167205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59133 /* 167209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59134 /* 167213 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59135 /* 167217 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59136 /* 167221 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
59137 /* 167221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
59138 /* 167224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59139 /* 167226 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59140 /* 167228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59141 /* 167230 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59142 /* 167232 */ GIR_RootConstrainSelectedInstOperands,
59143 /* 167233 */ // GIR_Coverage, 1297,
59144 /* 167233 */ GIR_EraseRootFromParent_Done,
59145 /* 167234 */ // Label 3689: @167234
59146 /* 167234 */ GIM_Try, /*On fail goto*//*Label 3690*/ GIMT_Encode4(167269), // Rule ID 1361 //
59147 /* 167239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
59148 /* 167242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59149 /* 167246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59150 /* 167250 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59151 /* 167254 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59152 /* 167258 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
59153 /* 167258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
59154 /* 167263 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59155 /* 167267 */ GIR_RootConstrainSelectedInstOperands,
59156 /* 167268 */ // GIR_Coverage, 1361,
59157 /* 167268 */ GIR_Done,
59158 /* 167269 */ // Label 3690: @167269
59159 /* 167269 */ GIM_Try, /*On fail goto*//*Label 3691*/ GIMT_Encode4(167306), // Rule ID 10136 //
59160 /* 167274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59161 /* 167277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59162 /* 167281 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59163 /* 167285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59164 /* 167289 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59165 /* 167293 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
59166 /* 167293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
59167 /* 167296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59168 /* 167298 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59169 /* 167300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59170 /* 167302 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59171 /* 167304 */ GIR_RootConstrainSelectedInstOperands,
59172 /* 167305 */ // GIR_Coverage, 10136,
59173 /* 167305 */ GIR_EraseRootFromParent_Done,
59174 /* 167306 */ // Label 3691: @167306
59175 /* 167306 */ GIM_Reject,
59176 /* 167307 */ // Label 3679: @167307
59177 /* 167307 */ GIM_Reject,
59178 /* 167308 */ // Label 3663: @167308
59179 /* 167308 */ GIM_Try, /*On fail goto*//*Label 3692*/ GIMT_Encode4(168044),
59180 /* 167313 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
59181 /* 167316 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
59182 /* 167319 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
59183 /* 167322 */ GIM_Try, /*On fail goto*//*Label 3693*/ GIMT_Encode4(167390), // Rule ID 1311 //
59184 /* 167327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
59185 /* 167330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59186 /* 167334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59187 /* 167338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59188 /* 167342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59189 /* 167345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59190 /* 167349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59191 /* 167353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59192 /* 167357 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59193 /* 167361 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59194 /* 167363 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59195 /* 167370 */ // (fma:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VFMADD132SDm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59196 /* 167370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
59197 /* 167373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59198 /* 167375 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59199 /* 167377 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59200 /* 167379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59201 /* 167383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59202 /* 167388 */ GIR_RootConstrainSelectedInstOperands,
59203 /* 167389 */ // GIR_Coverage, 1311,
59204 /* 167389 */ GIR_EraseRootFromParent_Done,
59205 /* 167390 */ // Label 3693: @167390
59206 /* 167390 */ GIM_Try, /*On fail goto*//*Label 3694*/ GIMT_Encode4(167458), // Rule ID 10152 //
59207 /* 167395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59208 /* 167398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59209 /* 167402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59210 /* 167406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59211 /* 167410 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59212 /* 167413 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59213 /* 167417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59214 /* 167421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59215 /* 167425 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59216 /* 167429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59217 /* 167431 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59218 /* 167438 */ // (fma:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VFMADD132SDZm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59219 /* 167438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
59220 /* 167441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59221 /* 167443 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59222 /* 167445 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59223 /* 167447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59224 /* 167451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59225 /* 167456 */ GIR_RootConstrainSelectedInstOperands,
59226 /* 167457 */ // GIR_Coverage, 10152,
59227 /* 167457 */ GIR_EraseRootFromParent_Done,
59228 /* 167458 */ // Label 3694: @167458
59229 /* 167458 */ GIM_Try, /*On fail goto*//*Label 3695*/ GIMT_Encode4(167526), // Rule ID 23342 //
59230 /* 167463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
59231 /* 167466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59232 /* 167470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59233 /* 167474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59234 /* 167478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59235 /* 167481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59236 /* 167485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59237 /* 167489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59238 /* 167493 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59239 /* 167497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59240 /* 167499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59241 /* 167506 */ // (fma:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADDSD4mr:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2, FR64:{ *:[f64] }:$src3)
59242 /* 167506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
59243 /* 167509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59244 /* 167511 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59245 /* 167513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59246 /* 167517 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59247 /* 167519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59248 /* 167524 */ GIR_RootConstrainSelectedInstOperands,
59249 /* 167525 */ // GIR_Coverage, 23342,
59250 /* 167525 */ GIR_EraseRootFromParent_Done,
59251 /* 167526 */ // Label 3695: @167526
59252 /* 167526 */ GIM_Try, /*On fail goto*//*Label 3696*/ GIMT_Encode4(167594), // Rule ID 1309 //
59253 /* 167531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
59254 /* 167534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59255 /* 167538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59256 /* 167542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59257 /* 167546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59258 /* 167550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59259 /* 167553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59260 /* 167557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59261 /* 167561 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59262 /* 167565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59263 /* 167567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59264 /* 167574 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VFMADD231SDm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59265 /* 167574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
59266 /* 167577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59267 /* 167579 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59268 /* 167581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59269 /* 167583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59270 /* 167587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59271 /* 167592 */ GIR_RootConstrainSelectedInstOperands,
59272 /* 167593 */ // GIR_Coverage, 1309,
59273 /* 167593 */ GIR_EraseRootFromParent_Done,
59274 /* 167594 */ // Label 3696: @167594
59275 /* 167594 */ GIM_Try, /*On fail goto*//*Label 3697*/ GIMT_Encode4(167662), // Rule ID 1449 //
59276 /* 167599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
59277 /* 167602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59278 /* 167606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59279 /* 167610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59280 /* 167614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59281 /* 167618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59282 /* 167621 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59283 /* 167625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59284 /* 167629 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59285 /* 167633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59286 /* 167635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59287 /* 167642 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src3) => (VFMADDSD4mr:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2, FR64:{ *:[f64] }:$src3)
59288 /* 167642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
59289 /* 167645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59290 /* 167647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59291 /* 167649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59292 /* 167653 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59293 /* 167655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59294 /* 167660 */ GIR_RootConstrainSelectedInstOperands,
59295 /* 167661 */ // GIR_Coverage, 1449,
59296 /* 167661 */ GIR_EraseRootFromParent_Done,
59297 /* 167662 */ // Label 3697: @167662
59298 /* 167662 */ GIM_Try, /*On fail goto*//*Label 3698*/ GIMT_Encode4(167730), // Rule ID 10150 //
59299 /* 167667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59300 /* 167670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59301 /* 167674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59302 /* 167678 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59303 /* 167682 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59304 /* 167686 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59305 /* 167689 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59306 /* 167693 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59307 /* 167697 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59308 /* 167701 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59309 /* 167703 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59310 /* 167710 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VFMADD231SDZm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59311 /* 167710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
59312 /* 167713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59313 /* 167715 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59314 /* 167717 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59315 /* 167719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59316 /* 167723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59317 /* 167728 */ GIR_RootConstrainSelectedInstOperands,
59318 /* 167729 */ // GIR_Coverage, 10150,
59319 /* 167729 */ GIR_EraseRootFromParent_Done,
59320 /* 167730 */ // Label 3698: @167730
59321 /* 167730 */ GIM_Try, /*On fail goto*//*Label 3699*/ GIMT_Encode4(167798), // Rule ID 1307 //
59322 /* 167735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
59323 /* 167738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59324 /* 167742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59325 /* 167746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59326 /* 167750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59327 /* 167754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59328 /* 167758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59329 /* 167761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59330 /* 167765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59331 /* 167769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59332 /* 167771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59333 /* 167778 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SDm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59334 /* 167778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
59335 /* 167781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59336 /* 167783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59337 /* 167785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59338 /* 167787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59339 /* 167791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59340 /* 167796 */ GIR_RootConstrainSelectedInstOperands,
59341 /* 167797 */ // GIR_Coverage, 1307,
59342 /* 167797 */ GIR_EraseRootFromParent_Done,
59343 /* 167798 */ // Label 3699: @167798
59344 /* 167798 */ GIM_Try, /*On fail goto*//*Label 3700*/ GIMT_Encode4(167866), // Rule ID 1447 //
59345 /* 167803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
59346 /* 167806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59347 /* 167810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59348 /* 167814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59349 /* 167818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59350 /* 167822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59351 /* 167826 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59352 /* 167829 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59353 /* 167833 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59354 /* 167837 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59355 /* 167839 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59356 /* 167846 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDSD4rm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59357 /* 167846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
59358 /* 167849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59359 /* 167851 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59360 /* 167853 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59361 /* 167855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59362 /* 167859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59363 /* 167864 */ GIR_RootConstrainSelectedInstOperands,
59364 /* 167865 */ // GIR_Coverage, 1447,
59365 /* 167865 */ GIR_EraseRootFromParent_Done,
59366 /* 167866 */ // Label 3700: @167866
59367 /* 167866 */ GIM_Try, /*On fail goto*//*Label 3701*/ GIMT_Encode4(167934), // Rule ID 10147 //
59368 /* 167871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59369 /* 167874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59370 /* 167878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59371 /* 167882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59372 /* 167886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59373 /* 167890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59374 /* 167894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59375 /* 167897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59376 /* 167901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59377 /* 167905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59378 /* 167907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59379 /* 167914 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SDZm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59380 /* 167914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
59381 /* 167917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59382 /* 167919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59383 /* 167921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59384 /* 167923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59385 /* 167927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59386 /* 167932 */ GIR_RootConstrainSelectedInstOperands,
59387 /* 167933 */ // GIR_Coverage, 10147,
59388 /* 167933 */ GIR_EraseRootFromParent_Done,
59389 /* 167934 */ // Label 3701: @167934
59390 /* 167934 */ GIM_Try, /*On fail goto*//*Label 3702*/ GIMT_Encode4(167971), // Rule ID 1305 //
59391 /* 167939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
59392 /* 167942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59393 /* 167946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59394 /* 167950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59395 /* 167954 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59396 /* 167958 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
59397 /* 167958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
59398 /* 167961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59399 /* 167963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59400 /* 167965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59401 /* 167967 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59402 /* 167969 */ GIR_RootConstrainSelectedInstOperands,
59403 /* 167970 */ // GIR_Coverage, 1305,
59404 /* 167970 */ GIR_EraseRootFromParent_Done,
59405 /* 167971 */ // Label 3702: @167971
59406 /* 167971 */ GIM_Try, /*On fail goto*//*Label 3703*/ GIMT_Encode4(168006), // Rule ID 1445 //
59407 /* 167976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
59408 /* 167979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59409 /* 167983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59410 /* 167987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59411 /* 167991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
59412 /* 167995 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
59413 /* 167995 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
59414 /* 168000 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59415 /* 168004 */ GIR_RootConstrainSelectedInstOperands,
59416 /* 168005 */ // GIR_Coverage, 1445,
59417 /* 168005 */ GIR_Done,
59418 /* 168006 */ // Label 3703: @168006
59419 /* 168006 */ GIM_Try, /*On fail goto*//*Label 3704*/ GIMT_Encode4(168043), // Rule ID 10145 //
59420 /* 168011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59421 /* 168014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59422 /* 168018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59423 /* 168022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59424 /* 168026 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
59425 /* 168030 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
59426 /* 168030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
59427 /* 168033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59428 /* 168035 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59429 /* 168037 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59430 /* 168039 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59431 /* 168041 */ GIR_RootConstrainSelectedInstOperands,
59432 /* 168042 */ // GIR_Coverage, 10145,
59433 /* 168042 */ GIR_EraseRootFromParent_Done,
59434 /* 168043 */ // Label 3704: @168043
59435 /* 168043 */ GIM_Reject,
59436 /* 168044 */ // Label 3692: @168044
59437 /* 168044 */ GIM_Reject,
59438 /* 168045 */ // Label 3664: @168045
59439 /* 168045 */ GIM_Try, /*On fail goto*//*Label 3705*/ GIMT_Encode4(168781),
59440 /* 168050 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
59441 /* 168053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
59442 /* 168056 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
59443 /* 168059 */ GIM_Try, /*On fail goto*//*Label 3706*/ GIMT_Encode4(168127), // Rule ID 1191 //
59444 /* 168064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59445 /* 168067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59446 /* 168071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59447 /* 168075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59448 /* 168079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59449 /* 168082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59450 /* 168086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59451 /* 168090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59452 /* 168094 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59453 /* 168098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59454 /* 168100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59455 /* 168107 */ // (fma:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VFMADD132PDm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59456 /* 168107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
59457 /* 168110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59458 /* 168112 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59459 /* 168114 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59460 /* 168116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59461 /* 168120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59462 /* 168125 */ GIR_RootConstrainSelectedInstOperands,
59463 /* 168126 */ // GIR_Coverage, 1191,
59464 /* 168126 */ GIR_EraseRootFromParent_Done,
59465 /* 168127 */ // Label 3706: @168127
59466 /* 168127 */ GIM_Try, /*On fail goto*//*Label 3707*/ GIMT_Encode4(168195), // Rule ID 9684 //
59467 /* 168132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59468 /* 168135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59469 /* 168139 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59470 /* 168143 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59471 /* 168147 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59472 /* 168150 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59473 /* 168154 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59474 /* 168158 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59475 /* 168162 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59476 /* 168166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59477 /* 168168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59478 /* 168175 */ // (fma:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VFMADD132PDZ128m:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59479 /* 168175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
59480 /* 168178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59481 /* 168180 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59482 /* 168182 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59483 /* 168184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59484 /* 168188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59485 /* 168193 */ GIR_RootConstrainSelectedInstOperands,
59486 /* 168194 */ // GIR_Coverage, 9684,
59487 /* 168194 */ GIR_EraseRootFromParent_Done,
59488 /* 168195 */ // Label 3707: @168195
59489 /* 168195 */ GIM_Try, /*On fail goto*//*Label 3708*/ GIMT_Encode4(168263), // Rule ID 23350 //
59490 /* 168200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59491 /* 168203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59492 /* 168207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59493 /* 168211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59494 /* 168215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59495 /* 168218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59496 /* 168222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59497 /* 168226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59498 /* 168230 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59499 /* 168234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59500 /* 168236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59501 /* 168243 */ // (fma:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4mr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2f64] }:$src3)
59502 /* 168243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
59503 /* 168246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59504 /* 168248 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59505 /* 168250 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59506 /* 168254 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59507 /* 168256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59508 /* 168261 */ GIR_RootConstrainSelectedInstOperands,
59509 /* 168262 */ // GIR_Coverage, 23350,
59510 /* 168262 */ GIR_EraseRootFromParent_Done,
59511 /* 168263 */ // Label 3708: @168263
59512 /* 168263 */ GIM_Try, /*On fail goto*//*Label 3709*/ GIMT_Encode4(168331), // Rule ID 1189 //
59513 /* 168268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59514 /* 168271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59515 /* 168275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59516 /* 168279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59517 /* 168283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59518 /* 168287 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59519 /* 168290 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59520 /* 168294 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59521 /* 168298 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59522 /* 168302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59523 /* 168304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59524 /* 168311 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VFMADD231PDm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59525 /* 168311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
59526 /* 168314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59527 /* 168316 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59528 /* 168318 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59529 /* 168320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59530 /* 168324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59531 /* 168329 */ GIR_RootConstrainSelectedInstOperands,
59532 /* 168330 */ // GIR_Coverage, 1189,
59533 /* 168330 */ GIR_EraseRootFromParent_Done,
59534 /* 168331 */ // Label 3709: @168331
59535 /* 168331 */ GIM_Try, /*On fail goto*//*Label 3710*/ GIMT_Encode4(168399), // Rule ID 1473 //
59536 /* 168336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59537 /* 168339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59538 /* 168343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59539 /* 168347 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59540 /* 168351 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59541 /* 168355 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59542 /* 168358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59543 /* 168362 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59544 /* 168366 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59545 /* 168370 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59546 /* 168372 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59547 /* 168379 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4mr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2f64] }:$src3)
59548 /* 168379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
59549 /* 168382 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59550 /* 168384 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59551 /* 168386 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59552 /* 168390 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59553 /* 168392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59554 /* 168397 */ GIR_RootConstrainSelectedInstOperands,
59555 /* 168398 */ // GIR_Coverage, 1473,
59556 /* 168398 */ GIR_EraseRootFromParent_Done,
59557 /* 168399 */ // Label 3710: @168399
59558 /* 168399 */ GIM_Try, /*On fail goto*//*Label 3711*/ GIMT_Encode4(168467), // Rule ID 9144 //
59559 /* 168404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59560 /* 168407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59561 /* 168411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59562 /* 168415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59563 /* 168419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59564 /* 168423 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59565 /* 168426 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59566 /* 168430 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59567 /* 168434 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59568 /* 168438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59569 /* 168440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59570 /* 168447 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VFMADD231PDZ128m:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59571 /* 168447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
59572 /* 168450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59573 /* 168452 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59574 /* 168454 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59575 /* 168456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59576 /* 168460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59577 /* 168465 */ GIR_RootConstrainSelectedInstOperands,
59578 /* 168466 */ // GIR_Coverage, 9144,
59579 /* 168466 */ GIR_EraseRootFromParent_Done,
59580 /* 168467 */ // Label 3711: @168467
59581 /* 168467 */ GIM_Try, /*On fail goto*//*Label 3712*/ GIMT_Encode4(168535), // Rule ID 1187 //
59582 /* 168472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59583 /* 168475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59584 /* 168479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59585 /* 168483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59586 /* 168487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59587 /* 168491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59588 /* 168495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59589 /* 168498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59590 /* 168502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59591 /* 168506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59592 /* 168508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59593 /* 168515 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59594 /* 168515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
59595 /* 168518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59596 /* 168520 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59597 /* 168522 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59598 /* 168524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59599 /* 168528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59600 /* 168533 */ GIR_RootConstrainSelectedInstOperands,
59601 /* 168534 */ // GIR_Coverage, 1187,
59602 /* 168534 */ GIR_EraseRootFromParent_Done,
59603 /* 168535 */ // Label 3712: @168535
59604 /* 168535 */ GIM_Try, /*On fail goto*//*Label 3713*/ GIMT_Encode4(168603), // Rule ID 1471 //
59605 /* 168540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59606 /* 168543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59607 /* 168547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59608 /* 168551 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59609 /* 168555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59610 /* 168559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59611 /* 168563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59612 /* 168566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59613 /* 168570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59614 /* 168574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59615 /* 168576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59616 /* 168583 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPD4rm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59617 /* 168583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
59618 /* 168586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59619 /* 168588 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59620 /* 168590 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59621 /* 168592 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59622 /* 168596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59623 /* 168601 */ GIR_RootConstrainSelectedInstOperands,
59624 /* 168602 */ // GIR_Coverage, 1471,
59625 /* 168602 */ GIR_EraseRootFromParent_Done,
59626 /* 168603 */ // Label 3713: @168603
59627 /* 168603 */ GIM_Try, /*On fail goto*//*Label 3714*/ GIMT_Encode4(168671), // Rule ID 8517 //
59628 /* 168608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59629 /* 168611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59630 /* 168615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59631 /* 168619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59632 /* 168623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59633 /* 168627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59634 /* 168631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59635 /* 168634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59636 /* 168638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59637 /* 168642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59638 /* 168644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59639 /* 168651 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDZ128m:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59640 /* 168651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
59641 /* 168654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59642 /* 168656 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59643 /* 168658 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59644 /* 168660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59645 /* 168664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59646 /* 168669 */ GIR_RootConstrainSelectedInstOperands,
59647 /* 168670 */ // GIR_Coverage, 8517,
59648 /* 168670 */ GIR_EraseRootFromParent_Done,
59649 /* 168671 */ // Label 3714: @168671
59650 /* 168671 */ GIM_Try, /*On fail goto*//*Label 3715*/ GIMT_Encode4(168708), // Rule ID 1185 //
59651 /* 168676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59652 /* 168679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59653 /* 168683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59654 /* 168687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59655 /* 168691 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59656 /* 168695 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
59657 /* 168695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
59658 /* 168698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59659 /* 168700 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59660 /* 168702 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59661 /* 168704 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59662 /* 168706 */ GIR_RootConstrainSelectedInstOperands,
59663 /* 168707 */ // GIR_Coverage, 1185,
59664 /* 168707 */ GIR_EraseRootFromParent_Done,
59665 /* 168708 */ // Label 3715: @168708
59666 /* 168708 */ GIM_Try, /*On fail goto*//*Label 3716*/ GIMT_Encode4(168743), // Rule ID 1469 //
59667 /* 168713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59668 /* 168716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59669 /* 168720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59670 /* 168724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59671 /* 168728 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59672 /* 168732 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
59673 /* 168732 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
59674 /* 168737 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59675 /* 168741 */ GIR_RootConstrainSelectedInstOperands,
59676 /* 168742 */ // GIR_Coverage, 1469,
59677 /* 168742 */ GIR_Done,
59678 /* 168743 */ // Label 3716: @168743
59679 /* 168743 */ GIM_Try, /*On fail goto*//*Label 3717*/ GIMT_Encode4(168780), // Rule ID 8513 //
59680 /* 168748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59681 /* 168751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59682 /* 168755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59683 /* 168759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59684 /* 168763 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59685 /* 168767 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
59686 /* 168767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
59687 /* 168770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59688 /* 168772 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59689 /* 168774 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59690 /* 168776 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59691 /* 168778 */ GIR_RootConstrainSelectedInstOperands,
59692 /* 168779 */ // GIR_Coverage, 8513,
59693 /* 168779 */ GIR_EraseRootFromParent_Done,
59694 /* 168780 */ // Label 3717: @168780
59695 /* 168780 */ GIM_Reject,
59696 /* 168781 */ // Label 3705: @168781
59697 /* 168781 */ GIM_Reject,
59698 /* 168782 */ // Label 3665: @168782
59699 /* 168782 */ GIM_Try, /*On fail goto*//*Label 3718*/ GIMT_Encode4(169518),
59700 /* 168787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
59701 /* 168790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
59702 /* 168793 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
59703 /* 168796 */ GIM_Try, /*On fail goto*//*Label 3719*/ GIMT_Encode4(168864), // Rule ID 1143 //
59704 /* 168801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59705 /* 168804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59706 /* 168808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59707 /* 168812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59708 /* 168816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59709 /* 168819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59710 /* 168823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59711 /* 168827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59712 /* 168831 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59713 /* 168835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59714 /* 168837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59715 /* 168844 */ // (fma:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VFMADD132PSm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59716 /* 168844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
59717 /* 168847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59718 /* 168849 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59719 /* 168851 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59720 /* 168853 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59721 /* 168857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59722 /* 168862 */ GIR_RootConstrainSelectedInstOperands,
59723 /* 168863 */ // GIR_Coverage, 1143,
59724 /* 168863 */ GIR_EraseRootFromParent_Done,
59725 /* 168864 */ // Label 3719: @168864
59726 /* 168864 */ GIM_Try, /*On fail goto*//*Label 3720*/ GIMT_Encode4(168932), // Rule ID 9652 //
59727 /* 168869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59728 /* 168872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59729 /* 168876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59730 /* 168880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59731 /* 168884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59732 /* 168887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59733 /* 168891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59734 /* 168895 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59735 /* 168899 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59736 /* 168903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59737 /* 168905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59738 /* 168912 */ // (fma:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VFMADD132PSZ128m:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59739 /* 168912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
59740 /* 168915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59741 /* 168917 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59742 /* 168919 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59743 /* 168921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59744 /* 168925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59745 /* 168930 */ GIR_RootConstrainSelectedInstOperands,
59746 /* 168931 */ // GIR_Coverage, 9652,
59747 /* 168931 */ GIR_EraseRootFromParent_Done,
59748 /* 168932 */ // Label 3720: @168932
59749 /* 168932 */ GIM_Try, /*On fail goto*//*Label 3721*/ GIMT_Encode4(169000), // Rule ID 23322 //
59750 /* 168937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59751 /* 168940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59752 /* 168944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59753 /* 168948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59754 /* 168952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59755 /* 168955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59756 /* 168959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59757 /* 168963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59758 /* 168967 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59759 /* 168971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59760 /* 168973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59761 /* 168980 */ // (fma:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4mr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4f32] }:$src3)
59762 /* 168980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
59763 /* 168983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59764 /* 168985 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59765 /* 168987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59766 /* 168991 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59767 /* 168993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59768 /* 168998 */ GIR_RootConstrainSelectedInstOperands,
59769 /* 168999 */ // GIR_Coverage, 23322,
59770 /* 168999 */ GIR_EraseRootFromParent_Done,
59771 /* 169000 */ // Label 3721: @169000
59772 /* 169000 */ GIM_Try, /*On fail goto*//*Label 3722*/ GIMT_Encode4(169068), // Rule ID 1141 //
59773 /* 169005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59774 /* 169008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59775 /* 169012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59776 /* 169016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59777 /* 169020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59778 /* 169024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59779 /* 169027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59780 /* 169031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59781 /* 169035 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59782 /* 169039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59783 /* 169041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59784 /* 169048 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VFMADD231PSm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59785 /* 169048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
59786 /* 169051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59787 /* 169053 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59788 /* 169055 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59789 /* 169057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59790 /* 169061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59791 /* 169066 */ GIR_RootConstrainSelectedInstOperands,
59792 /* 169067 */ // GIR_Coverage, 1141,
59793 /* 169067 */ GIR_EraseRootFromParent_Done,
59794 /* 169068 */ // Label 3722: @169068
59795 /* 169068 */ GIM_Try, /*On fail goto*//*Label 3723*/ GIMT_Encode4(169136), // Rule ID 1389 //
59796 /* 169073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59797 /* 169076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59798 /* 169080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59799 /* 169084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59800 /* 169088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59801 /* 169092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59802 /* 169095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59803 /* 169099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59804 /* 169103 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59805 /* 169107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59806 /* 169109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59807 /* 169116 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4mr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4f32] }:$src3)
59808 /* 169116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
59809 /* 169119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59810 /* 169121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59811 /* 169123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59812 /* 169127 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59813 /* 169129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59814 /* 169134 */ GIR_RootConstrainSelectedInstOperands,
59815 /* 169135 */ // GIR_Coverage, 1389,
59816 /* 169135 */ GIR_EraseRootFromParent_Done,
59817 /* 169136 */ // Label 3723: @169136
59818 /* 169136 */ GIM_Try, /*On fail goto*//*Label 3724*/ GIMT_Encode4(169204), // Rule ID 9112 //
59819 /* 169141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59820 /* 169144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59821 /* 169148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59822 /* 169152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59823 /* 169156 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59824 /* 169160 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59825 /* 169163 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59826 /* 169167 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59827 /* 169171 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59828 /* 169175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59829 /* 169177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59830 /* 169184 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VFMADD231PSZ128m:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59831 /* 169184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
59832 /* 169187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59833 /* 169189 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59834 /* 169191 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59835 /* 169193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59836 /* 169197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59837 /* 169202 */ GIR_RootConstrainSelectedInstOperands,
59838 /* 169203 */ // GIR_Coverage, 9112,
59839 /* 169203 */ GIR_EraseRootFromParent_Done,
59840 /* 169204 */ // Label 3724: @169204
59841 /* 169204 */ GIM_Try, /*On fail goto*//*Label 3725*/ GIMT_Encode4(169272), // Rule ID 1139 //
59842 /* 169209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59843 /* 169212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59844 /* 169216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59845 /* 169220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59846 /* 169224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59847 /* 169228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59848 /* 169232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59849 /* 169235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59850 /* 169239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59851 /* 169243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59852 /* 169245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59853 /* 169252 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59854 /* 169252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
59855 /* 169255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59856 /* 169257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59857 /* 169259 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59858 /* 169261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59859 /* 169265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59860 /* 169270 */ GIR_RootConstrainSelectedInstOperands,
59861 /* 169271 */ // GIR_Coverage, 1139,
59862 /* 169271 */ GIR_EraseRootFromParent_Done,
59863 /* 169272 */ // Label 3725: @169272
59864 /* 169272 */ GIM_Try, /*On fail goto*//*Label 3726*/ GIMT_Encode4(169340), // Rule ID 1387 //
59865 /* 169277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59866 /* 169280 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59867 /* 169284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59868 /* 169288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59869 /* 169292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59870 /* 169296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59871 /* 169300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59872 /* 169303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59873 /* 169307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59874 /* 169311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59875 /* 169313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59876 /* 169320 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPS4rm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59877 /* 169320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
59878 /* 169323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59879 /* 169325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59880 /* 169327 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59881 /* 169329 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59882 /* 169333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59883 /* 169338 */ GIR_RootConstrainSelectedInstOperands,
59884 /* 169339 */ // GIR_Coverage, 1387,
59885 /* 169339 */ GIR_EraseRootFromParent_Done,
59886 /* 169340 */ // Label 3726: @169340
59887 /* 169340 */ GIM_Try, /*On fail goto*//*Label 3727*/ GIMT_Encode4(169408), // Rule ID 8478 //
59888 /* 169345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59889 /* 169348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59890 /* 169352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59891 /* 169356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59892 /* 169360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59893 /* 169364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59894 /* 169368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59895 /* 169371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59896 /* 169375 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59897 /* 169379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59898 /* 169381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59899 /* 169388 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSZ128m:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
59900 /* 169388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
59901 /* 169391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59902 /* 169393 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59903 /* 169395 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59904 /* 169397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59905 /* 169401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59906 /* 169406 */ GIR_RootConstrainSelectedInstOperands,
59907 /* 169407 */ // GIR_Coverage, 8478,
59908 /* 169407 */ GIR_EraseRootFromParent_Done,
59909 /* 169408 */ // Label 3727: @169408
59910 /* 169408 */ GIM_Try, /*On fail goto*//*Label 3728*/ GIMT_Encode4(169445), // Rule ID 1137 //
59911 /* 169413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59912 /* 169416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59913 /* 169420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59914 /* 169424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59915 /* 169428 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59916 /* 169432 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
59917 /* 169432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
59918 /* 169435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59919 /* 169437 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59920 /* 169439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59921 /* 169441 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59922 /* 169443 */ GIR_RootConstrainSelectedInstOperands,
59923 /* 169444 */ // GIR_Coverage, 1137,
59924 /* 169444 */ GIR_EraseRootFromParent_Done,
59925 /* 169445 */ // Label 3728: @169445
59926 /* 169445 */ GIM_Try, /*On fail goto*//*Label 3729*/ GIMT_Encode4(169480), // Rule ID 1385 //
59927 /* 169450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59928 /* 169453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59929 /* 169457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59930 /* 169461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59931 /* 169465 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59932 /* 169469 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
59933 /* 169469 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
59934 /* 169474 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59935 /* 169478 */ GIR_RootConstrainSelectedInstOperands,
59936 /* 169479 */ // GIR_Coverage, 1385,
59937 /* 169479 */ GIR_Done,
59938 /* 169480 */ // Label 3729: @169480
59939 /* 169480 */ GIM_Try, /*On fail goto*//*Label 3730*/ GIMT_Encode4(169517), // Rule ID 8474 //
59940 /* 169485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59941 /* 169488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59942 /* 169492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59943 /* 169496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59944 /* 169500 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59945 /* 169504 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
59946 /* 169504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
59947 /* 169507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59948 /* 169509 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59949 /* 169511 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59950 /* 169513 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59951 /* 169515 */ GIR_RootConstrainSelectedInstOperands,
59952 /* 169516 */ // GIR_Coverage, 8474,
59953 /* 169516 */ GIR_EraseRootFromParent_Done,
59954 /* 169517 */ // Label 3730: @169517
59955 /* 169517 */ GIM_Reject,
59956 /* 169518 */ // Label 3718: @169518
59957 /* 169518 */ GIM_Reject,
59958 /* 169519 */ // Label 3666: @169519
59959 /* 169519 */ GIM_Try, /*On fail goto*//*Label 3731*/ GIMT_Encode4(170255),
59960 /* 169524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
59961 /* 169527 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
59962 /* 169530 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
59963 /* 169533 */ GIM_Try, /*On fail goto*//*Label 3732*/ GIMT_Encode4(169601), // Rule ID 1199 //
59964 /* 169538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59965 /* 169541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59966 /* 169545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59967 /* 169549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59968 /* 169553 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59969 /* 169556 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59970 /* 169560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59971 /* 169564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59972 /* 169568 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59973 /* 169572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59974 /* 169574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59975 /* 169581 */ // (fma:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VFMADD132PDYm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59976 /* 169581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
59977 /* 169584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59978 /* 169586 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59979 /* 169588 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59980 /* 169590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59981 /* 169594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59982 /* 169599 */ GIR_RootConstrainSelectedInstOperands,
59983 /* 169600 */ // GIR_Coverage, 1199,
59984 /* 169600 */ GIR_EraseRootFromParent_Done,
59985 /* 169601 */ // Label 3732: @169601
59986 /* 169601 */ GIM_Try, /*On fail goto*//*Label 3733*/ GIMT_Encode4(169669), // Rule ID 9674 //
59987 /* 169606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59988 /* 169609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59989 /* 169613 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59990 /* 169617 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59991 /* 169621 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59992 /* 169624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59993 /* 169628 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59994 /* 169632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59995 /* 169636 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59996 /* 169640 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59997 /* 169642 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59998 /* 169649 */ // (fma:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VFMADD132PDZ256m:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
59999 /* 169649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
60000 /* 169652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60001 /* 169654 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60002 /* 169656 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60003 /* 169658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60004 /* 169662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60005 /* 169667 */ GIR_RootConstrainSelectedInstOperands,
60006 /* 169668 */ // GIR_Coverage, 9674,
60007 /* 169668 */ GIR_EraseRootFromParent_Done,
60008 /* 169669 */ // Label 3733: @169669
60009 /* 169669 */ GIM_Try, /*On fail goto*//*Label 3734*/ GIMT_Encode4(169737), // Rule ID 23352 //
60010 /* 169674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60011 /* 169677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60012 /* 169681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60013 /* 169685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60014 /* 169689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60015 /* 169692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60016 /* 169696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60017 /* 169700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60018 /* 169704 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60019 /* 169708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60020 /* 169710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60021 /* 169717 */ // (fma:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Ymr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4f64] }:$src3)
60022 /* 169717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
60023 /* 169720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60024 /* 169722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60025 /* 169724 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60026 /* 169728 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60027 /* 169730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60028 /* 169735 */ GIR_RootConstrainSelectedInstOperands,
60029 /* 169736 */ // GIR_Coverage, 23352,
60030 /* 169736 */ GIR_EraseRootFromParent_Done,
60031 /* 169737 */ // Label 3734: @169737
60032 /* 169737 */ GIM_Try, /*On fail goto*//*Label 3735*/ GIMT_Encode4(169805), // Rule ID 1197 //
60033 /* 169742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
60034 /* 169745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60035 /* 169749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60036 /* 169753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60037 /* 169757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60038 /* 169761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60039 /* 169764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60040 /* 169768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60041 /* 169772 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60042 /* 169776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60043 /* 169778 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60044 /* 169785 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VFMADD231PDYm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60045 /* 169785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
60046 /* 169788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60047 /* 169790 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60048 /* 169792 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60049 /* 169794 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60050 /* 169798 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60051 /* 169803 */ GIR_RootConstrainSelectedInstOperands,
60052 /* 169804 */ // GIR_Coverage, 1197,
60053 /* 169804 */ GIR_EraseRootFromParent_Done,
60054 /* 169805 */ // Label 3735: @169805
60055 /* 169805 */ GIM_Try, /*On fail goto*//*Label 3736*/ GIMT_Encode4(169873), // Rule ID 1479 //
60056 /* 169810 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60057 /* 169813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60058 /* 169817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60059 /* 169821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60060 /* 169825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60061 /* 169829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60062 /* 169832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60063 /* 169836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60064 /* 169840 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60065 /* 169844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60066 /* 169846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60067 /* 169853 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Ymr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4f64] }:$src3)
60068 /* 169853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
60069 /* 169856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60070 /* 169858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60071 /* 169860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60072 /* 169864 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60073 /* 169866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60074 /* 169871 */ GIR_RootConstrainSelectedInstOperands,
60075 /* 169872 */ // GIR_Coverage, 1479,
60076 /* 169872 */ GIR_EraseRootFromParent_Done,
60077 /* 169873 */ // Label 3736: @169873
60078 /* 169873 */ GIM_Try, /*On fail goto*//*Label 3737*/ GIMT_Encode4(169941), // Rule ID 9134 //
60079 /* 169878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60080 /* 169881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60081 /* 169885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60082 /* 169889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60083 /* 169893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60084 /* 169897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60085 /* 169900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60086 /* 169904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60087 /* 169908 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60088 /* 169912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60089 /* 169914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60090 /* 169921 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VFMADD231PDZ256m:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60091 /* 169921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
60092 /* 169924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60093 /* 169926 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60094 /* 169928 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60095 /* 169930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60096 /* 169934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60097 /* 169939 */ GIR_RootConstrainSelectedInstOperands,
60098 /* 169940 */ // GIR_Coverage, 9134,
60099 /* 169940 */ GIR_EraseRootFromParent_Done,
60100 /* 169941 */ // Label 3737: @169941
60101 /* 169941 */ GIM_Try, /*On fail goto*//*Label 3738*/ GIMT_Encode4(170009), // Rule ID 1195 //
60102 /* 169946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
60103 /* 169949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60104 /* 169953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60105 /* 169957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60106 /* 169961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60107 /* 169965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60108 /* 169969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60109 /* 169972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60110 /* 169976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60111 /* 169980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60112 /* 169982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60113 /* 169989 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDYm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60114 /* 169989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
60115 /* 169992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60116 /* 169994 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60117 /* 169996 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60118 /* 169998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60119 /* 170002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60120 /* 170007 */ GIR_RootConstrainSelectedInstOperands,
60121 /* 170008 */ // GIR_Coverage, 1195,
60122 /* 170008 */ GIR_EraseRootFromParent_Done,
60123 /* 170009 */ // Label 3738: @170009
60124 /* 170009 */ GIM_Try, /*On fail goto*//*Label 3739*/ GIMT_Encode4(170077), // Rule ID 1477 //
60125 /* 170014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60126 /* 170017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60127 /* 170021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60128 /* 170025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60129 /* 170029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60130 /* 170033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60131 /* 170037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60132 /* 170040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60133 /* 170044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60134 /* 170048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60135 /* 170050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60136 /* 170057 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPD4Yrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60137 /* 170057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
60138 /* 170060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60139 /* 170062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60140 /* 170064 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
60141 /* 170066 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60142 /* 170070 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60143 /* 170075 */ GIR_RootConstrainSelectedInstOperands,
60144 /* 170076 */ // GIR_Coverage, 1477,
60145 /* 170076 */ GIR_EraseRootFromParent_Done,
60146 /* 170077 */ // Label 3739: @170077
60147 /* 170077 */ GIM_Try, /*On fail goto*//*Label 3740*/ GIMT_Encode4(170145), // Rule ID 8505 //
60148 /* 170082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60149 /* 170085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60150 /* 170089 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60151 /* 170093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60152 /* 170097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60153 /* 170101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60154 /* 170105 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60155 /* 170108 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60156 /* 170112 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60157 /* 170116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60158 /* 170118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60159 /* 170125 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDZ256m:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60160 /* 170125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
60161 /* 170128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60162 /* 170130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60163 /* 170132 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60164 /* 170134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60165 /* 170138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60166 /* 170143 */ GIR_RootConstrainSelectedInstOperands,
60167 /* 170144 */ // GIR_Coverage, 8505,
60168 /* 170144 */ GIR_EraseRootFromParent_Done,
60169 /* 170145 */ // Label 3740: @170145
60170 /* 170145 */ GIM_Try, /*On fail goto*//*Label 3741*/ GIMT_Encode4(170182), // Rule ID 1193 //
60171 /* 170150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
60172 /* 170153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60173 /* 170157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60174 /* 170161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60175 /* 170165 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60176 /* 170169 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
60177 /* 170169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
60178 /* 170172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60179 /* 170174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60180 /* 170176 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60181 /* 170178 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60182 /* 170180 */ GIR_RootConstrainSelectedInstOperands,
60183 /* 170181 */ // GIR_Coverage, 1193,
60184 /* 170181 */ GIR_EraseRootFromParent_Done,
60185 /* 170182 */ // Label 3741: @170182
60186 /* 170182 */ GIM_Try, /*On fail goto*//*Label 3742*/ GIMT_Encode4(170217), // Rule ID 1475 //
60187 /* 170187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60188 /* 170190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60189 /* 170194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60190 /* 170198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60191 /* 170202 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60192 /* 170206 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
60193 /* 170206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
60194 /* 170211 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60195 /* 170215 */ GIR_RootConstrainSelectedInstOperands,
60196 /* 170216 */ // GIR_Coverage, 1475,
60197 /* 170216 */ GIR_Done,
60198 /* 170217 */ // Label 3742: @170217
60199 /* 170217 */ GIM_Try, /*On fail goto*//*Label 3743*/ GIMT_Encode4(170254), // Rule ID 8501 //
60200 /* 170222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60201 /* 170225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60202 /* 170229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60203 /* 170233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60204 /* 170237 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60205 /* 170241 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
60206 /* 170241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
60207 /* 170244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60208 /* 170246 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60209 /* 170248 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60210 /* 170250 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60211 /* 170252 */ GIR_RootConstrainSelectedInstOperands,
60212 /* 170253 */ // GIR_Coverage, 8501,
60213 /* 170253 */ GIR_EraseRootFromParent_Done,
60214 /* 170254 */ // Label 3743: @170254
60215 /* 170254 */ GIM_Reject,
60216 /* 170255 */ // Label 3731: @170255
60217 /* 170255 */ GIM_Reject,
60218 /* 170256 */ // Label 3667: @170256
60219 /* 170256 */ GIM_Try, /*On fail goto*//*Label 3744*/ GIMT_Encode4(170500),
60220 /* 170261 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
60221 /* 170264 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
60222 /* 170267 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
60223 /* 170270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60224 /* 170274 */ GIM_Try, /*On fail goto*//*Label 3745*/ GIMT_Encode4(170338), // Rule ID 9620 //
60225 /* 170279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60226 /* 170282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60227 /* 170286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60228 /* 170290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60229 /* 170293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60230 /* 170297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60231 /* 170301 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60232 /* 170305 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60233 /* 170309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60234 /* 170311 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60235 /* 170318 */ // (fma:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VFMADD132PHZ128m:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60236 /* 170318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
60237 /* 170321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60238 /* 170323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60239 /* 170325 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60240 /* 170327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60241 /* 170331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60242 /* 170336 */ GIR_RootConstrainSelectedInstOperands,
60243 /* 170337 */ // GIR_Coverage, 9620,
60244 /* 170337 */ GIR_EraseRootFromParent_Done,
60245 /* 170338 */ // Label 3745: @170338
60246 /* 170338 */ GIM_Try, /*On fail goto*//*Label 3746*/ GIMT_Encode4(170402), // Rule ID 9080 //
60247 /* 170343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60248 /* 170346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60249 /* 170350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60250 /* 170354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60251 /* 170358 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60252 /* 170361 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60253 /* 170365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60254 /* 170369 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60255 /* 170373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60256 /* 170375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60257 /* 170382 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VFMADD231PHZ128m:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60258 /* 170382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
60259 /* 170385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60260 /* 170387 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60261 /* 170389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60262 /* 170391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60263 /* 170395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60264 /* 170400 */ GIR_RootConstrainSelectedInstOperands,
60265 /* 170401 */ // GIR_Coverage, 9080,
60266 /* 170401 */ GIR_EraseRootFromParent_Done,
60267 /* 170402 */ // Label 3746: @170402
60268 /* 170402 */ GIM_Try, /*On fail goto*//*Label 3747*/ GIMT_Encode4(170466), // Rule ID 8439 //
60269 /* 170407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60270 /* 170410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60271 /* 170414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60272 /* 170418 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60273 /* 170422 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60274 /* 170426 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60275 /* 170429 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60276 /* 170433 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60277 /* 170437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60278 /* 170439 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60279 /* 170446 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PHZ128m:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60280 /* 170446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
60281 /* 170449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60282 /* 170451 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60283 /* 170453 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60284 /* 170455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60285 /* 170459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60286 /* 170464 */ GIR_RootConstrainSelectedInstOperands,
60287 /* 170465 */ // GIR_Coverage, 8439,
60288 /* 170465 */ GIR_EraseRootFromParent_Done,
60289 /* 170466 */ // Label 3747: @170466
60290 /* 170466 */ GIM_Try, /*On fail goto*//*Label 3748*/ GIMT_Encode4(170499), // Rule ID 8435 //
60291 /* 170471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60292 /* 170474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60293 /* 170478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60294 /* 170482 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60295 /* 170486 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
60296 /* 170486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
60297 /* 170489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60298 /* 170491 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60299 /* 170493 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60300 /* 170495 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60301 /* 170497 */ GIR_RootConstrainSelectedInstOperands,
60302 /* 170498 */ // GIR_Coverage, 8435,
60303 /* 170498 */ GIR_EraseRootFromParent_Done,
60304 /* 170499 */ // Label 3748: @170499
60305 /* 170499 */ GIM_Reject,
60306 /* 170500 */ // Label 3744: @170500
60307 /* 170500 */ GIM_Reject,
60308 /* 170501 */ // Label 3668: @170501
60309 /* 170501 */ GIM_Try, /*On fail goto*//*Label 3749*/ GIMT_Encode4(171237),
60310 /* 170506 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
60311 /* 170509 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
60312 /* 170512 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
60313 /* 170515 */ GIM_Try, /*On fail goto*//*Label 3750*/ GIMT_Encode4(170583), // Rule ID 1151 //
60314 /* 170520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
60315 /* 170523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60316 /* 170527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60317 /* 170531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60318 /* 170535 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60319 /* 170538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60320 /* 170542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60321 /* 170546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60322 /* 170550 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60323 /* 170554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60324 /* 170556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60325 /* 170563 */ // (fma:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VFMADD132PSYm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60326 /* 170563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
60327 /* 170566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60328 /* 170568 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60329 /* 170570 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60330 /* 170572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60331 /* 170576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60332 /* 170581 */ GIR_RootConstrainSelectedInstOperands,
60333 /* 170582 */ // GIR_Coverage, 1151,
60334 /* 170582 */ GIR_EraseRootFromParent_Done,
60335 /* 170583 */ // Label 3750: @170583
60336 /* 170583 */ GIM_Try, /*On fail goto*//*Label 3751*/ GIMT_Encode4(170651), // Rule ID 9642 //
60337 /* 170588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60338 /* 170591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60339 /* 170595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60340 /* 170599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60341 /* 170603 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60342 /* 170606 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60343 /* 170610 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60344 /* 170614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60345 /* 170618 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60346 /* 170622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60347 /* 170624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60348 /* 170631 */ // (fma:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VFMADD132PSZ256m:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60349 /* 170631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
60350 /* 170634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60351 /* 170636 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60352 /* 170638 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60353 /* 170640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60354 /* 170644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60355 /* 170649 */ GIR_RootConstrainSelectedInstOperands,
60356 /* 170650 */ // GIR_Coverage, 9642,
60357 /* 170650 */ GIR_EraseRootFromParent_Done,
60358 /* 170651 */ // Label 3751: @170651
60359 /* 170651 */ GIM_Try, /*On fail goto*//*Label 3752*/ GIMT_Encode4(170719), // Rule ID 23324 //
60360 /* 170656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60361 /* 170659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60362 /* 170663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60363 /* 170667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60364 /* 170671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60365 /* 170674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60366 /* 170678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60367 /* 170682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60368 /* 170686 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60369 /* 170690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60370 /* 170692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60371 /* 170699 */ // (fma:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Ymr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8f32] }:$src3)
60372 /* 170699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
60373 /* 170702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60374 /* 170704 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60375 /* 170706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60376 /* 170710 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60377 /* 170712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60378 /* 170717 */ GIR_RootConstrainSelectedInstOperands,
60379 /* 170718 */ // GIR_Coverage, 23324,
60380 /* 170718 */ GIR_EraseRootFromParent_Done,
60381 /* 170719 */ // Label 3752: @170719
60382 /* 170719 */ GIM_Try, /*On fail goto*//*Label 3753*/ GIMT_Encode4(170787), // Rule ID 1149 //
60383 /* 170724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
60384 /* 170727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60385 /* 170731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60386 /* 170735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60387 /* 170739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60388 /* 170743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60389 /* 170746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60390 /* 170750 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60391 /* 170754 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60392 /* 170758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60393 /* 170760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60394 /* 170767 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VFMADD231PSYm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60395 /* 170767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
60396 /* 170770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60397 /* 170772 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60398 /* 170774 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60399 /* 170776 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60400 /* 170780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60401 /* 170785 */ GIR_RootConstrainSelectedInstOperands,
60402 /* 170786 */ // GIR_Coverage, 1149,
60403 /* 170786 */ GIR_EraseRootFromParent_Done,
60404 /* 170787 */ // Label 3753: @170787
60405 /* 170787 */ GIM_Try, /*On fail goto*//*Label 3754*/ GIMT_Encode4(170855), // Rule ID 1395 //
60406 /* 170792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60407 /* 170795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60408 /* 170799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60409 /* 170803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60410 /* 170807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60411 /* 170811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60412 /* 170814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60413 /* 170818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60414 /* 170822 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60415 /* 170826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60416 /* 170828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60417 /* 170835 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Ymr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8f32] }:$src3)
60418 /* 170835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
60419 /* 170838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60420 /* 170840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60421 /* 170842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60422 /* 170846 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60423 /* 170848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60424 /* 170853 */ GIR_RootConstrainSelectedInstOperands,
60425 /* 170854 */ // GIR_Coverage, 1395,
60426 /* 170854 */ GIR_EraseRootFromParent_Done,
60427 /* 170855 */ // Label 3754: @170855
60428 /* 170855 */ GIM_Try, /*On fail goto*//*Label 3755*/ GIMT_Encode4(170923), // Rule ID 9102 //
60429 /* 170860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60430 /* 170863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60431 /* 170867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60432 /* 170871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60433 /* 170875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60434 /* 170879 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60435 /* 170882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60436 /* 170886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60437 /* 170890 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60438 /* 170894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60439 /* 170896 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60440 /* 170903 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VFMADD231PSZ256m:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60441 /* 170903 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
60442 /* 170906 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60443 /* 170908 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60444 /* 170910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60445 /* 170912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60446 /* 170916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60447 /* 170921 */ GIR_RootConstrainSelectedInstOperands,
60448 /* 170922 */ // GIR_Coverage, 9102,
60449 /* 170922 */ GIR_EraseRootFromParent_Done,
60450 /* 170923 */ // Label 3755: @170923
60451 /* 170923 */ GIM_Try, /*On fail goto*//*Label 3756*/ GIMT_Encode4(170991), // Rule ID 1147 //
60452 /* 170928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
60453 /* 170931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60454 /* 170935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60455 /* 170939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60456 /* 170943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60457 /* 170947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60458 /* 170951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60459 /* 170954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60460 /* 170958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60461 /* 170962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60462 /* 170964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60463 /* 170971 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSYm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60464 /* 170971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
60465 /* 170974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60466 /* 170976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60467 /* 170978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60468 /* 170980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60469 /* 170984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60470 /* 170989 */ GIR_RootConstrainSelectedInstOperands,
60471 /* 170990 */ // GIR_Coverage, 1147,
60472 /* 170990 */ GIR_EraseRootFromParent_Done,
60473 /* 170991 */ // Label 3756: @170991
60474 /* 170991 */ GIM_Try, /*On fail goto*//*Label 3757*/ GIMT_Encode4(171059), // Rule ID 1393 //
60475 /* 170996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60476 /* 170999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60477 /* 171003 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60478 /* 171007 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60479 /* 171011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60480 /* 171015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60481 /* 171019 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60482 /* 171022 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60483 /* 171026 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60484 /* 171030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60485 /* 171032 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60486 /* 171039 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPS4Yrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60487 /* 171039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
60488 /* 171042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60489 /* 171044 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60490 /* 171046 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
60491 /* 171048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60492 /* 171052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60493 /* 171057 */ GIR_RootConstrainSelectedInstOperands,
60494 /* 171058 */ // GIR_Coverage, 1393,
60495 /* 171058 */ GIR_EraseRootFromParent_Done,
60496 /* 171059 */ // Label 3757: @171059
60497 /* 171059 */ GIM_Try, /*On fail goto*//*Label 3758*/ GIMT_Encode4(171127), // Rule ID 8466 //
60498 /* 171064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60499 /* 171067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60500 /* 171071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60501 /* 171075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60502 /* 171079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60503 /* 171083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60504 /* 171087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60505 /* 171090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60506 /* 171094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60507 /* 171098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60508 /* 171100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60509 /* 171107 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSZ256m:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60510 /* 171107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
60511 /* 171110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60512 /* 171112 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60513 /* 171114 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60514 /* 171116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60515 /* 171120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60516 /* 171125 */ GIR_RootConstrainSelectedInstOperands,
60517 /* 171126 */ // GIR_Coverage, 8466,
60518 /* 171126 */ GIR_EraseRootFromParent_Done,
60519 /* 171127 */ // Label 3758: @171127
60520 /* 171127 */ GIM_Try, /*On fail goto*//*Label 3759*/ GIMT_Encode4(171164), // Rule ID 1145 //
60521 /* 171132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
60522 /* 171135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60523 /* 171139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60524 /* 171143 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60525 /* 171147 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60526 /* 171151 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
60527 /* 171151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
60528 /* 171154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60529 /* 171156 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60530 /* 171158 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60531 /* 171160 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60532 /* 171162 */ GIR_RootConstrainSelectedInstOperands,
60533 /* 171163 */ // GIR_Coverage, 1145,
60534 /* 171163 */ GIR_EraseRootFromParent_Done,
60535 /* 171164 */ // Label 3759: @171164
60536 /* 171164 */ GIM_Try, /*On fail goto*//*Label 3760*/ GIMT_Encode4(171199), // Rule ID 1391 //
60537 /* 171169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
60538 /* 171172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60539 /* 171176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60540 /* 171180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60541 /* 171184 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60542 /* 171188 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
60543 /* 171188 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
60544 /* 171193 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60545 /* 171197 */ GIR_RootConstrainSelectedInstOperands,
60546 /* 171198 */ // GIR_Coverage, 1391,
60547 /* 171198 */ GIR_Done,
60548 /* 171199 */ // Label 3760: @171199
60549 /* 171199 */ GIM_Try, /*On fail goto*//*Label 3761*/ GIMT_Encode4(171236), // Rule ID 8462 //
60550 /* 171204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60551 /* 171207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60552 /* 171211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60553 /* 171215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60554 /* 171219 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60555 /* 171223 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
60556 /* 171223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
60557 /* 171226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60558 /* 171228 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60559 /* 171230 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60560 /* 171232 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60561 /* 171234 */ GIR_RootConstrainSelectedInstOperands,
60562 /* 171235 */ // GIR_Coverage, 8462,
60563 /* 171235 */ GIR_EraseRootFromParent_Done,
60564 /* 171236 */ // Label 3761: @171236
60565 /* 171236 */ GIM_Reject,
60566 /* 171237 */ // Label 3749: @171237
60567 /* 171237 */ GIM_Reject,
60568 /* 171238 */ // Label 3669: @171238
60569 /* 171238 */ GIM_Try, /*On fail goto*//*Label 3762*/ GIMT_Encode4(171482),
60570 /* 171243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
60571 /* 171246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
60572 /* 171249 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
60573 /* 171252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60574 /* 171256 */ GIM_Try, /*On fail goto*//*Label 3763*/ GIMT_Encode4(171320), // Rule ID 9662 //
60575 /* 171261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60576 /* 171264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60577 /* 171268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60578 /* 171272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60579 /* 171275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60580 /* 171279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60581 /* 171283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60582 /* 171287 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60583 /* 171291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60584 /* 171293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60585 /* 171300 */ // (fma:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VFMADD132PDZm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60586 /* 171300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
60587 /* 171303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60588 /* 171305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60589 /* 171307 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60590 /* 171309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60591 /* 171313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60592 /* 171318 */ GIR_RootConstrainSelectedInstOperands,
60593 /* 171319 */ // GIR_Coverage, 9662,
60594 /* 171319 */ GIR_EraseRootFromParent_Done,
60595 /* 171320 */ // Label 3763: @171320
60596 /* 171320 */ GIM_Try, /*On fail goto*//*Label 3764*/ GIMT_Encode4(171384), // Rule ID 9122 //
60597 /* 171325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60598 /* 171328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60599 /* 171332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60600 /* 171336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60601 /* 171340 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60602 /* 171343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60603 /* 171347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60604 /* 171351 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60605 /* 171355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60606 /* 171357 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60607 /* 171364 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VFMADD231PDZm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60608 /* 171364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
60609 /* 171367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60610 /* 171369 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60611 /* 171371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60612 /* 171373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60613 /* 171377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60614 /* 171382 */ GIR_RootConstrainSelectedInstOperands,
60615 /* 171383 */ // GIR_Coverage, 9122,
60616 /* 171383 */ GIR_EraseRootFromParent_Done,
60617 /* 171384 */ // Label 3764: @171384
60618 /* 171384 */ GIM_Try, /*On fail goto*//*Label 3765*/ GIMT_Encode4(171448), // Rule ID 8490 //
60619 /* 171389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60620 /* 171392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60621 /* 171396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60622 /* 171400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60623 /* 171404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60624 /* 171408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60625 /* 171411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60626 /* 171415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60627 /* 171419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60628 /* 171421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60629 /* 171428 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDZm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, addr:{ *:[iPTR] }:$src3)
60630 /* 171428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
60631 /* 171431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60632 /* 171433 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60633 /* 171435 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60634 /* 171437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60635 /* 171441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60636 /* 171446 */ GIR_RootConstrainSelectedInstOperands,
60637 /* 171447 */ // GIR_Coverage, 8490,
60638 /* 171447 */ GIR_EraseRootFromParent_Done,
60639 /* 171448 */ // Label 3765: @171448
60640 /* 171448 */ GIM_Try, /*On fail goto*//*Label 3766*/ GIMT_Encode4(171481), // Rule ID 8486 //
60641 /* 171453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60642 /* 171456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60643 /* 171460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60644 /* 171464 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60645 /* 171468 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
60646 /* 171468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
60647 /* 171471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60648 /* 171473 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60649 /* 171475 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60650 /* 171477 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60651 /* 171479 */ GIR_RootConstrainSelectedInstOperands,
60652 /* 171480 */ // GIR_Coverage, 8486,
60653 /* 171480 */ GIR_EraseRootFromParent_Done,
60654 /* 171481 */ // Label 3766: @171481
60655 /* 171481 */ GIM_Reject,
60656 /* 171482 */ // Label 3762: @171482
60657 /* 171482 */ GIM_Reject,
60658 /* 171483 */ // Label 3670: @171483
60659 /* 171483 */ GIM_Try, /*On fail goto*//*Label 3767*/ GIMT_Encode4(171727),
60660 /* 171488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
60661 /* 171491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
60662 /* 171494 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
60663 /* 171497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60664 /* 171501 */ GIM_Try, /*On fail goto*//*Label 3768*/ GIMT_Encode4(171565), // Rule ID 9610 //
60665 /* 171506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60666 /* 171509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60667 /* 171513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60668 /* 171517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60669 /* 171520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60670 /* 171524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60671 /* 171528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60672 /* 171532 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60673 /* 171536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60674 /* 171538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60675 /* 171545 */ // (fma:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VFMADD132PHZ256m:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60676 /* 171545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
60677 /* 171548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60678 /* 171550 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60679 /* 171552 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60680 /* 171554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60681 /* 171558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60682 /* 171563 */ GIR_RootConstrainSelectedInstOperands,
60683 /* 171564 */ // GIR_Coverage, 9610,
60684 /* 171564 */ GIR_EraseRootFromParent_Done,
60685 /* 171565 */ // Label 3768: @171565
60686 /* 171565 */ GIM_Try, /*On fail goto*//*Label 3769*/ GIMT_Encode4(171629), // Rule ID 9070 //
60687 /* 171570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60688 /* 171573 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60689 /* 171577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60690 /* 171581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60691 /* 171585 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60692 /* 171588 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60693 /* 171592 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60694 /* 171596 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60695 /* 171600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60696 /* 171602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60697 /* 171609 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VFMADD231PHZ256m:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60698 /* 171609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
60699 /* 171612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60700 /* 171614 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60701 /* 171616 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60702 /* 171618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60703 /* 171622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60704 /* 171627 */ GIR_RootConstrainSelectedInstOperands,
60705 /* 171628 */ // GIR_Coverage, 9070,
60706 /* 171628 */ GIR_EraseRootFromParent_Done,
60707 /* 171629 */ // Label 3769: @171629
60708 /* 171629 */ GIM_Try, /*On fail goto*//*Label 3770*/ GIMT_Encode4(171693), // Rule ID 8427 //
60709 /* 171634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60710 /* 171637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60711 /* 171641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60712 /* 171645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60713 /* 171649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60714 /* 171653 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60715 /* 171656 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60716 /* 171660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60717 /* 171664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60718 /* 171666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60719 /* 171673 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PHZ256m:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60720 /* 171673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
60721 /* 171676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60722 /* 171678 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60723 /* 171680 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60724 /* 171682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60725 /* 171686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60726 /* 171691 */ GIR_RootConstrainSelectedInstOperands,
60727 /* 171692 */ // GIR_Coverage, 8427,
60728 /* 171692 */ GIR_EraseRootFromParent_Done,
60729 /* 171693 */ // Label 3770: @171693
60730 /* 171693 */ GIM_Try, /*On fail goto*//*Label 3771*/ GIMT_Encode4(171726), // Rule ID 8423 //
60731 /* 171698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60732 /* 171701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60733 /* 171705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60734 /* 171709 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60735 /* 171713 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
60736 /* 171713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
60737 /* 171716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60738 /* 171718 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60739 /* 171720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60740 /* 171722 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60741 /* 171724 */ GIR_RootConstrainSelectedInstOperands,
60742 /* 171725 */ // GIR_Coverage, 8423,
60743 /* 171725 */ GIR_EraseRootFromParent_Done,
60744 /* 171726 */ // Label 3771: @171726
60745 /* 171726 */ GIM_Reject,
60746 /* 171727 */ // Label 3767: @171727
60747 /* 171727 */ GIM_Reject,
60748 /* 171728 */ // Label 3671: @171728
60749 /* 171728 */ GIM_Try, /*On fail goto*//*Label 3772*/ GIMT_Encode4(171972),
60750 /* 171733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
60751 /* 171736 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
60752 /* 171739 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
60753 /* 171742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60754 /* 171746 */ GIM_Try, /*On fail goto*//*Label 3773*/ GIMT_Encode4(171810), // Rule ID 9630 //
60755 /* 171751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60756 /* 171754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60757 /* 171758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60758 /* 171762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60759 /* 171765 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60760 /* 171769 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60761 /* 171773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60762 /* 171777 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60763 /* 171781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60764 /* 171783 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60765 /* 171790 */ // (fma:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VFMADD132PSZm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60766 /* 171790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
60767 /* 171793 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60768 /* 171795 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60769 /* 171797 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60770 /* 171799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60771 /* 171803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60772 /* 171808 */ GIR_RootConstrainSelectedInstOperands,
60773 /* 171809 */ // GIR_Coverage, 9630,
60774 /* 171809 */ GIR_EraseRootFromParent_Done,
60775 /* 171810 */ // Label 3773: @171810
60776 /* 171810 */ GIM_Try, /*On fail goto*//*Label 3774*/ GIMT_Encode4(171874), // Rule ID 9090 //
60777 /* 171815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60778 /* 171818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60779 /* 171822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60780 /* 171826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60781 /* 171830 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60782 /* 171833 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60783 /* 171837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60784 /* 171841 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60785 /* 171845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60786 /* 171847 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60787 /* 171854 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VFMADD231PSZm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60788 /* 171854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
60789 /* 171857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60790 /* 171859 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60791 /* 171861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60792 /* 171863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60793 /* 171867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60794 /* 171872 */ GIR_RootConstrainSelectedInstOperands,
60795 /* 171873 */ // GIR_Coverage, 9090,
60796 /* 171873 */ GIR_EraseRootFromParent_Done,
60797 /* 171874 */ // Label 3774: @171874
60798 /* 171874 */ GIM_Try, /*On fail goto*//*Label 3775*/ GIMT_Encode4(171938), // Rule ID 8451 //
60799 /* 171879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60800 /* 171882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60801 /* 171886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60802 /* 171890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60803 /* 171894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60804 /* 171898 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60805 /* 171901 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60806 /* 171905 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60807 /* 171909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60808 /* 171911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60809 /* 171918 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSZm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, addr:{ *:[iPTR] }:$src3)
60810 /* 171918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
60811 /* 171921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60812 /* 171923 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60813 /* 171925 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60814 /* 171927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60815 /* 171931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60816 /* 171936 */ GIR_RootConstrainSelectedInstOperands,
60817 /* 171937 */ // GIR_Coverage, 8451,
60818 /* 171937 */ GIR_EraseRootFromParent_Done,
60819 /* 171938 */ // Label 3775: @171938
60820 /* 171938 */ GIM_Try, /*On fail goto*//*Label 3776*/ GIMT_Encode4(171971), // Rule ID 8447 //
60821 /* 171943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60822 /* 171946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60823 /* 171950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60824 /* 171954 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60825 /* 171958 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
60826 /* 171958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
60827 /* 171961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60828 /* 171963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60829 /* 171965 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60830 /* 171967 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60831 /* 171969 */ GIR_RootConstrainSelectedInstOperands,
60832 /* 171970 */ // GIR_Coverage, 8447,
60833 /* 171970 */ GIR_EraseRootFromParent_Done,
60834 /* 171971 */ // Label 3776: @171971
60835 /* 171971 */ GIM_Reject,
60836 /* 171972 */ // Label 3772: @171972
60837 /* 171972 */ GIM_Reject,
60838 /* 171973 */ // Label 3672: @171973
60839 /* 171973 */ GIM_Try, /*On fail goto*//*Label 3777*/ GIMT_Encode4(172217),
60840 /* 171978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
60841 /* 171981 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
60842 /* 171984 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
60843 /* 171987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60844 /* 171991 */ GIM_Try, /*On fail goto*//*Label 3778*/ GIMT_Encode4(172055), // Rule ID 9598 //
60845 /* 171996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60846 /* 171999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60847 /* 172003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60848 /* 172007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60849 /* 172010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60850 /* 172014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60851 /* 172018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60852 /* 172022 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60853 /* 172026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60854 /* 172028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60855 /* 172035 */ // (fma:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VFMADD132PHZm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60856 /* 172035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
60857 /* 172038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60858 /* 172040 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60859 /* 172042 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
60860 /* 172044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60861 /* 172048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60862 /* 172053 */ GIR_RootConstrainSelectedInstOperands,
60863 /* 172054 */ // GIR_Coverage, 9598,
60864 /* 172054 */ GIR_EraseRootFromParent_Done,
60865 /* 172055 */ // Label 3778: @172055
60866 /* 172055 */ GIM_Try, /*On fail goto*//*Label 3779*/ GIMT_Encode4(172119), // Rule ID 9058 //
60867 /* 172060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60868 /* 172063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60869 /* 172067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60870 /* 172071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60871 /* 172075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60872 /* 172078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60873 /* 172082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60874 /* 172086 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60875 /* 172090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60876 /* 172092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60877 /* 172099 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VFMADD231PHZm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60878 /* 172099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
60879 /* 172102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60880 /* 172104 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
60881 /* 172106 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60882 /* 172108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60883 /* 172112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60884 /* 172117 */ GIR_RootConstrainSelectedInstOperands,
60885 /* 172118 */ // GIR_Coverage, 9058,
60886 /* 172118 */ GIR_EraseRootFromParent_Done,
60887 /* 172119 */ // Label 3779: @172119
60888 /* 172119 */ GIM_Try, /*On fail goto*//*Label 3780*/ GIMT_Encode4(172183), // Rule ID 8412 //
60889 /* 172124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60890 /* 172127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60891 /* 172131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60892 /* 172135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
60893 /* 172139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60894 /* 172143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60895 /* 172146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60896 /* 172150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60897 /* 172154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60898 /* 172156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60899 /* 172163 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PHZm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, addr:{ *:[iPTR] }:$src3)
60900 /* 172163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
60901 /* 172166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60902 /* 172168 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60903 /* 172170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60904 /* 172172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
60905 /* 172176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60906 /* 172181 */ GIR_RootConstrainSelectedInstOperands,
60907 /* 172182 */ // GIR_Coverage, 8412,
60908 /* 172182 */ GIR_EraseRootFromParent_Done,
60909 /* 172183 */ // Label 3780: @172183
60910 /* 172183 */ GIM_Try, /*On fail goto*//*Label 3781*/ GIMT_Encode4(172216), // Rule ID 8408 //
60911 /* 172188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60912 /* 172191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60913 /* 172195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60914 /* 172199 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60915 /* 172203 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
60916 /* 172203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
60917 /* 172206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60918 /* 172208 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60919 /* 172210 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
60920 /* 172212 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
60921 /* 172214 */ GIR_RootConstrainSelectedInstOperands,
60922 /* 172215 */ // GIR_Coverage, 8408,
60923 /* 172215 */ GIR_EraseRootFromParent_Done,
60924 /* 172216 */ // Label 3781: @172216
60925 /* 172216 */ GIM_Reject,
60926 /* 172217 */ // Label 3777: @172217
60927 /* 172217 */ GIM_Reject,
60928 /* 172218 */ // Label 3673: @172218
60929 /* 172218 */ GIM_Reject,
60930 /* 172219 */ // Label 46: @172219
60931 /* 172219 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3795*/ GIMT_Encode4(176400),
60932 /* 172230 */ /*GILLT_s16*//*Label 3782*/ GIMT_Encode4(172314),
60933 /* 172234 */ /*GILLT_s32*//*Label 3783*/ GIMT_Encode4(172412),
60934 /* 172238 */ /*GILLT_s64*//*Label 3784*/ GIMT_Encode4(173377),
60935 /* 172242 */ /*GILLT_s80*//*Label 3785*/ GIMT_Encode4(174486), GIMT_Encode4(0), GIMT_Encode4(0),
60936 /* 172254 */ /*GILLT_v2s64*//*Label 3786*/ GIMT_Encode4(175052), GIMT_Encode4(0),
60937 /* 172262 */ /*GILLT_v4s32*//*Label 3787*/ GIMT_Encode4(175282),
60938 /* 172266 */ /*GILLT_v4s64*//*Label 3788*/ GIMT_Encode4(175512), GIMT_Encode4(0),
60939 /* 172274 */ /*GILLT_v8s16*//*Label 3789*/ GIMT_Encode4(175711),
60940 /* 172278 */ /*GILLT_v8s32*//*Label 3790*/ GIMT_Encode4(175809),
60941 /* 172282 */ /*GILLT_v8s64*//*Label 3791*/ GIMT_Encode4(176008), GIMT_Encode4(0), GIMT_Encode4(0),
60942 /* 172294 */ /*GILLT_v16s16*//*Label 3792*/ GIMT_Encode4(176106),
60943 /* 172298 */ /*GILLT_v16s32*//*Label 3793*/ GIMT_Encode4(176204), GIMT_Encode4(0), GIMT_Encode4(0),
60944 /* 172310 */ /*GILLT_v32s16*//*Label 3794*/ GIMT_Encode4(176302),
60945 /* 172314 */ // Label 3782: @172314
60946 /* 172314 */ GIM_Try, /*On fail goto*//*Label 3796*/ GIMT_Encode4(172411),
60947 /* 172319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
60948 /* 172322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
60949 /* 172325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60950 /* 172329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60951 /* 172333 */ GIM_Try, /*On fail goto*//*Label 3797*/ GIMT_Encode4(172387), // Rule ID 6129 //
60952 /* 172338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60953 /* 172341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60954 /* 172345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60955 /* 172349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60956 /* 172352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60957 /* 172356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60958 /* 172360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60959 /* 172362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60960 /* 172369 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
60961 /* 172369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
60962 /* 172372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60963 /* 172374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60964 /* 172376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60965 /* 172380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60966 /* 172385 */ GIR_RootConstrainSelectedInstOperands,
60967 /* 172386 */ // GIR_Coverage, 6129,
60968 /* 172386 */ GIR_EraseRootFromParent_Done,
60969 /* 172387 */ // Label 3797: @172387
60970 /* 172387 */ GIM_Try, /*On fail goto*//*Label 3798*/ GIMT_Encode4(172410), // Rule ID 6127 //
60971 /* 172392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60972 /* 172395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
60973 /* 172399 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
60974 /* 172399 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
60975 /* 172404 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60976 /* 172408 */ GIR_RootConstrainSelectedInstOperands,
60977 /* 172409 */ // GIR_Coverage, 6127,
60978 /* 172409 */ GIR_Done,
60979 /* 172410 */ // Label 3798: @172410
60980 /* 172410 */ GIM_Reject,
60981 /* 172411 */ // Label 3796: @172411
60982 /* 172411 */ GIM_Reject,
60983 /* 172412 */ // Label 3783: @172412
60984 /* 172412 */ GIM_Try, /*On fail goto*//*Label 3799*/ GIMT_Encode4(173376),
60985 /* 172417 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
60986 /* 172420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
60987 /* 172423 */ GIM_Try, /*On fail goto*//*Label 3800*/ GIMT_Encode4(172505), // Rule ID 22499 //
60988 /* 172428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60989 /* 172431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60990 /* 172435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60991 /* 172439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60992 /* 172443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60993 /* 172447 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
60994 /* 172451 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60995 /* 172455 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60996 /* 172459 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60997 /* 172462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60998 /* 172466 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60999 /* 172473 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
61000 /* 172477 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
61001 /* 172479 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61002 /* 172486 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61003 /* 172486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
61004 /* 172489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61005 /* 172491 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61006 /* 172493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61007 /* 172497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
61008 /* 172503 */ GIR_RootConstrainSelectedInstOperands,
61009 /* 172504 */ // GIR_Coverage, 22499,
61010 /* 172504 */ GIR_EraseRootFromParent_Done,
61011 /* 172505 */ // Label 3800: @172505
61012 /* 172505 */ GIM_Try, /*On fail goto*//*Label 3801*/ GIMT_Encode4(172587), // Rule ID 22500 //
61013 /* 172510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61014 /* 172513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61015 /* 172517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61016 /* 172521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61017 /* 172525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
61018 /* 172529 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
61019 /* 172533 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
61020 /* 172537 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
61021 /* 172541 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
61022 /* 172544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
61023 /* 172548 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61024 /* 172555 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
61025 /* 172559 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
61026 /* 172561 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61027 /* 172568 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61028 /* 172568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
61029 /* 172571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61030 /* 172573 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61031 /* 172575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61032 /* 172579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
61033 /* 172585 */ GIR_RootConstrainSelectedInstOperands,
61034 /* 172586 */ // GIR_Coverage, 22500,
61035 /* 172586 */ GIR_EraseRootFromParent_Done,
61036 /* 172587 */ // Label 3801: @172587
61037 /* 172587 */ GIM_Try, /*On fail goto*//*Label 3802*/ GIMT_Encode4(172669), // Rule ID 22501 //
61038 /* 172592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61039 /* 172595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61040 /* 172599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61041 /* 172603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61042 /* 172607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
61043 /* 172611 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
61044 /* 172615 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
61045 /* 172619 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
61046 /* 172623 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
61047 /* 172626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
61048 /* 172630 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61049 /* 172637 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
61050 /* 172641 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
61051 /* 172643 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61052 /* 172650 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (bitconvert:{ *:[f32] } (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>>)) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61053 /* 172650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
61054 /* 172653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61055 /* 172655 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61056 /* 172657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61057 /* 172661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
61058 /* 172667 */ GIR_RootConstrainSelectedInstOperands,
61059 /* 172668 */ // GIR_Coverage, 22501,
61060 /* 172668 */ GIR_EraseRootFromParent_Done,
61061 /* 172669 */ // Label 3802: @172669
61062 /* 172669 */ GIM_Try, /*On fail goto*//*Label 3803*/ GIMT_Encode4(172734), // Rule ID 1030 //
61063 /* 172674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61064 /* 172677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61065 /* 172681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61066 /* 172685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61067 /* 172689 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
61068 /* 172696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61069 /* 172700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61070 /* 172704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61071 /* 172706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61072 /* 172713 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61073 /* 172713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
61074 /* 172716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61075 /* 172718 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61076 /* 172720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61077 /* 172724 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61078 /* 172727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61079 /* 172732 */ GIR_RootConstrainSelectedInstOperands,
61080 /* 172733 */ // GIR_Coverage, 1030,
61081 /* 172733 */ GIR_EraseRootFromParent_Done,
61082 /* 172734 */ // Label 3803: @172734
61083 /* 172734 */ GIM_Try, /*On fail goto*//*Label 3804*/ GIMT_Encode4(172799), // Rule ID 1032 //
61084 /* 172739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61085 /* 172742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61086 /* 172746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61087 /* 172750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61088 /* 172754 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61089 /* 172761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61090 /* 172765 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61091 /* 172769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61092 /* 172771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61093 /* 172778 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61094 /* 172778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
61095 /* 172781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61096 /* 172783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61097 /* 172785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61098 /* 172789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61099 /* 172792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61100 /* 172797 */ GIR_RootConstrainSelectedInstOperands,
61101 /* 172798 */ // GIR_Coverage, 1032,
61102 /* 172798 */ GIR_EraseRootFromParent_Done,
61103 /* 172799 */ // Label 3804: @172799
61104 /* 172799 */ GIM_Try, /*On fail goto*//*Label 3805*/ GIMT_Encode4(172864), // Rule ID 1020 //
61105 /* 172804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61106 /* 172807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61107 /* 172811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61108 /* 172815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61109 /* 172819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61110 /* 172822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61111 /* 172826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61112 /* 172830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61113 /* 172834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61114 /* 172836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61115 /* 172843 */ // (fdiv:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (DIVR_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61116 /* 172843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
61117 /* 172846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61118 /* 172848 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61119 /* 172850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61120 /* 172854 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61121 /* 172857 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61122 /* 172862 */ GIR_RootConstrainSelectedInstOperands,
61123 /* 172863 */ // GIR_Coverage, 1020,
61124 /* 172863 */ GIR_EraseRootFromParent_Done,
61125 /* 172864 */ // Label 3805: @172864
61126 /* 172864 */ GIM_Try, /*On fail goto*//*Label 3806*/ GIMT_Encode4(172929), // Rule ID 1008 //
61127 /* 172869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61128 /* 172872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61129 /* 172876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61130 /* 172880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61131 /* 172884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61132 /* 172888 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
61133 /* 172895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61134 /* 172899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61135 /* 172901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61136 /* 172908 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61137 /* 172908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
61138 /* 172911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61139 /* 172913 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61140 /* 172915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61141 /* 172919 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61142 /* 172922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61143 /* 172927 */ GIR_RootConstrainSelectedInstOperands,
61144 /* 172928 */ // GIR_Coverage, 1008,
61145 /* 172928 */ GIR_EraseRootFromParent_Done,
61146 /* 172929 */ // Label 3806: @172929
61147 /* 172929 */ GIM_Try, /*On fail goto*//*Label 3807*/ GIMT_Encode4(172994), // Rule ID 1010 //
61148 /* 172934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61149 /* 172937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61150 /* 172941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61151 /* 172945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61152 /* 172949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61153 /* 172953 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61154 /* 172960 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61155 /* 172964 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61156 /* 172966 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61157 /* 172973 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61158 /* 172973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
61159 /* 172976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61160 /* 172978 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61161 /* 172980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61162 /* 172984 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61163 /* 172987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61164 /* 172992 */ GIR_RootConstrainSelectedInstOperands,
61165 /* 172993 */ // GIR_Coverage, 1010,
61166 /* 172993 */ GIR_EraseRootFromParent_Done,
61167 /* 172994 */ // Label 3807: @172994
61168 /* 172994 */ GIM_Try, /*On fail goto*//*Label 3808*/ GIMT_Encode4(173059), // Rule ID 998 //
61169 /* 172999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61170 /* 173002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61171 /* 173006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61172 /* 173010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61173 /* 173014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61174 /* 173018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61175 /* 173021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61176 /* 173025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61177 /* 173029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61178 /* 173031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61179 /* 173038 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIV_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61180 /* 173038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
61181 /* 173041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61182 /* 173043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61183 /* 173045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61184 /* 173049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61185 /* 173052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61186 /* 173057 */ GIR_RootConstrainSelectedInstOperands,
61187 /* 173058 */ // GIR_Coverage, 998,
61188 /* 173058 */ GIR_EraseRootFromParent_Done,
61189 /* 173059 */ // Label 3808: @173059
61190 /* 173059 */ GIM_Try, /*On fail goto*//*Label 3809*/ GIMT_Encode4(173121), // Rule ID 2280 //
61191 /* 173064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61192 /* 173067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61193 /* 173071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61194 /* 173075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61195 /* 173079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61196 /* 173083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61197 /* 173086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61198 /* 173090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61199 /* 173094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61200 /* 173096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61201 /* 173103 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61202 /* 173103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
61203 /* 173106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61204 /* 173108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61205 /* 173110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61206 /* 173114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61207 /* 173119 */ GIR_RootConstrainSelectedInstOperands,
61208 /* 173120 */ // GIR_Coverage, 2280,
61209 /* 173120 */ GIR_EraseRootFromParent_Done,
61210 /* 173121 */ // Label 3809: @173121
61211 /* 173121 */ GIM_Try, /*On fail goto*//*Label 3810*/ GIMT_Encode4(173183), // Rule ID 2288 //
61212 /* 173126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61213 /* 173129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61214 /* 173133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61215 /* 173137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61216 /* 173141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61217 /* 173145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61218 /* 173148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61219 /* 173152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61220 /* 173156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61221 /* 173158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61222 /* 173165 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61223 /* 173165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
61224 /* 173168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61225 /* 173170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61226 /* 173172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61227 /* 173176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61228 /* 173181 */ GIR_RootConstrainSelectedInstOperands,
61229 /* 173182 */ // GIR_Coverage, 2288,
61230 /* 173182 */ GIR_EraseRootFromParent_Done,
61231 /* 173183 */ // Label 3810: @173183
61232 /* 173183 */ GIM_Try, /*On fail goto*//*Label 3811*/ GIMT_Encode4(173245), // Rule ID 6091 //
61233 /* 173188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61234 /* 173191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61235 /* 173195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61236 /* 173199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61237 /* 173203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61238 /* 173207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61239 /* 173210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61240 /* 173214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61241 /* 173218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61242 /* 173220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61243 /* 173227 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61244 /* 173227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
61245 /* 173230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61246 /* 173232 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61247 /* 173234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61248 /* 173238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61249 /* 173243 */ GIR_RootConstrainSelectedInstOperands,
61250 /* 173244 */ // GIR_Coverage, 6091,
61251 /* 173244 */ GIR_EraseRootFromParent_Done,
61252 /* 173245 */ // Label 3811: @173245
61253 /* 173245 */ GIM_Try, /*On fail goto*//*Label 3812*/ GIMT_Encode4(173282), // Rule ID 904 //
61254 /* 173250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61255 /* 173253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61256 /* 173257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61257 /* 173261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61258 /* 173265 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
61259 /* 173265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
61260 /* 173270 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61261 /* 173276 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
61262 /* 173280 */ GIR_RootConstrainSelectedInstOperands,
61263 /* 173281 */ // GIR_Coverage, 904,
61264 /* 173281 */ GIR_Done,
61265 /* 173282 */ // Label 3812: @173282
61266 /* 173282 */ GIM_Try, /*On fail goto*//*Label 3813*/ GIMT_Encode4(173313), // Rule ID 2278 //
61267 /* 173287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61268 /* 173290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61269 /* 173294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61270 /* 173298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61271 /* 173302 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
61272 /* 173302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
61273 /* 173307 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61274 /* 173311 */ GIR_RootConstrainSelectedInstOperands,
61275 /* 173312 */ // GIR_Coverage, 2278,
61276 /* 173312 */ GIR_Done,
61277 /* 173313 */ // Label 3813: @173313
61278 /* 173313 */ GIM_Try, /*On fail goto*//*Label 3814*/ GIMT_Encode4(173344), // Rule ID 2286 //
61279 /* 173318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61280 /* 173321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61281 /* 173325 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61282 /* 173329 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61283 /* 173333 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
61284 /* 173333 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
61285 /* 173338 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61286 /* 173342 */ GIR_RootConstrainSelectedInstOperands,
61287 /* 173343 */ // GIR_Coverage, 2286,
61288 /* 173343 */ GIR_Done,
61289 /* 173344 */ // Label 3814: @173344
61290 /* 173344 */ GIM_Try, /*On fail goto*//*Label 3815*/ GIMT_Encode4(173375), // Rule ID 6089 //
61291 /* 173349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61292 /* 173352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61293 /* 173356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61294 /* 173360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61295 /* 173364 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
61296 /* 173364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
61297 /* 173369 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61298 /* 173373 */ GIR_RootConstrainSelectedInstOperands,
61299 /* 173374 */ // GIR_Coverage, 6089,
61300 /* 173374 */ GIR_Done,
61301 /* 173375 */ // Label 3815: @173375
61302 /* 173375 */ GIM_Reject,
61303 /* 173376 */ // Label 3799: @173376
61304 /* 173376 */ GIM_Reject,
61305 /* 173377 */ // Label 3784: @173377
61306 /* 173377 */ GIM_Try, /*On fail goto*//*Label 3816*/ GIMT_Encode4(174485),
61307 /* 173382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61308 /* 173385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
61309 /* 173388 */ GIM_Try, /*On fail goto*//*Label 3817*/ GIMT_Encode4(173470), // Rule ID 22502 //
61310 /* 173393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61311 /* 173396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61312 /* 173400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61313 /* 173404 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61314 /* 173408 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
61315 /* 173412 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
61316 /* 173416 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
61317 /* 173420 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
61318 /* 173424 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
61319 /* 173427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
61320 /* 173431 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
61321 /* 173438 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
61322 /* 173442 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
61323 /* 173444 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61324 /* 173451 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61325 /* 173451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
61326 /* 173454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61327 /* 173456 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61328 /* 173458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61329 /* 173462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
61330 /* 173468 */ GIR_RootConstrainSelectedInstOperands,
61331 /* 173469 */ // GIR_Coverage, 22502,
61332 /* 173469 */ GIR_EraseRootFromParent_Done,
61333 /* 173470 */ // Label 3817: @173470
61334 /* 173470 */ GIM_Try, /*On fail goto*//*Label 3818*/ GIMT_Encode4(173552), // Rule ID 22503 //
61335 /* 173475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61336 /* 173478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61337 /* 173482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61338 /* 173486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61339 /* 173490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
61340 /* 173494 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
61341 /* 173498 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
61342 /* 173502 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
61343 /* 173506 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
61344 /* 173509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
61345 /* 173513 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
61346 /* 173520 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
61347 /* 173524 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
61348 /* 173526 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61349 /* 173533 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61350 /* 173533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
61351 /* 173536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61352 /* 173538 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61353 /* 173540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61354 /* 173544 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
61355 /* 173550 */ GIR_RootConstrainSelectedInstOperands,
61356 /* 173551 */ // GIR_Coverage, 22503,
61357 /* 173551 */ GIR_EraseRootFromParent_Done,
61358 /* 173552 */ // Label 3818: @173552
61359 /* 173552 */ GIM_Try, /*On fail goto*//*Label 3819*/ GIMT_Encode4(173634), // Rule ID 22504 //
61360 /* 173557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61361 /* 173560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61362 /* 173564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61363 /* 173568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61364 /* 173572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
61365 /* 173576 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
61366 /* 173580 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
61367 /* 173584 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
61368 /* 173588 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
61369 /* 173591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
61370 /* 173595 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
61371 /* 173602 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
61372 /* 173606 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
61373 /* 173608 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61374 /* 173615 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (bitconvert:{ *:[f64] } (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>>)) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61375 /* 173615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
61376 /* 173618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61377 /* 173620 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61378 /* 173622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61379 /* 173626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
61380 /* 173632 */ GIR_RootConstrainSelectedInstOperands,
61381 /* 173633 */ // GIR_Coverage, 22504,
61382 /* 173633 */ GIR_EraseRootFromParent_Done,
61383 /* 173634 */ // Label 3819: @173634
61384 /* 173634 */ GIM_Try, /*On fail goto*//*Label 3820*/ GIMT_Encode4(173699), // Rule ID 1034 //
61385 /* 173639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61386 /* 173642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61387 /* 173646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61388 /* 173650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61389 /* 173654 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
61390 /* 173661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61391 /* 173665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61392 /* 173669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61393 /* 173671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61394 /* 173678 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61395 /* 173678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
61396 /* 173681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61397 /* 173683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61398 /* 173685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61399 /* 173689 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61400 /* 173692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61401 /* 173697 */ GIR_RootConstrainSelectedInstOperands,
61402 /* 173698 */ // GIR_Coverage, 1034,
61403 /* 173698 */ GIR_EraseRootFromParent_Done,
61404 /* 173699 */ // Label 3820: @173699
61405 /* 173699 */ GIM_Try, /*On fail goto*//*Label 3821*/ GIMT_Encode4(173764), // Rule ID 1036 //
61406 /* 173704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61407 /* 173707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61408 /* 173711 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61409 /* 173715 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61410 /* 173719 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61411 /* 173726 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61412 /* 173730 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61413 /* 173734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61414 /* 173736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61415 /* 173743 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61416 /* 173743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
61417 /* 173746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61418 /* 173748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61419 /* 173750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61420 /* 173754 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61421 /* 173757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61422 /* 173762 */ GIR_RootConstrainSelectedInstOperands,
61423 /* 173763 */ // GIR_Coverage, 1036,
61424 /* 173763 */ GIR_EraseRootFromParent_Done,
61425 /* 173764 */ // Label 3821: @173764
61426 /* 173764 */ GIM_Try, /*On fail goto*//*Label 3822*/ GIMT_Encode4(173829), // Rule ID 1022 //
61427 /* 173769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61428 /* 173772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61429 /* 173776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61430 /* 173780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61431 /* 173784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61432 /* 173787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61433 /* 173791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61434 /* 173795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61435 /* 173799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61436 /* 173801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61437 /* 173808 */ // (fdiv:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (DIVR_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61438 /* 173808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
61439 /* 173811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61440 /* 173813 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61441 /* 173815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61442 /* 173819 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61443 /* 173822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61444 /* 173827 */ GIR_RootConstrainSelectedInstOperands,
61445 /* 173828 */ // GIR_Coverage, 1022,
61446 /* 173828 */ GIR_EraseRootFromParent_Done,
61447 /* 173829 */ // Label 3822: @173829
61448 /* 173829 */ GIM_Try, /*On fail goto*//*Label 3823*/ GIMT_Encode4(173901), // Rule ID 1024 //
61449 /* 173834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61450 /* 173837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61451 /* 173841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61452 /* 173845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61453 /* 173849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61454 /* 173852 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61455 /* 173856 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61456 /* 173863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61457 /* 173867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61458 /* 173871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61459 /* 173873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61460 /* 173880 */ // (fdiv:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61461 /* 173880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
61462 /* 173883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61463 /* 173885 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61464 /* 173887 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61465 /* 173891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61466 /* 173894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61467 /* 173899 */ GIR_RootConstrainSelectedInstOperands,
61468 /* 173900 */ // GIR_Coverage, 1024,
61469 /* 173900 */ GIR_EraseRootFromParent_Done,
61470 /* 173901 */ // Label 3823: @173901
61471 /* 173901 */ GIM_Try, /*On fail goto*//*Label 3824*/ GIMT_Encode4(173966), // Rule ID 1012 //
61472 /* 173906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61473 /* 173909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61474 /* 173913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61475 /* 173917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61476 /* 173921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61477 /* 173925 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
61478 /* 173932 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61479 /* 173936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61480 /* 173938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61481 /* 173945 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61482 /* 173945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
61483 /* 173948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61484 /* 173950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61485 /* 173952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61486 /* 173956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61487 /* 173959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61488 /* 173964 */ GIR_RootConstrainSelectedInstOperands,
61489 /* 173965 */ // GIR_Coverage, 1012,
61490 /* 173965 */ GIR_EraseRootFromParent_Done,
61491 /* 173966 */ // Label 3824: @173966
61492 /* 173966 */ GIM_Try, /*On fail goto*//*Label 3825*/ GIMT_Encode4(174031), // Rule ID 1014 //
61493 /* 173971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61494 /* 173974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61495 /* 173978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61496 /* 173982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61497 /* 173986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61498 /* 173990 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61499 /* 173997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61500 /* 174001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61501 /* 174003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61502 /* 174010 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61503 /* 174010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
61504 /* 174013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61505 /* 174015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61506 /* 174017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61507 /* 174021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61508 /* 174024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61509 /* 174029 */ GIR_RootConstrainSelectedInstOperands,
61510 /* 174030 */ // GIR_Coverage, 1014,
61511 /* 174030 */ GIR_EraseRootFromParent_Done,
61512 /* 174031 */ // Label 3825: @174031
61513 /* 174031 */ GIM_Try, /*On fail goto*//*Label 3826*/ GIMT_Encode4(174096), // Rule ID 1000 //
61514 /* 174036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61515 /* 174039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61516 /* 174043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61517 /* 174047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61518 /* 174051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61519 /* 174055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61520 /* 174058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61521 /* 174062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61522 /* 174066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61523 /* 174068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61524 /* 174075 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIV_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61525 /* 174075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
61526 /* 174078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61527 /* 174080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61528 /* 174082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61529 /* 174086 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61530 /* 174089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61531 /* 174094 */ GIR_RootConstrainSelectedInstOperands,
61532 /* 174095 */ // GIR_Coverage, 1000,
61533 /* 174095 */ GIR_EraseRootFromParent_Done,
61534 /* 174096 */ // Label 3826: @174096
61535 /* 174096 */ GIM_Try, /*On fail goto*//*Label 3827*/ GIMT_Encode4(174168), // Rule ID 1002 //
61536 /* 174101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61537 /* 174104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61538 /* 174108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61539 /* 174112 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61540 /* 174116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61541 /* 174120 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61542 /* 174123 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61543 /* 174127 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61544 /* 174134 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61545 /* 174138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61546 /* 174140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61547 /* 174147 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (DIV_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61548 /* 174147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
61549 /* 174150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61550 /* 174152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61551 /* 174154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61552 /* 174158 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61553 /* 174161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61554 /* 174166 */ GIR_RootConstrainSelectedInstOperands,
61555 /* 174167 */ // GIR_Coverage, 1002,
61556 /* 174167 */ GIR_EraseRootFromParent_Done,
61557 /* 174168 */ // Label 3827: @174168
61558 /* 174168 */ GIM_Try, /*On fail goto*//*Label 3828*/ GIMT_Encode4(174230), // Rule ID 2284 //
61559 /* 174173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61560 /* 174176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61561 /* 174180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61562 /* 174184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61563 /* 174188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61564 /* 174192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61565 /* 174195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61566 /* 174199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61567 /* 174203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61568 /* 174205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61569 /* 174212 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61570 /* 174212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
61571 /* 174215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61572 /* 174217 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61573 /* 174219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61574 /* 174223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61575 /* 174228 */ GIR_RootConstrainSelectedInstOperands,
61576 /* 174229 */ // GIR_Coverage, 2284,
61577 /* 174229 */ GIR_EraseRootFromParent_Done,
61578 /* 174230 */ // Label 3828: @174230
61579 /* 174230 */ GIM_Try, /*On fail goto*//*Label 3829*/ GIMT_Encode4(174292), // Rule ID 2292 //
61580 /* 174235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61581 /* 174238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61582 /* 174242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61583 /* 174246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61584 /* 174250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61585 /* 174254 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61586 /* 174257 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61587 /* 174261 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61588 /* 174265 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61589 /* 174267 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61590 /* 174274 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61591 /* 174274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
61592 /* 174277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61593 /* 174279 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61594 /* 174281 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61595 /* 174285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61596 /* 174290 */ GIR_RootConstrainSelectedInstOperands,
61597 /* 174291 */ // GIR_Coverage, 2292,
61598 /* 174291 */ GIR_EraseRootFromParent_Done,
61599 /* 174292 */ // Label 3829: @174292
61600 /* 174292 */ GIM_Try, /*On fail goto*//*Label 3830*/ GIMT_Encode4(174354), // Rule ID 6110 //
61601 /* 174297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61602 /* 174300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61603 /* 174304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61604 /* 174308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61605 /* 174312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61606 /* 174316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61607 /* 174319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61608 /* 174323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61609 /* 174327 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61610 /* 174329 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61611 /* 174336 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61612 /* 174336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
61613 /* 174339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61614 /* 174341 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61615 /* 174343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61616 /* 174347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61617 /* 174352 */ GIR_RootConstrainSelectedInstOperands,
61618 /* 174353 */ // GIR_Coverage, 6110,
61619 /* 174353 */ GIR_EraseRootFromParent_Done,
61620 /* 174354 */ // Label 3830: @174354
61621 /* 174354 */ GIM_Try, /*On fail goto*//*Label 3831*/ GIMT_Encode4(174391), // Rule ID 906 //
61622 /* 174359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61623 /* 174362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61624 /* 174366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61625 /* 174370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61626 /* 174374 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
61627 /* 174374 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
61628 /* 174379 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61629 /* 174385 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
61630 /* 174389 */ GIR_RootConstrainSelectedInstOperands,
61631 /* 174390 */ // GIR_Coverage, 906,
61632 /* 174390 */ GIR_Done,
61633 /* 174391 */ // Label 3831: @174391
61634 /* 174391 */ GIM_Try, /*On fail goto*//*Label 3832*/ GIMT_Encode4(174422), // Rule ID 2282 //
61635 /* 174396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61636 /* 174399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61637 /* 174403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61638 /* 174407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61639 /* 174411 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
61640 /* 174411 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
61641 /* 174416 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61642 /* 174420 */ GIR_RootConstrainSelectedInstOperands,
61643 /* 174421 */ // GIR_Coverage, 2282,
61644 /* 174421 */ GIR_Done,
61645 /* 174422 */ // Label 3832: @174422
61646 /* 174422 */ GIM_Try, /*On fail goto*//*Label 3833*/ GIMT_Encode4(174453), // Rule ID 2290 //
61647 /* 174427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61648 /* 174430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61649 /* 174434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61650 /* 174438 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61651 /* 174442 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
61652 /* 174442 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
61653 /* 174447 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61654 /* 174451 */ GIR_RootConstrainSelectedInstOperands,
61655 /* 174452 */ // GIR_Coverage, 2290,
61656 /* 174452 */ GIR_Done,
61657 /* 174453 */ // Label 3833: @174453
61658 /* 174453 */ GIM_Try, /*On fail goto*//*Label 3834*/ GIMT_Encode4(174484), // Rule ID 6108 //
61659 /* 174458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61660 /* 174461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61661 /* 174465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61662 /* 174469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61663 /* 174473 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
61664 /* 174473 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
61665 /* 174478 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61666 /* 174482 */ GIR_RootConstrainSelectedInstOperands,
61667 /* 174483 */ // GIR_Coverage, 6108,
61668 /* 174483 */ GIR_Done,
61669 /* 174484 */ // Label 3834: @174484
61670 /* 174484 */ GIM_Reject,
61671 /* 174485 */ // Label 3816: @174485
61672 /* 174485 */ GIM_Reject,
61673 /* 174486 */ // Label 3785: @174486
61674 /* 174486 */ GIM_Try, /*On fail goto*//*Label 3835*/ GIMT_Encode4(175051),
61675 /* 174491 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61676 /* 174494 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
61677 /* 174497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61678 /* 174501 */ GIM_Try, /*On fail goto*//*Label 3836*/ GIMT_Encode4(174562), // Rule ID 1038 //
61679 /* 174506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61680 /* 174509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61681 /* 174513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61682 /* 174517 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
61683 /* 174524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61684 /* 174528 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61685 /* 174532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61686 /* 174534 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61687 /* 174541 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61688 /* 174541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
61689 /* 174544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61690 /* 174546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61691 /* 174548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61692 /* 174552 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61693 /* 174555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61694 /* 174560 */ GIR_RootConstrainSelectedInstOperands,
61695 /* 174561 */ // GIR_Coverage, 1038,
61696 /* 174561 */ GIR_EraseRootFromParent_Done,
61697 /* 174562 */ // Label 3836: @174562
61698 /* 174562 */ GIM_Try, /*On fail goto*//*Label 3837*/ GIMT_Encode4(174623), // Rule ID 1040 //
61699 /* 174567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61700 /* 174570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61701 /* 174574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61702 /* 174578 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61703 /* 174585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61704 /* 174589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61705 /* 174593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61706 /* 174595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61707 /* 174602 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61708 /* 174602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
61709 /* 174605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61710 /* 174607 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61711 /* 174609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61712 /* 174613 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61713 /* 174616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61714 /* 174621 */ GIR_RootConstrainSelectedInstOperands,
61715 /* 174622 */ // GIR_Coverage, 1040,
61716 /* 174622 */ GIR_EraseRootFromParent_Done,
61717 /* 174623 */ // Label 3837: @174623
61718 /* 174623 */ GIM_Try, /*On fail goto*//*Label 3838*/ GIMT_Encode4(174691), // Rule ID 1026 //
61719 /* 174628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61720 /* 174631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61721 /* 174635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61722 /* 174639 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61723 /* 174642 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61724 /* 174646 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61725 /* 174653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61726 /* 174657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61727 /* 174661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61728 /* 174663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61729 /* 174670 */ // (fdiv:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61730 /* 174670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
61731 /* 174673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61732 /* 174675 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61733 /* 174677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61734 /* 174681 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61735 /* 174684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61736 /* 174689 */ GIR_RootConstrainSelectedInstOperands,
61737 /* 174690 */ // GIR_Coverage, 1026,
61738 /* 174690 */ GIR_EraseRootFromParent_Done,
61739 /* 174691 */ // Label 3838: @174691
61740 /* 174691 */ GIM_Try, /*On fail goto*//*Label 3839*/ GIMT_Encode4(174759), // Rule ID 1028 //
61741 /* 174696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61742 /* 174699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61743 /* 174703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61744 /* 174707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61745 /* 174710 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61746 /* 174714 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
61747 /* 174721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61748 /* 174725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61749 /* 174729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61750 /* 174731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61751 /* 174738 */ // (fdiv:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (DIVR_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61752 /* 174738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
61753 /* 174741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61754 /* 174743 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
61755 /* 174745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61756 /* 174749 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61757 /* 174752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61758 /* 174757 */ GIR_RootConstrainSelectedInstOperands,
61759 /* 174758 */ // GIR_Coverage, 1028,
61760 /* 174758 */ GIR_EraseRootFromParent_Done,
61761 /* 174759 */ // Label 3839: @174759
61762 /* 174759 */ GIM_Try, /*On fail goto*//*Label 3840*/ GIMT_Encode4(174820), // Rule ID 1016 //
61763 /* 174764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61764 /* 174767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61765 /* 174771 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61766 /* 174775 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61767 /* 174779 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
61768 /* 174786 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61769 /* 174790 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61770 /* 174792 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61771 /* 174799 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61772 /* 174799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
61773 /* 174802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61774 /* 174804 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61775 /* 174806 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61776 /* 174810 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61777 /* 174813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61778 /* 174818 */ GIR_RootConstrainSelectedInstOperands,
61779 /* 174819 */ // GIR_Coverage, 1016,
61780 /* 174819 */ GIR_EraseRootFromParent_Done,
61781 /* 174820 */ // Label 3840: @174820
61782 /* 174820 */ GIM_Try, /*On fail goto*//*Label 3841*/ GIMT_Encode4(174881), // Rule ID 1018 //
61783 /* 174825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61784 /* 174828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61785 /* 174832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61786 /* 174836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
61787 /* 174840 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61788 /* 174847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61789 /* 174851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61790 /* 174853 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61791 /* 174860 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61792 /* 174860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
61793 /* 174863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61794 /* 174865 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61795 /* 174867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61796 /* 174871 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61797 /* 174874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61798 /* 174879 */ GIR_RootConstrainSelectedInstOperands,
61799 /* 174880 */ // GIR_Coverage, 1018,
61800 /* 174880 */ GIR_EraseRootFromParent_Done,
61801 /* 174881 */ // Label 3841: @174881
61802 /* 174881 */ GIM_Try, /*On fail goto*//*Label 3842*/ GIMT_Encode4(174949), // Rule ID 1004 //
61803 /* 174886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61804 /* 174889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61805 /* 174893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61806 /* 174897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61807 /* 174901 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61808 /* 174904 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61809 /* 174908 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
61810 /* 174915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61811 /* 174919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61812 /* 174921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61813 /* 174928 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (DIV_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61814 /* 174928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
61815 /* 174931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61816 /* 174933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61817 /* 174935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61818 /* 174939 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61819 /* 174942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61820 /* 174947 */ GIR_RootConstrainSelectedInstOperands,
61821 /* 174948 */ // GIR_Coverage, 1004,
61822 /* 174948 */ GIR_EraseRootFromParent_Done,
61823 /* 174949 */ // Label 3842: @174949
61824 /* 174949 */ GIM_Try, /*On fail goto*//*Label 3843*/ GIMT_Encode4(175017), // Rule ID 1006 //
61825 /* 174954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61826 /* 174957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61827 /* 174961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61828 /* 174965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61829 /* 174969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61830 /* 174972 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61831 /* 174976 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
61832 /* 174983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61833 /* 174987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61834 /* 174989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61835 /* 174996 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (DIV_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
61836 /* 174996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
61837 /* 174999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61838 /* 175001 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61839 /* 175003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61840 /* 175007 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
61841 /* 175010 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61842 /* 175015 */ GIR_RootConstrainSelectedInstOperands,
61843 /* 175016 */ // GIR_Coverage, 1006,
61844 /* 175016 */ GIR_EraseRootFromParent_Done,
61845 /* 175017 */ // Label 3843: @175017
61846 /* 175017 */ GIM_Try, /*On fail goto*//*Label 3844*/ GIMT_Encode4(175050), // Rule ID 908 //
61847 /* 175022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61848 /* 175025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61849 /* 175029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61850 /* 175033 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
61851 /* 175033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
61852 /* 175038 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61853 /* 175044 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
61854 /* 175048 */ GIR_RootConstrainSelectedInstOperands,
61855 /* 175049 */ // GIR_Coverage, 908,
61856 /* 175049 */ GIR_Done,
61857 /* 175050 */ // Label 3844: @175050
61858 /* 175050 */ GIM_Reject,
61859 /* 175051 */ // Label 3835: @175051
61860 /* 175051 */ GIM_Reject,
61861 /* 175052 */ // Label 3786: @175052
61862 /* 175052 */ GIM_Try, /*On fail goto*//*Label 3845*/ GIMT_Encode4(175281),
61863 /* 175057 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
61864 /* 175060 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
61865 /* 175063 */ GIM_Try, /*On fail goto*//*Label 3846*/ GIMT_Encode4(175125), // Rule ID 2260 //
61866 /* 175068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61867 /* 175071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61868 /* 175075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61869 /* 175079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61870 /* 175083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61871 /* 175087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61872 /* 175090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61873 /* 175094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61874 /* 175098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61875 /* 175100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61876 /* 175107 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61877 /* 175107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
61878 /* 175110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61879 /* 175112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61880 /* 175114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61881 /* 175118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61882 /* 175123 */ GIR_RootConstrainSelectedInstOperands,
61883 /* 175124 */ // GIR_Coverage, 2260,
61884 /* 175124 */ GIR_EraseRootFromParent_Done,
61885 /* 175125 */ // Label 3846: @175125
61886 /* 175125 */ GIM_Try, /*On fail goto*//*Label 3847*/ GIMT_Encode4(175187), // Rule ID 6663 //
61887 /* 175130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61888 /* 175133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61889 /* 175137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61890 /* 175141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61891 /* 175145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61892 /* 175149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61893 /* 175152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61894 /* 175156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61895 /* 175160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61896 /* 175162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61897 /* 175169 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61898 /* 175169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
61899 /* 175172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61900 /* 175174 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61901 /* 175176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61902 /* 175180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61903 /* 175185 */ GIR_RootConstrainSelectedInstOperands,
61904 /* 175186 */ // GIR_Coverage, 6663,
61905 /* 175186 */ GIR_EraseRootFromParent_Done,
61906 /* 175187 */ // Label 3847: @175187
61907 /* 175187 */ GIM_Try, /*On fail goto*//*Label 3848*/ GIMT_Encode4(175218), // Rule ID 2258 //
61908 /* 175192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61909 /* 175195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61910 /* 175199 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61911 /* 175203 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61912 /* 175207 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
61913 /* 175207 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
61914 /* 175212 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61915 /* 175216 */ GIR_RootConstrainSelectedInstOperands,
61916 /* 175217 */ // GIR_Coverage, 2258,
61917 /* 175217 */ GIR_Done,
61918 /* 175218 */ // Label 3848: @175218
61919 /* 175218 */ GIM_Try, /*On fail goto*//*Label 3849*/ GIMT_Encode4(175249), // Rule ID 2274 //
61920 /* 175223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61921 /* 175226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61922 /* 175230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61923 /* 175234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61924 /* 175238 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
61925 /* 175238 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
61926 /* 175243 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61927 /* 175247 */ GIR_RootConstrainSelectedInstOperands,
61928 /* 175248 */ // GIR_Coverage, 2274,
61929 /* 175248 */ GIR_Done,
61930 /* 175249 */ // Label 3849: @175249
61931 /* 175249 */ GIM_Try, /*On fail goto*//*Label 3850*/ GIMT_Encode4(175280), // Rule ID 6659 //
61932 /* 175254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61933 /* 175257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61934 /* 175261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61935 /* 175265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61936 /* 175269 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
61937 /* 175269 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
61938 /* 175274 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61939 /* 175278 */ GIR_RootConstrainSelectedInstOperands,
61940 /* 175279 */ // GIR_Coverage, 6659,
61941 /* 175279 */ GIR_Done,
61942 /* 175280 */ // Label 3850: @175280
61943 /* 175280 */ GIM_Reject,
61944 /* 175281 */ // Label 3845: @175281
61945 /* 175281 */ GIM_Reject,
61946 /* 175282 */ // Label 3787: @175282
61947 /* 175282 */ GIM_Try, /*On fail goto*//*Label 3851*/ GIMT_Encode4(175511),
61948 /* 175287 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
61949 /* 175290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
61950 /* 175293 */ GIM_Try, /*On fail goto*//*Label 3852*/ GIMT_Encode4(175355), // Rule ID 2256 //
61951 /* 175298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61952 /* 175301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61953 /* 175305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61954 /* 175309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61955 /* 175313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61956 /* 175317 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61957 /* 175320 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61958 /* 175324 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61959 /* 175328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61960 /* 175330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61961 /* 175337 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61962 /* 175337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
61963 /* 175340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61964 /* 175342 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61965 /* 175344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61966 /* 175348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61967 /* 175353 */ GIR_RootConstrainSelectedInstOperands,
61968 /* 175354 */ // GIR_Coverage, 2256,
61969 /* 175354 */ GIR_EraseRootFromParent_Done,
61970 /* 175355 */ // Label 3852: @175355
61971 /* 175355 */ GIM_Try, /*On fail goto*//*Label 3853*/ GIMT_Encode4(175417), // Rule ID 6639 //
61972 /* 175360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61973 /* 175363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61974 /* 175367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61975 /* 175371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61976 /* 175375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61977 /* 175379 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61978 /* 175382 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61979 /* 175386 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61980 /* 175390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61981 /* 175392 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61982 /* 175399 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61983 /* 175399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
61984 /* 175402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61985 /* 175404 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61986 /* 175406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61987 /* 175410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61988 /* 175415 */ GIR_RootConstrainSelectedInstOperands,
61989 /* 175416 */ // GIR_Coverage, 6639,
61990 /* 175416 */ GIR_EraseRootFromParent_Done,
61991 /* 175417 */ // Label 3853: @175417
61992 /* 175417 */ GIM_Try, /*On fail goto*//*Label 3854*/ GIMT_Encode4(175448), // Rule ID 2254 //
61993 /* 175422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61994 /* 175425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61995 /* 175429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61996 /* 175433 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61997 /* 175437 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
61998 /* 175437 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
61999 /* 175442 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62000 /* 175446 */ GIR_RootConstrainSelectedInstOperands,
62001 /* 175447 */ // GIR_Coverage, 2254,
62002 /* 175447 */ GIR_Done,
62003 /* 175448 */ // Label 3854: @175448
62004 /* 175448 */ GIM_Try, /*On fail goto*//*Label 3855*/ GIMT_Encode4(175479), // Rule ID 2270 //
62005 /* 175453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62006 /* 175456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62007 /* 175460 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62008 /* 175464 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62009 /* 175468 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
62010 /* 175468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
62011 /* 175473 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62012 /* 175477 */ GIR_RootConstrainSelectedInstOperands,
62013 /* 175478 */ // GIR_Coverage, 2270,
62014 /* 175478 */ GIR_Done,
62015 /* 175479 */ // Label 3855: @175479
62016 /* 175479 */ GIM_Try, /*On fail goto*//*Label 3856*/ GIMT_Encode4(175510), // Rule ID 6635 //
62017 /* 175484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
62018 /* 175487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62019 /* 175491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62020 /* 175495 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62021 /* 175499 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
62022 /* 175499 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
62023 /* 175504 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62024 /* 175508 */ GIR_RootConstrainSelectedInstOperands,
62025 /* 175509 */ // GIR_Coverage, 6635,
62026 /* 175509 */ GIR_Done,
62027 /* 175510 */ // Label 3856: @175510
62028 /* 175510 */ GIM_Reject,
62029 /* 175511 */ // Label 3851: @175511
62030 /* 175511 */ GIM_Reject,
62031 /* 175512 */ // Label 3788: @175512
62032 /* 175512 */ GIM_Try, /*On fail goto*//*Label 3857*/ GIMT_Encode4(175710),
62033 /* 175517 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
62034 /* 175520 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
62035 /* 175523 */ GIM_Try, /*On fail goto*//*Label 3858*/ GIMT_Encode4(175585), // Rule ID 2268 //
62036 /* 175528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62037 /* 175531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62038 /* 175535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62039 /* 175539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62040 /* 175543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62041 /* 175547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62042 /* 175550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62043 /* 175554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62044 /* 175558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62045 /* 175560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62046 /* 175567 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
62047 /* 175567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
62048 /* 175570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62049 /* 175572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62050 /* 175574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62051 /* 175578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62052 /* 175583 */ GIR_RootConstrainSelectedInstOperands,
62053 /* 175584 */ // GIR_Coverage, 2268,
62054 /* 175584 */ GIR_EraseRootFromParent_Done,
62055 /* 175585 */ // Label 3858: @175585
62056 /* 175585 */ GIM_Try, /*On fail goto*//*Label 3859*/ GIMT_Encode4(175647), // Rule ID 6675 //
62057 /* 175590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
62058 /* 175593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62059 /* 175597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62060 /* 175601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62061 /* 175605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62062 /* 175609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62063 /* 175612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62064 /* 175616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62065 /* 175620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62066 /* 175622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62067 /* 175629 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
62068 /* 175629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
62069 /* 175632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62070 /* 175634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62071 /* 175636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62072 /* 175640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62073 /* 175645 */ GIR_RootConstrainSelectedInstOperands,
62074 /* 175646 */ // GIR_Coverage, 6675,
62075 /* 175646 */ GIR_EraseRootFromParent_Done,
62076 /* 175647 */ // Label 3859: @175647
62077 /* 175647 */ GIM_Try, /*On fail goto*//*Label 3860*/ GIMT_Encode4(175678), // Rule ID 2266 //
62078 /* 175652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62079 /* 175655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62080 /* 175659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62081 /* 175663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62082 /* 175667 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
62083 /* 175667 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
62084 /* 175672 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62085 /* 175676 */ GIR_RootConstrainSelectedInstOperands,
62086 /* 175677 */ // GIR_Coverage, 2266,
62087 /* 175677 */ GIR_Done,
62088 /* 175678 */ // Label 3860: @175678
62089 /* 175678 */ GIM_Try, /*On fail goto*//*Label 3861*/ GIMT_Encode4(175709), // Rule ID 6671 //
62090 /* 175683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
62091 /* 175686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62092 /* 175690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62093 /* 175694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62094 /* 175698 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
62095 /* 175698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
62096 /* 175703 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62097 /* 175707 */ GIR_RootConstrainSelectedInstOperands,
62098 /* 175708 */ // GIR_Coverage, 6671,
62099 /* 175708 */ GIR_Done,
62100 /* 175709 */ // Label 3861: @175709
62101 /* 175709 */ GIM_Reject,
62102 /* 175710 */ // Label 3857: @175710
62103 /* 175710 */ GIM_Reject,
62104 /* 175711 */ // Label 3789: @175711
62105 /* 175711 */ GIM_Try, /*On fail goto*//*Label 3862*/ GIMT_Encode4(175808),
62106 /* 175716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
62107 /* 175719 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
62108 /* 175722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62109 /* 175726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62110 /* 175730 */ GIM_Try, /*On fail goto*//*Label 3863*/ GIMT_Encode4(175784), // Rule ID 6699 //
62111 /* 175735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
62112 /* 175738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62113 /* 175742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62114 /* 175746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62115 /* 175749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62116 /* 175753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62117 /* 175757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62118 /* 175759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62119 /* 175766 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
62120 /* 175766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
62121 /* 175769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62122 /* 175771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62123 /* 175773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62124 /* 175777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62125 /* 175782 */ GIR_RootConstrainSelectedInstOperands,
62126 /* 175783 */ // GIR_Coverage, 6699,
62127 /* 175783 */ GIR_EraseRootFromParent_Done,
62128 /* 175784 */ // Label 3863: @175784
62129 /* 175784 */ GIM_Try, /*On fail goto*//*Label 3864*/ GIMT_Encode4(175807), // Rule ID 6695 //
62130 /* 175789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
62131 /* 175792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62132 /* 175796 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
62133 /* 175796 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
62134 /* 175801 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62135 /* 175805 */ GIR_RootConstrainSelectedInstOperands,
62136 /* 175806 */ // GIR_Coverage, 6695,
62137 /* 175806 */ GIR_Done,
62138 /* 175807 */ // Label 3864: @175807
62139 /* 175807 */ GIM_Reject,
62140 /* 175808 */ // Label 3862: @175808
62141 /* 175808 */ GIM_Reject,
62142 /* 175809 */ // Label 3790: @175809
62143 /* 175809 */ GIM_Try, /*On fail goto*//*Label 3865*/ GIMT_Encode4(176007),
62144 /* 175814 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
62145 /* 175817 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
62146 /* 175820 */ GIM_Try, /*On fail goto*//*Label 3866*/ GIMT_Encode4(175882), // Rule ID 2264 //
62147 /* 175825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62148 /* 175828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62149 /* 175832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62150 /* 175836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62151 /* 175840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62152 /* 175844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62153 /* 175847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62154 /* 175851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62155 /* 175855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62156 /* 175857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62157 /* 175864 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
62158 /* 175864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
62159 /* 175867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62160 /* 175869 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62161 /* 175871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62162 /* 175875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62163 /* 175880 */ GIR_RootConstrainSelectedInstOperands,
62164 /* 175881 */ // GIR_Coverage, 2264,
62165 /* 175881 */ GIR_EraseRootFromParent_Done,
62166 /* 175882 */ // Label 3866: @175882
62167 /* 175882 */ GIM_Try, /*On fail goto*//*Label 3867*/ GIMT_Encode4(175944), // Rule ID 6651 //
62168 /* 175887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
62169 /* 175890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62170 /* 175894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62171 /* 175898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62172 /* 175902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62173 /* 175906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62174 /* 175909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62175 /* 175913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62176 /* 175917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62177 /* 175919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62178 /* 175926 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
62179 /* 175926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
62180 /* 175929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62181 /* 175931 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62182 /* 175933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62183 /* 175937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62184 /* 175942 */ GIR_RootConstrainSelectedInstOperands,
62185 /* 175943 */ // GIR_Coverage, 6651,
62186 /* 175943 */ GIR_EraseRootFromParent_Done,
62187 /* 175944 */ // Label 3867: @175944
62188 /* 175944 */ GIM_Try, /*On fail goto*//*Label 3868*/ GIMT_Encode4(175975), // Rule ID 2262 //
62189 /* 175949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62190 /* 175952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62191 /* 175956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62192 /* 175960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62193 /* 175964 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
62194 /* 175964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
62195 /* 175969 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62196 /* 175973 */ GIR_RootConstrainSelectedInstOperands,
62197 /* 175974 */ // GIR_Coverage, 2262,
62198 /* 175974 */ GIR_Done,
62199 /* 175975 */ // Label 3868: @175975
62200 /* 175975 */ GIM_Try, /*On fail goto*//*Label 3869*/ GIMT_Encode4(176006), // Rule ID 6647 //
62201 /* 175980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
62202 /* 175983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62203 /* 175987 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62204 /* 175991 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62205 /* 175995 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
62206 /* 175995 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
62207 /* 176000 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62208 /* 176004 */ GIR_RootConstrainSelectedInstOperands,
62209 /* 176005 */ // GIR_Coverage, 6647,
62210 /* 176005 */ GIR_Done,
62211 /* 176006 */ // Label 3869: @176006
62212 /* 176006 */ GIM_Reject,
62213 /* 176007 */ // Label 3865: @176007
62214 /* 176007 */ GIM_Reject,
62215 /* 176008 */ // Label 3791: @176008
62216 /* 176008 */ GIM_Try, /*On fail goto*//*Label 3870*/ GIMT_Encode4(176105),
62217 /* 176013 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
62218 /* 176016 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
62219 /* 176019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62220 /* 176023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62221 /* 176027 */ GIM_Try, /*On fail goto*//*Label 3871*/ GIMT_Encode4(176081), // Rule ID 6627 //
62222 /* 176032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62223 /* 176035 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62224 /* 176039 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62225 /* 176043 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62226 /* 176046 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62227 /* 176050 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62228 /* 176054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62229 /* 176056 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62230 /* 176063 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
62231 /* 176063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
62232 /* 176066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62233 /* 176068 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62234 /* 176070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62235 /* 176074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62236 /* 176079 */ GIR_RootConstrainSelectedInstOperands,
62237 /* 176080 */ // GIR_Coverage, 6627,
62238 /* 176080 */ GIR_EraseRootFromParent_Done,
62239 /* 176081 */ // Label 3871: @176081
62240 /* 176081 */ GIM_Try, /*On fail goto*//*Label 3872*/ GIMT_Encode4(176104), // Rule ID 6623 //
62241 /* 176086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62242 /* 176089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62243 /* 176093 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
62244 /* 176093 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
62245 /* 176098 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62246 /* 176102 */ GIR_RootConstrainSelectedInstOperands,
62247 /* 176103 */ // GIR_Coverage, 6623,
62248 /* 176103 */ GIR_Done,
62249 /* 176104 */ // Label 3872: @176104
62250 /* 176104 */ GIM_Reject,
62251 /* 176105 */ // Label 3870: @176105
62252 /* 176105 */ GIM_Reject,
62253 /* 176106 */ // Label 3792: @176106
62254 /* 176106 */ GIM_Try, /*On fail goto*//*Label 3873*/ GIMT_Encode4(176203),
62255 /* 176111 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
62256 /* 176114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
62257 /* 176117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62258 /* 176121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62259 /* 176125 */ GIM_Try, /*On fail goto*//*Label 3874*/ GIMT_Encode4(176179), // Rule ID 6711 //
62260 /* 176130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
62261 /* 176133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62262 /* 176137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62263 /* 176141 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62264 /* 176144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62265 /* 176148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62266 /* 176152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62267 /* 176154 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62268 /* 176161 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
62269 /* 176161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
62270 /* 176164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62271 /* 176166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62272 /* 176168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62273 /* 176172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62274 /* 176177 */ GIR_RootConstrainSelectedInstOperands,
62275 /* 176178 */ // GIR_Coverage, 6711,
62276 /* 176178 */ GIR_EraseRootFromParent_Done,
62277 /* 176179 */ // Label 3874: @176179
62278 /* 176179 */ GIM_Try, /*On fail goto*//*Label 3875*/ GIMT_Encode4(176202), // Rule ID 6707 //
62279 /* 176184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
62280 /* 176187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62281 /* 176191 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
62282 /* 176191 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
62283 /* 176196 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62284 /* 176200 */ GIR_RootConstrainSelectedInstOperands,
62285 /* 176201 */ // GIR_Coverage, 6707,
62286 /* 176201 */ GIR_Done,
62287 /* 176202 */ // Label 3875: @176202
62288 /* 176202 */ GIM_Reject,
62289 /* 176203 */ // Label 3873: @176203
62290 /* 176203 */ GIM_Reject,
62291 /* 176204 */ // Label 3793: @176204
62292 /* 176204 */ GIM_Try, /*On fail goto*//*Label 3876*/ GIMT_Encode4(176301),
62293 /* 176209 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
62294 /* 176212 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
62295 /* 176215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62296 /* 176219 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62297 /* 176223 */ GIM_Try, /*On fail goto*//*Label 3877*/ GIMT_Encode4(176277), // Rule ID 6615 //
62298 /* 176228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62299 /* 176231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62300 /* 176235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62301 /* 176239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62302 /* 176242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62303 /* 176246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62304 /* 176250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62305 /* 176252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62306 /* 176259 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
62307 /* 176259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
62308 /* 176262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62309 /* 176264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62310 /* 176266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62311 /* 176270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62312 /* 176275 */ GIR_RootConstrainSelectedInstOperands,
62313 /* 176276 */ // GIR_Coverage, 6615,
62314 /* 176276 */ GIR_EraseRootFromParent_Done,
62315 /* 176277 */ // Label 3877: @176277
62316 /* 176277 */ GIM_Try, /*On fail goto*//*Label 3878*/ GIMT_Encode4(176300), // Rule ID 6611 //
62317 /* 176282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62318 /* 176285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62319 /* 176289 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
62320 /* 176289 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
62321 /* 176294 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62322 /* 176298 */ GIR_RootConstrainSelectedInstOperands,
62323 /* 176299 */ // GIR_Coverage, 6611,
62324 /* 176299 */ GIR_Done,
62325 /* 176300 */ // Label 3878: @176300
62326 /* 176300 */ GIM_Reject,
62327 /* 176301 */ // Label 3876: @176301
62328 /* 176301 */ GIM_Reject,
62329 /* 176302 */ // Label 3794: @176302
62330 /* 176302 */ GIM_Try, /*On fail goto*//*Label 3879*/ GIMT_Encode4(176399),
62331 /* 176307 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
62332 /* 176310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
62333 /* 176313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62334 /* 176317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62335 /* 176321 */ GIM_Try, /*On fail goto*//*Label 3880*/ GIMT_Encode4(176375), // Rule ID 6687 //
62336 /* 176326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62337 /* 176329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
62338 /* 176333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62339 /* 176337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62340 /* 176340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62341 /* 176344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62342 /* 176348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62343 /* 176350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62344 /* 176357 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
62345 /* 176357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
62346 /* 176360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62347 /* 176362 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
62348 /* 176364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
62349 /* 176368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62350 /* 176373 */ GIR_RootConstrainSelectedInstOperands,
62351 /* 176374 */ // GIR_Coverage, 6687,
62352 /* 176374 */ GIR_EraseRootFromParent_Done,
62353 /* 176375 */ // Label 3880: @176375
62354 /* 176375 */ GIM_Try, /*On fail goto*//*Label 3881*/ GIMT_Encode4(176398), // Rule ID 6683 //
62355 /* 176380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62356 /* 176383 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62357 /* 176387 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
62358 /* 176387 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
62359 /* 176392 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62360 /* 176396 */ GIR_RootConstrainSelectedInstOperands,
62361 /* 176397 */ // GIR_Coverage, 6683,
62362 /* 176397 */ GIR_Done,
62363 /* 176398 */ // Label 3881: @176398
62364 /* 176398 */ GIM_Reject,
62365 /* 176399 */ // Label 3879: @176399
62366 /* 176399 */ GIM_Reject,
62367 /* 176400 */ // Label 3795: @176400
62368 /* 176400 */ GIM_Reject,
62369 /* 176401 */ // Label 47: @176401
62370 /* 176401 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 3885*/ GIMT_Encode4(176523),
62371 /* 176412 */ /*GILLT_s32*//*Label 3882*/ GIMT_Encode4(176424),
62372 /* 176416 */ /*GILLT_s64*//*Label 3883*/ GIMT_Encode4(176457),
62373 /* 176420 */ /*GILLT_s80*//*Label 3884*/ GIMT_Encode4(176490),
62374 /* 176424 */ // Label 3882: @176424
62375 /* 176424 */ GIM_Try, /*On fail goto*//*Label 3886*/ GIMT_Encode4(176456), // Rule ID 1041 //
62376 /* 176429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
62377 /* 176432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62378 /* 176435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
62379 /* 176439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
62380 /* 176443 */ // (fneg:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
62381 /* 176443 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
62382 /* 176448 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
62383 /* 176454 */ GIR_RootConstrainSelectedInstOperands,
62384 /* 176455 */ // GIR_Coverage, 1041,
62385 /* 176455 */ GIR_Done,
62386 /* 176456 */ // Label 3886: @176456
62387 /* 176456 */ GIM_Reject,
62388 /* 176457 */ // Label 3883: @176457
62389 /* 176457 */ GIM_Try, /*On fail goto*//*Label 3887*/ GIMT_Encode4(176489), // Rule ID 1042 //
62390 /* 176462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
62391 /* 176465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62392 /* 176468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
62393 /* 176472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
62394 /* 176476 */ // (fneg:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
62395 /* 176476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
62396 /* 176481 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
62397 /* 176487 */ GIR_RootConstrainSelectedInstOperands,
62398 /* 176488 */ // GIR_Coverage, 1042,
62399 /* 176488 */ GIR_Done,
62400 /* 176489 */ // Label 3887: @176489
62401 /* 176489 */ GIM_Reject,
62402 /* 176490 */ // Label 3884: @176490
62403 /* 176490 */ GIM_Try, /*On fail goto*//*Label 3888*/ GIMT_Encode4(176522), // Rule ID 1043 //
62404 /* 176495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
62405 /* 176498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
62406 /* 176501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
62407 /* 176505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
62408 /* 176509 */ // (fneg:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
62409 /* 176509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
62410 /* 176514 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
62411 /* 176520 */ GIR_RootConstrainSelectedInstOperands,
62412 /* 176521 */ // GIR_Coverage, 1043,
62413 /* 176521 */ GIR_Done,
62414 /* 176522 */ // Label 3888: @176522
62415 /* 176522 */ GIM_Reject,
62416 /* 176523 */ // Label 3885: @176523
62417 /* 176523 */ GIM_Reject,
62418 /* 176524 */ // Label 48: @176524
62419 /* 176524 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(20), /*)*//*default:*//*Label 3896*/ GIMT_Encode4(177455),
62420 /* 176535 */ /*GILLT_s32*//*Label 3889*/ GIMT_Encode4(176603),
62421 /* 176539 */ /*GILLT_s64*//*Label 3890*/ GIMT_Encode4(176724),
62422 /* 176543 */ /*GILLT_s80*//*Label 3891*/ GIMT_Encode4(177207), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62423 /* 176567 */ /*GILLT_v4s64*//*Label 3892*/ GIMT_Encode4(177268), GIMT_Encode4(0), GIMT_Encode4(0),
62424 /* 176579 */ /*GILLT_v8s32*//*Label 3893*/ GIMT_Encode4(177332),
62425 /* 176583 */ /*GILLT_v8s64*//*Label 3894*/ GIMT_Encode4(177363), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62426 /* 176599 */ /*GILLT_v16s32*//*Label 3895*/ GIMT_Encode4(177424),
62427 /* 176603 */ // Label 3889: @176603
62428 /* 176603 */ GIM_Try, /*On fail goto*//*Label 3897*/ GIMT_Encode4(176723),
62429 /* 176608 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62430 /* 176611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62431 /* 176615 */ GIM_Try, /*On fail goto*//*Label 3898*/ GIMT_Encode4(176684), // Rule ID 21212 //
62432 /* 176620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
62433 /* 176623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62434 /* 176627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62435 /* 176631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62436 /* 176634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62437 /* 176638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62438 /* 176642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62439 /* 176644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62440 /* 176651 */ // (fpextend:{ *:[f32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62441 /* 176651 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62442 /* 176654 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62443 /* 176658 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62444 /* 176663 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62445 /* 176665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrm),
62446 /* 176668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62447 /* 176670 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62448 /* 176673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62449 /* 176677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62450 /* 176682 */ GIR_RootConstrainSelectedInstOperands,
62451 /* 176683 */ // GIR_Coverage, 21212,
62452 /* 176683 */ GIR_EraseRootFromParent_Done,
62453 /* 176684 */ // Label 3898: @176684
62454 /* 176684 */ GIM_Try, /*On fail goto*//*Label 3899*/ GIMT_Encode4(176722), // Rule ID 21210 //
62455 /* 176689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62456 /* 176692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62457 /* 176696 */ // (fpextend:{ *:[f32] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR16X:{ *:[f16] }:$src)
62458 /* 176696 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62459 /* 176699 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62460 /* 176703 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62461 /* 176708 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62462 /* 176710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrr),
62463 /* 176713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62464 /* 176715 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62465 /* 176718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62466 /* 176720 */ GIR_RootConstrainSelectedInstOperands,
62467 /* 176721 */ // GIR_Coverage, 21210,
62468 /* 176721 */ GIR_EraseRootFromParent_Done,
62469 /* 176722 */ // Label 3899: @176722
62470 /* 176722 */ GIM_Reject,
62471 /* 176723 */ // Label 3897: @176723
62472 /* 176723 */ GIM_Reject,
62473 /* 176724 */ // Label 3890: @176724
62474 /* 176724 */ GIM_Try, /*On fail goto*//*Label 3900*/ GIMT_Encode4(176783), // Rule ID 1893 //
62475 /* 176729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
62476 /* 176732 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62477 /* 176735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62478 /* 176739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62479 /* 176743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62480 /* 176747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62481 /* 176750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62482 /* 176754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62483 /* 176758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62484 /* 176760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62485 /* 176767 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
62486 /* 176767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrm),
62487 /* 176770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62488 /* 176772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62489 /* 176776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62490 /* 176781 */ GIR_RootConstrainSelectedInstOperands,
62491 /* 176782 */ // GIR_Coverage, 1893,
62492 /* 176782 */ GIR_EraseRootFromParent_Done,
62493 /* 176783 */ // Label 3900: @176783
62494 /* 176783 */ GIM_Try, /*On fail goto*//*Label 3901*/ GIMT_Encode4(176859), // Rule ID 17991 //
62495 /* 176788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
62496 /* 176791 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62497 /* 176794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62498 /* 176798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62499 /* 176802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62500 /* 176806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62501 /* 176809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62502 /* 176813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62503 /* 176817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62504 /* 176819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62505 /* 176826 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62506 /* 176826 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62507 /* 176829 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62508 /* 176833 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62509 /* 176838 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62510 /* 176840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrm),
62511 /* 176843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62512 /* 176845 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62513 /* 176848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62514 /* 176852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62515 /* 176857 */ GIR_RootConstrainSelectedInstOperands,
62516 /* 176858 */ // GIR_Coverage, 17991,
62517 /* 176858 */ GIR_EraseRootFromParent_Done,
62518 /* 176859 */ // Label 3901: @176859
62519 /* 176859 */ GIM_Try, /*On fail goto*//*Label 3902*/ GIMT_Encode4(176935), // Rule ID 21206 //
62520 /* 176864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
62521 /* 176867 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62522 /* 176870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62523 /* 176874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62524 /* 176878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62525 /* 176882 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62526 /* 176885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62527 /* 176889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62528 /* 176893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62529 /* 176895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62530 /* 176902 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62531 /* 176902 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62532 /* 176905 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62533 /* 176909 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62534 /* 176914 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62535 /* 176916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrm),
62536 /* 176919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62537 /* 176921 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62538 /* 176924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62539 /* 176928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62540 /* 176933 */ GIR_RootConstrainSelectedInstOperands,
62541 /* 176934 */ // GIR_Coverage, 21206,
62542 /* 176934 */ GIR_EraseRootFromParent_Done,
62543 /* 176935 */ // Label 3902: @176935
62544 /* 176935 */ GIM_Try, /*On fail goto*//*Label 3903*/ GIMT_Encode4(177011), // Rule ID 21216 //
62545 /* 176940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
62546 /* 176943 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62547 /* 176946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62548 /* 176950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62549 /* 176954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62550 /* 176958 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62551 /* 176961 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62552 /* 176965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62553 /* 176969 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62554 /* 176971 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62555 /* 176978 */ // (fpextend:{ *:[f64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62556 /* 176978 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62557 /* 176981 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62558 /* 176985 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62559 /* 176990 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62560 /* 176992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrm),
62561 /* 176995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62562 /* 176997 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62563 /* 177000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62564 /* 177004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62565 /* 177009 */ GIR_RootConstrainSelectedInstOperands,
62566 /* 177010 */ // GIR_Coverage, 21216,
62567 /* 177010 */ GIR_EraseRootFromParent_Done,
62568 /* 177011 */ // Label 3903: @177011
62569 /* 177011 */ GIM_Try, /*On fail goto*//*Label 3904*/ GIMT_Encode4(177041), // Rule ID 1891 //
62570 /* 177016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62571 /* 177019 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62572 /* 177022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62573 /* 177026 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62574 /* 177030 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (CVTSS2SDrr:{ *:[f64] } FR32:{ *:[f32] }:$src)
62575 /* 177030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrr),
62576 /* 177035 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62577 /* 177039 */ GIR_RootConstrainSelectedInstOperands,
62578 /* 177040 */ // GIR_Coverage, 1891,
62579 /* 177040 */ GIR_Done,
62580 /* 177041 */ // Label 3904: @177041
62581 /* 177041 */ GIM_Try, /*On fail goto*//*Label 3905*/ GIMT_Encode4(177071), // Rule ID 17716 //
62582 /* 177046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
62583 /* 177049 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62584 /* 177052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
62585 /* 177056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
62586 /* 177060 */ // (fpextend:{ *:[f64] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP32:{ *:[f32] }:$src, RFP64:{ *:[i32] })
62587 /* 177060 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
62588 /* 177065 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
62589 /* 177070 */ // GIR_Coverage, 17716,
62590 /* 177070 */ GIR_Done,
62591 /* 177071 */ // Label 3905: @177071
62592 /* 177071 */ GIM_Try, /*On fail goto*//*Label 3906*/ GIMT_Encode4(177116), // Rule ID 17989 //
62593 /* 177076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62594 /* 177079 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62595 /* 177082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62596 /* 177086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62597 /* 177090 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32:{ *:[f32] }:$src)
62598 /* 177090 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62599 /* 177093 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62600 /* 177097 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62601 /* 177102 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62602 /* 177104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrr),
62603 /* 177107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62604 /* 177109 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62605 /* 177112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62606 /* 177114 */ GIR_RootConstrainSelectedInstOperands,
62607 /* 177115 */ // GIR_Coverage, 17989,
62608 /* 177115 */ GIR_EraseRootFromParent_Done,
62609 /* 177116 */ // Label 3906: @177116
62610 /* 177116 */ GIM_Try, /*On fail goto*//*Label 3907*/ GIMT_Encode4(177161), // Rule ID 21204 //
62611 /* 177121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62612 /* 177124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62613 /* 177127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62614 /* 177131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62615 /* 177135 */ // (fpextend:{ *:[f64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32X:{ *:[f32] }:$src)
62616 /* 177135 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62617 /* 177138 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62618 /* 177142 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62619 /* 177147 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62620 /* 177149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrr),
62621 /* 177152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62622 /* 177154 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62623 /* 177157 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62624 /* 177159 */ GIR_RootConstrainSelectedInstOperands,
62625 /* 177160 */ // GIR_Coverage, 21204,
62626 /* 177160 */ GIR_EraseRootFromParent_Done,
62627 /* 177161 */ // Label 3907: @177161
62628 /* 177161 */ GIM_Try, /*On fail goto*//*Label 3908*/ GIMT_Encode4(177206), // Rule ID 21214 //
62629 /* 177166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62630 /* 177169 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62631 /* 177172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62632 /* 177176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62633 /* 177180 */ // (fpextend:{ *:[f64] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR16X:{ *:[f16] }:$src)
62634 /* 177180 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62635 /* 177183 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62636 /* 177187 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62637 /* 177192 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62638 /* 177194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrr),
62639 /* 177197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62640 /* 177199 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62641 /* 177202 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62642 /* 177204 */ GIR_RootConstrainSelectedInstOperands,
62643 /* 177205 */ // GIR_Coverage, 21214,
62644 /* 177205 */ GIR_EraseRootFromParent_Done,
62645 /* 177206 */ // Label 3908: @177206
62646 /* 177206 */ GIM_Reject,
62647 /* 177207 */ // Label 3891: @177207
62648 /* 177207 */ GIM_Try, /*On fail goto*//*Label 3909*/ GIMT_Encode4(177237), // Rule ID 17718 //
62649 /* 177212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
62650 /* 177215 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62651 /* 177218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
62652 /* 177222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
62653 /* 177226 */ // (fpextend:{ *:[f80] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP32:{ *:[f32] }:$src, RFP80:{ *:[i32] })
62654 /* 177226 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
62655 /* 177231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
62656 /* 177236 */ // GIR_Coverage, 17718,
62657 /* 177236 */ GIR_Done,
62658 /* 177237 */ // Label 3909: @177237
62659 /* 177237 */ GIM_Try, /*On fail goto*//*Label 3910*/ GIMT_Encode4(177267), // Rule ID 17720 //
62660 /* 177242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
62661 /* 177245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62662 /* 177248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
62663 /* 177252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
62664 /* 177256 */ // (fpextend:{ *:[f80] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP64:{ *:[f64] }:$src, RFP80:{ *:[i32] })
62665 /* 177256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
62666 /* 177261 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
62667 /* 177266 */ // GIR_Coverage, 17720,
62668 /* 177266 */ GIR_Done,
62669 /* 177267 */ // Label 3910: @177267
62670 /* 177267 */ GIM_Reject,
62671 /* 177268 */ // Label 3892: @177268
62672 /* 177268 */ GIM_Try, /*On fail goto*//*Label 3911*/ GIMT_Encode4(177331),
62673 /* 177273 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
62674 /* 177276 */ GIM_Try, /*On fail goto*//*Label 3912*/ GIMT_Encode4(177303), // Rule ID 1934 //
62675 /* 177281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62676 /* 177284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62677 /* 177288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62678 /* 177292 */ // (fpextend:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2PDYrr:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src)
62679 /* 177292 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDYrr),
62680 /* 177297 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62681 /* 177301 */ GIR_RootConstrainSelectedInstOperands,
62682 /* 177302 */ // GIR_Coverage, 1934,
62683 /* 177302 */ GIR_Done,
62684 /* 177303 */ // Label 3912: @177303
62685 /* 177303 */ GIM_Try, /*On fail goto*//*Label 3913*/ GIMT_Encode4(177330), // Rule ID 10578 //
62686 /* 177308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
62687 /* 177311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62688 /* 177315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62689 /* 177319 */ // (fpextend:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src)
62690 /* 177319 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZ256rr),
62691 /* 177324 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62692 /* 177328 */ GIR_RootConstrainSelectedInstOperands,
62693 /* 177329 */ // GIR_Coverage, 10578,
62694 /* 177329 */ GIR_Done,
62695 /* 177330 */ // Label 3913: @177330
62696 /* 177330 */ GIM_Reject,
62697 /* 177331 */ // Label 3911: @177331
62698 /* 177331 */ GIM_Reject,
62699 /* 177332 */ // Label 3893: @177332
62700 /* 177332 */ GIM_Try, /*On fail goto*//*Label 3914*/ GIMT_Encode4(177362), // Rule ID 10641 //
62701 /* 177337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
62702 /* 177340 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
62703 /* 177343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62704 /* 177347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62705 /* 177351 */ // (fpextend:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PSXZ256rr:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src)
62706 /* 177351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZ256rr),
62707 /* 177356 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62708 /* 177360 */ GIR_RootConstrainSelectedInstOperands,
62709 /* 177361 */ // GIR_Coverage, 10641,
62710 /* 177361 */ GIR_Done,
62711 /* 177362 */ // Label 3914: @177362
62712 /* 177362 */ GIM_Reject,
62713 /* 177363 */ // Label 3894: @177363
62714 /* 177363 */ GIM_Try, /*On fail goto*//*Label 3915*/ GIMT_Encode4(177393), // Rule ID 10553 //
62715 /* 177368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62716 /* 177371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
62717 /* 177374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62718 /* 177378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62719 /* 177382 */ // (fpextend:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src)
62720 /* 177382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZrr),
62721 /* 177387 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62722 /* 177391 */ GIR_RootConstrainSelectedInstOperands,
62723 /* 177392 */ // GIR_Coverage, 10553,
62724 /* 177392 */ GIR_Done,
62725 /* 177393 */ // Label 3915: @177393
62726 /* 177393 */ GIM_Try, /*On fail goto*//*Label 3916*/ GIMT_Encode4(177423), // Rule ID 10667 //
62727 /* 177398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62728 /* 177401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
62729 /* 177404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62730 /* 177408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
62731 /* 177412 */ // (fpextend:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PDZrr:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src)
62732 /* 177412 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PDZrr),
62733 /* 177417 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62734 /* 177421 */ GIR_RootConstrainSelectedInstOperands,
62735 /* 177422 */ // GIR_Coverage, 10667,
62736 /* 177422 */ GIR_Done,
62737 /* 177423 */ // Label 3916: @177423
62738 /* 177423 */ GIM_Reject,
62739 /* 177424 */ // Label 3895: @177424
62740 /* 177424 */ GIM_Try, /*On fail goto*//*Label 3917*/ GIMT_Encode4(177454), // Rule ID 10616 //
62741 /* 177429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62742 /* 177432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
62743 /* 177435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
62744 /* 177439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
62745 /* 177443 */ // (fpextend:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2PSXZrr:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src)
62746 /* 177443 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZrr),
62747 /* 177448 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62748 /* 177452 */ GIR_RootConstrainSelectedInstOperands,
62749 /* 177453 */ // GIR_Coverage, 10616,
62750 /* 177453 */ GIR_Done,
62751 /* 177454 */ // Label 3917: @177454
62752 /* 177454 */ GIM_Reject,
62753 /* 177455 */ // Label 3896: @177455
62754 /* 177455 */ GIM_Reject,
62755 /* 177456 */ // Label 49: @177456
62756 /* 177456 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 3921*/ GIMT_Encode4(177841),
62757 /* 177467 */ /*GILLT_s16*//*Label 3918*/ GIMT_Encode4(177479),
62758 /* 177471 */ /*GILLT_s32*//*Label 3919*/ GIMT_Encode4(177570),
62759 /* 177475 */ /*GILLT_s64*//*Label 3920*/ GIMT_Encode4(177810),
62760 /* 177479 */ // Label 3918: @177479
62761 /* 177479 */ GIM_Try, /*On fail goto*//*Label 3922*/ GIMT_Encode4(177524), // Rule ID 21218 //
62762 /* 177484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62763 /* 177487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62764 /* 177490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62765 /* 177494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62766 /* 177498 */ // (fpround:{ *:[f16] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR32X:{ *:[f32] }:$src)
62767 /* 177498 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62768 /* 177501 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62769 /* 177505 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62770 /* 177510 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62771 /* 177512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SHZrr),
62772 /* 177515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62773 /* 177517 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62774 /* 177520 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62775 /* 177522 */ GIR_RootConstrainSelectedInstOperands,
62776 /* 177523 */ // GIR_Coverage, 21218,
62777 /* 177523 */ GIR_EraseRootFromParent_Done,
62778 /* 177524 */ // Label 3922: @177524
62779 /* 177524 */ GIM_Try, /*On fail goto*//*Label 3923*/ GIMT_Encode4(177569), // Rule ID 21220 //
62780 /* 177529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62781 /* 177532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62782 /* 177535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62783 /* 177539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62784 /* 177543 */ // (fpround:{ *:[f16] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR64X:{ *:[f64] }:$src)
62785 /* 177543 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62786 /* 177546 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62787 /* 177550 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62788 /* 177555 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62789 /* 177557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SHZrr),
62790 /* 177560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62791 /* 177562 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62792 /* 177565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62793 /* 177567 */ GIR_RootConstrainSelectedInstOperands,
62794 /* 177568 */ // GIR_Coverage, 21220,
62795 /* 177568 */ GIR_EraseRootFromParent_Done,
62796 /* 177569 */ // Label 3923: @177569
62797 /* 177569 */ GIM_Reject,
62798 /* 177570 */ // Label 3919: @177570
62799 /* 177570 */ GIM_Try, /*On fail goto*//*Label 3924*/ GIMT_Encode4(177629), // Rule ID 1881 //
62800 /* 177575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
62801 /* 177578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62802 /* 177581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62803 /* 177585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62804 /* 177589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62805 /* 177593 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62806 /* 177596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62807 /* 177600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62808 /* 177604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62809 /* 177606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62810 /* 177613 */ // (fpround:{ *:[f32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
62811 /* 177613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrm),
62812 /* 177616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62813 /* 177618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62814 /* 177622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62815 /* 177627 */ GIR_RootConstrainSelectedInstOperands,
62816 /* 177628 */ // GIR_Coverage, 1881,
62817 /* 177628 */ GIR_EraseRootFromParent_Done,
62818 /* 177629 */ // Label 3924: @177629
62819 /* 177629 */ GIM_Try, /*On fail goto*//*Label 3925*/ GIMT_Encode4(177659), // Rule ID 1879 //
62820 /* 177634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62821 /* 177637 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62822 /* 177640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62823 /* 177644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62824 /* 177648 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (CVTSD2SSrr:{ *:[f32] } FR64:{ *:[f64] }:$src)
62825 /* 177648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrr),
62826 /* 177653 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62827 /* 177657 */ GIR_RootConstrainSelectedInstOperands,
62828 /* 177658 */ // GIR_Coverage, 1879,
62829 /* 177658 */ GIR_Done,
62830 /* 177659 */ // Label 3925: @177659
62831 /* 177659 */ GIM_Try, /*On fail goto*//*Label 3926*/ GIMT_Encode4(177689), // Rule ID 17722 //
62832 /* 177664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
62833 /* 177667 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62834 /* 177670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
62835 /* 177674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
62836 /* 177678 */ // (fpround:{ *:[f32] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP64:{ *:[f64] }:$src, RFP32:{ *:[i32] })
62837 /* 177678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
62838 /* 177683 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
62839 /* 177688 */ // GIR_Coverage, 17722,
62840 /* 177688 */ GIR_Done,
62841 /* 177689 */ // Label 3926: @177689
62842 /* 177689 */ GIM_Try, /*On fail goto*//*Label 3927*/ GIMT_Encode4(177719), // Rule ID 17724 //
62843 /* 177694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
62844 /* 177697 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
62845 /* 177700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
62846 /* 177704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
62847 /* 177708 */ // (fpround:{ *:[f32] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP80:{ *:[f80] }:$src, RFP32:{ *:[i32] })
62848 /* 177708 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
62849 /* 177713 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
62850 /* 177718 */ // GIR_Coverage, 17724,
62851 /* 177718 */ GIR_Done,
62852 /* 177719 */ // Label 3927: @177719
62853 /* 177719 */ GIM_Try, /*On fail goto*//*Label 3928*/ GIMT_Encode4(177764), // Rule ID 17987 //
62854 /* 177724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62855 /* 177727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62856 /* 177730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62857 /* 177734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62858 /* 177738 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64:{ *:[f64] }:$src)
62859 /* 177738 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62860 /* 177741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62861 /* 177745 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62862 /* 177750 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62863 /* 177752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSrr),
62864 /* 177755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62865 /* 177757 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62866 /* 177760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62867 /* 177762 */ GIR_RootConstrainSelectedInstOperands,
62868 /* 177763 */ // GIR_Coverage, 17987,
62869 /* 177763 */ GIR_EraseRootFromParent_Done,
62870 /* 177764 */ // Label 3928: @177764
62871 /* 177764 */ GIM_Try, /*On fail goto*//*Label 3929*/ GIMT_Encode4(177809), // Rule ID 21208 //
62872 /* 177769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62873 /* 177772 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62874 /* 177775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62875 /* 177779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62876 /* 177783 */ // (fpround:{ *:[f32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64X:{ *:[f64] }:$src)
62877 /* 177783 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62878 /* 177786 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62879 /* 177790 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62880 /* 177795 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62881 /* 177797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSZrr),
62882 /* 177800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62883 /* 177802 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62884 /* 177805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62885 /* 177807 */ GIR_RootConstrainSelectedInstOperands,
62886 /* 177808 */ // GIR_Coverage, 21208,
62887 /* 177808 */ GIR_EraseRootFromParent_Done,
62888 /* 177809 */ // Label 3929: @177809
62889 /* 177809 */ GIM_Reject,
62890 /* 177810 */ // Label 3920: @177810
62891 /* 177810 */ GIM_Try, /*On fail goto*//*Label 3930*/ GIMT_Encode4(177840), // Rule ID 17726 //
62892 /* 177815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
62893 /* 177818 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
62894 /* 177821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
62895 /* 177825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
62896 /* 177829 */ // (fpround:{ *:[f64] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP80:{ *:[f80] }:$src, RFP64:{ *:[i32] })
62897 /* 177829 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
62898 /* 177834 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
62899 /* 177839 */ // GIR_Coverage, 17726,
62900 /* 177839 */ GIR_Done,
62901 /* 177840 */ // Label 3930: @177840
62902 /* 177840 */ GIM_Reject,
62903 /* 177841 */ // Label 3921: @177841
62904 /* 177841 */ GIM_Reject,
62905 /* 177842 */ // Label 50: @177842
62906 /* 177842 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(11), /*)*//*default:*//*Label 3934*/ GIMT_Encode4(179222),
62907 /* 177853 */ /*GILLT_s32*//*Label 3931*/ GIMT_Encode4(177885),
62908 /* 177857 */ /*GILLT_s64*//*Label 3932*/ GIMT_Encode4(178509), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62909 /* 177881 */ /*GILLT_v4s32*//*Label 3933*/ GIMT_Encode4(179133),
62910 /* 177885 */ // Label 3931: @177885
62911 /* 177885 */ GIM_Try, /*On fail goto*//*Label 3935*/ GIMT_Encode4(177944), // Rule ID 1741 //
62912 /* 177890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62913 /* 177893 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62914 /* 177896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62915 /* 177900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62916 /* 177904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62917 /* 177908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62918 /* 177911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62919 /* 177915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62920 /* 177919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62921 /* 177921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62922 /* 177928 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62923 /* 177928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrm),
62924 /* 177931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62925 /* 177933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62926 /* 177937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62927 /* 177942 */ GIR_RootConstrainSelectedInstOperands,
62928 /* 177943 */ // GIR_Coverage, 1741,
62929 /* 177943 */ GIR_EraseRootFromParent_Done,
62930 /* 177944 */ // Label 3935: @177944
62931 /* 177944 */ GIM_Try, /*On fail goto*//*Label 3936*/ GIMT_Encode4(178003), // Rule ID 1749 //
62932 /* 177949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62933 /* 177952 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62934 /* 177955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62935 /* 177959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62936 /* 177963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62937 /* 177967 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62938 /* 177970 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62939 /* 177974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62940 /* 177978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62941 /* 177980 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62942 /* 177987 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62943 /* 177987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrm),
62944 /* 177990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62945 /* 177992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62946 /* 177996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62947 /* 178001 */ GIR_RootConstrainSelectedInstOperands,
62948 /* 178002 */ // GIR_Coverage, 1749,
62949 /* 178002 */ GIR_EraseRootFromParent_Done,
62950 /* 178003 */ // Label 3936: @178003
62951 /* 178003 */ GIM_Try, /*On fail goto*//*Label 3937*/ GIMT_Encode4(178062), // Rule ID 1765 //
62952 /* 178008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62953 /* 178011 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62954 /* 178014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62955 /* 178018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62956 /* 178022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62957 /* 178026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62958 /* 178029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62959 /* 178033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62960 /* 178037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62961 /* 178039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62962 /* 178046 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62963 /* 178046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrm),
62964 /* 178049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62965 /* 178051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62966 /* 178055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62967 /* 178060 */ GIR_RootConstrainSelectedInstOperands,
62968 /* 178061 */ // GIR_Coverage, 1765,
62969 /* 178061 */ GIR_EraseRootFromParent_Done,
62970 /* 178062 */ // Label 3937: @178062
62971 /* 178062 */ GIM_Try, /*On fail goto*//*Label 3938*/ GIMT_Encode4(178121), // Rule ID 1773 //
62972 /* 178067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62973 /* 178070 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62974 /* 178073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62975 /* 178077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62976 /* 178081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62977 /* 178085 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62978 /* 178088 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62979 /* 178092 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62980 /* 178096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62981 /* 178098 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62982 /* 178105 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62983 /* 178105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrm),
62984 /* 178108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62985 /* 178110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62986 /* 178114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62987 /* 178119 */ GIR_RootConstrainSelectedInstOperands,
62988 /* 178120 */ // GIR_Coverage, 1773,
62989 /* 178120 */ GIR_EraseRootFromParent_Done,
62990 /* 178121 */ // Label 3938: @178121
62991 /* 178121 */ GIM_Try, /*On fail goto*//*Label 3939*/ GIMT_Encode4(178180), // Rule ID 10366 //
62992 /* 178126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62993 /* 178129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62994 /* 178132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62995 /* 178136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62996 /* 178140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62997 /* 178144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62998 /* 178147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62999 /* 178151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63000 /* 178155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63001 /* 178157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63002 /* 178164 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63003 /* 178164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrm),
63004 /* 178167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63005 /* 178169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63006 /* 178173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63007 /* 178178 */ GIR_RootConstrainSelectedInstOperands,
63008 /* 178179 */ // GIR_Coverage, 10366,
63009 /* 178179 */ GIR_EraseRootFromParent_Done,
63010 /* 178180 */ // Label 3939: @178180
63011 /* 178180 */ GIM_Try, /*On fail goto*//*Label 3940*/ GIMT_Encode4(178239), // Rule ID 10384 //
63012 /* 178185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63013 /* 178188 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63014 /* 178191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63015 /* 178195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63016 /* 178199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63017 /* 178203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63018 /* 178206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63019 /* 178210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63020 /* 178214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63021 /* 178216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63022 /* 178223 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63023 /* 178223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrm),
63024 /* 178226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63025 /* 178228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63026 /* 178232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63027 /* 178237 */ GIR_RootConstrainSelectedInstOperands,
63028 /* 178238 */ // GIR_Coverage, 10384,
63029 /* 178238 */ GIR_EraseRootFromParent_Done,
63030 /* 178239 */ // Label 3940: @178239
63031 /* 178239 */ GIM_Try, /*On fail goto*//*Label 3941*/ GIMT_Encode4(178298), // Rule ID 15174 //
63032 /* 178244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63033 /* 178247 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63034 /* 178250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63035 /* 178254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63036 /* 178258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63037 /* 178262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63038 /* 178265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63039 /* 178269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63040 /* 178273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63041 /* 178275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63042 /* 178282 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63043 /* 178282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
63044 /* 178285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63045 /* 178287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63046 /* 178291 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63047 /* 178296 */ GIR_RootConstrainSelectedInstOperands,
63048 /* 178297 */ // GIR_Coverage, 15174,
63049 /* 178297 */ GIR_EraseRootFromParent_Done,
63050 /* 178298 */ // Label 3941: @178298
63051 /* 178298 */ GIM_Try, /*On fail goto*//*Label 3942*/ GIMT_Encode4(178328), // Rule ID 1739 //
63052 /* 178303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63053 /* 178306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63054 /* 178309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63055 /* 178313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63056 /* 178317 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
63057 /* 178317 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrr),
63058 /* 178322 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63059 /* 178326 */ GIR_RootConstrainSelectedInstOperands,
63060 /* 178327 */ // GIR_Coverage, 1739,
63061 /* 178327 */ GIR_Done,
63062 /* 178328 */ // Label 3942: @178328
63063 /* 178328 */ GIM_Try, /*On fail goto*//*Label 3943*/ GIMT_Encode4(178358), // Rule ID 1747 //
63064 /* 178333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63065 /* 178336 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63066 /* 178339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63067 /* 178343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63068 /* 178347 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
63069 /* 178347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrr),
63070 /* 178352 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63071 /* 178356 */ GIR_RootConstrainSelectedInstOperands,
63072 /* 178357 */ // GIR_Coverage, 1747,
63073 /* 178357 */ GIR_Done,
63074 /* 178358 */ // Label 3943: @178358
63075 /* 178358 */ GIM_Try, /*On fail goto*//*Label 3944*/ GIMT_Encode4(178388), // Rule ID 1763 //
63076 /* 178363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
63077 /* 178366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63078 /* 178369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63079 /* 178373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63080 /* 178377 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
63081 /* 178377 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrr),
63082 /* 178382 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63083 /* 178386 */ GIR_RootConstrainSelectedInstOperands,
63084 /* 178387 */ // GIR_Coverage, 1763,
63085 /* 178387 */ GIR_Done,
63086 /* 178388 */ // Label 3944: @178388
63087 /* 178388 */ GIM_Try, /*On fail goto*//*Label 3945*/ GIMT_Encode4(178418), // Rule ID 1771 //
63088 /* 178393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63089 /* 178396 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63090 /* 178399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63091 /* 178403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63092 /* 178407 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
63093 /* 178407 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrr),
63094 /* 178412 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63095 /* 178416 */ GIR_RootConstrainSelectedInstOperands,
63096 /* 178417 */ // GIR_Coverage, 1771,
63097 /* 178417 */ GIR_Done,
63098 /* 178418 */ // Label 3945: @178418
63099 /* 178418 */ GIM_Try, /*On fail goto*//*Label 3946*/ GIMT_Encode4(178448), // Rule ID 10364 //
63100 /* 178423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63101 /* 178426 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63102 /* 178429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63103 /* 178433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63104 /* 178437 */ // (fp_to_sint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
63105 /* 178437 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrr),
63106 /* 178442 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63107 /* 178446 */ GIR_RootConstrainSelectedInstOperands,
63108 /* 178447 */ // GIR_Coverage, 10364,
63109 /* 178447 */ GIR_Done,
63110 /* 178448 */ // Label 3946: @178448
63111 /* 178448 */ GIM_Try, /*On fail goto*//*Label 3947*/ GIMT_Encode4(178478), // Rule ID 10382 //
63112 /* 178453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63113 /* 178456 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63114 /* 178459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63115 /* 178463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63116 /* 178467 */ // (fp_to_sint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
63117 /* 178467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrr),
63118 /* 178472 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63119 /* 178476 */ GIR_RootConstrainSelectedInstOperands,
63120 /* 178477 */ // GIR_Coverage, 10382,
63121 /* 178477 */ GIR_Done,
63122 /* 178478 */ // Label 3947: @178478
63123 /* 178478 */ GIM_Try, /*On fail goto*//*Label 3948*/ GIMT_Encode4(178508), // Rule ID 15172 //
63124 /* 178483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63125 /* 178486 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63126 /* 178489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63127 /* 178493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63128 /* 178497 */ // (fp_to_sint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
63129 /* 178497 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
63130 /* 178502 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63131 /* 178506 */ GIR_RootConstrainSelectedInstOperands,
63132 /* 178507 */ // GIR_Coverage, 15172,
63133 /* 178507 */ GIR_Done,
63134 /* 178508 */ // Label 3948: @178508
63135 /* 178508 */ GIM_Reject,
63136 /* 178509 */ // Label 3932: @178509
63137 /* 178509 */ GIM_Try, /*On fail goto*//*Label 3949*/ GIMT_Encode4(178568), // Rule ID 1745 //
63138 /* 178514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63139 /* 178517 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63140 /* 178520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63141 /* 178524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63142 /* 178528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63143 /* 178532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63144 /* 178535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63145 /* 178539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63146 /* 178543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63147 /* 178545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63148 /* 178552 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63149 /* 178552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rm),
63150 /* 178555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63151 /* 178557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63152 /* 178561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63153 /* 178566 */ GIR_RootConstrainSelectedInstOperands,
63154 /* 178567 */ // GIR_Coverage, 1745,
63155 /* 178567 */ GIR_EraseRootFromParent_Done,
63156 /* 178568 */ // Label 3949: @178568
63157 /* 178568 */ GIM_Try, /*On fail goto*//*Label 3950*/ GIMT_Encode4(178627), // Rule ID 1753 //
63158 /* 178573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63159 /* 178576 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63160 /* 178579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63161 /* 178583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63162 /* 178587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63163 /* 178591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63164 /* 178594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63165 /* 178598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63166 /* 178602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63167 /* 178604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63168 /* 178611 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63169 /* 178611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rm),
63170 /* 178614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63171 /* 178616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63172 /* 178620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63173 /* 178625 */ GIR_RootConstrainSelectedInstOperands,
63174 /* 178626 */ // GIR_Coverage, 1753,
63175 /* 178626 */ GIR_EraseRootFromParent_Done,
63176 /* 178627 */ // Label 3950: @178627
63177 /* 178627 */ GIM_Try, /*On fail goto*//*Label 3951*/ GIMT_Encode4(178686), // Rule ID 1769 //
63178 /* 178632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
63179 /* 178635 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63180 /* 178638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63181 /* 178642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63182 /* 178646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63183 /* 178650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63184 /* 178653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63185 /* 178657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63186 /* 178661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63187 /* 178663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63188 /* 178670 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63189 /* 178670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rm),
63190 /* 178673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63191 /* 178675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63192 /* 178679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63193 /* 178684 */ GIR_RootConstrainSelectedInstOperands,
63194 /* 178685 */ // GIR_Coverage, 1769,
63195 /* 178685 */ GIR_EraseRootFromParent_Done,
63196 /* 178686 */ // Label 3951: @178686
63197 /* 178686 */ GIM_Try, /*On fail goto*//*Label 3952*/ GIMT_Encode4(178745), // Rule ID 1777 //
63198 /* 178691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63199 /* 178694 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63200 /* 178697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63201 /* 178701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63202 /* 178705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63203 /* 178709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63204 /* 178712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63205 /* 178716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63206 /* 178720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63207 /* 178722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63208 /* 178729 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63209 /* 178729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rm),
63210 /* 178732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63211 /* 178734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63212 /* 178738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63213 /* 178743 */ GIR_RootConstrainSelectedInstOperands,
63214 /* 178744 */ // GIR_Coverage, 1777,
63215 /* 178744 */ GIR_EraseRootFromParent_Done,
63216 /* 178745 */ // Label 3952: @178745
63217 /* 178745 */ GIM_Try, /*On fail goto*//*Label 3953*/ GIMT_Encode4(178804), // Rule ID 10375 //
63218 /* 178750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63219 /* 178753 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63220 /* 178756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63221 /* 178760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63222 /* 178764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63223 /* 178768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63224 /* 178771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63225 /* 178775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63226 /* 178779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63227 /* 178781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63228 /* 178788 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63229 /* 178788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrm),
63230 /* 178791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63231 /* 178793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63232 /* 178797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63233 /* 178802 */ GIR_RootConstrainSelectedInstOperands,
63234 /* 178803 */ // GIR_Coverage, 10375,
63235 /* 178803 */ GIR_EraseRootFromParent_Done,
63236 /* 178804 */ // Label 3953: @178804
63237 /* 178804 */ GIM_Try, /*On fail goto*//*Label 3954*/ GIMT_Encode4(178863), // Rule ID 10393 //
63238 /* 178809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63239 /* 178812 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63240 /* 178815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63241 /* 178819 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63242 /* 178823 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63243 /* 178827 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63244 /* 178830 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63245 /* 178834 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63246 /* 178838 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63247 /* 178840 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63248 /* 178847 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63249 /* 178847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrm),
63250 /* 178850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63251 /* 178852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63252 /* 178856 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63253 /* 178861 */ GIR_RootConstrainSelectedInstOperands,
63254 /* 178862 */ // GIR_Coverage, 10393,
63255 /* 178862 */ GIR_EraseRootFromParent_Done,
63256 /* 178863 */ // Label 3954: @178863
63257 /* 178863 */ GIM_Try, /*On fail goto*//*Label 3955*/ GIMT_Encode4(178922), // Rule ID 15183 //
63258 /* 178868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63259 /* 178871 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63260 /* 178874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63261 /* 178878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63262 /* 178882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63263 /* 178886 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63264 /* 178889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63265 /* 178893 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63266 /* 178897 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63267 /* 178899 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63268 /* 178906 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63269 /* 178906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
63270 /* 178909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63271 /* 178911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63272 /* 178915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63273 /* 178920 */ GIR_RootConstrainSelectedInstOperands,
63274 /* 178921 */ // GIR_Coverage, 15183,
63275 /* 178921 */ GIR_EraseRootFromParent_Done,
63276 /* 178922 */ // Label 3955: @178922
63277 /* 178922 */ GIM_Try, /*On fail goto*//*Label 3956*/ GIMT_Encode4(178952), // Rule ID 1743 //
63278 /* 178927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63279 /* 178930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63280 /* 178933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63281 /* 178937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63282 /* 178941 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
63283 /* 178941 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rr),
63284 /* 178946 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63285 /* 178950 */ GIR_RootConstrainSelectedInstOperands,
63286 /* 178951 */ // GIR_Coverage, 1743,
63287 /* 178951 */ GIR_Done,
63288 /* 178952 */ // Label 3956: @178952
63289 /* 178952 */ GIM_Try, /*On fail goto*//*Label 3957*/ GIMT_Encode4(178982), // Rule ID 1751 //
63290 /* 178957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63291 /* 178960 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63292 /* 178963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63293 /* 178967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63294 /* 178971 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
63295 /* 178971 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rr),
63296 /* 178976 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63297 /* 178980 */ GIR_RootConstrainSelectedInstOperands,
63298 /* 178981 */ // GIR_Coverage, 1751,
63299 /* 178981 */ GIR_Done,
63300 /* 178982 */ // Label 3957: @178982
63301 /* 178982 */ GIM_Try, /*On fail goto*//*Label 3958*/ GIMT_Encode4(179012), // Rule ID 1767 //
63302 /* 178987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
63303 /* 178990 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63304 /* 178993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63305 /* 178997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63306 /* 179001 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
63307 /* 179001 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rr),
63308 /* 179006 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63309 /* 179010 */ GIR_RootConstrainSelectedInstOperands,
63310 /* 179011 */ // GIR_Coverage, 1767,
63311 /* 179011 */ GIR_Done,
63312 /* 179012 */ // Label 3958: @179012
63313 /* 179012 */ GIM_Try, /*On fail goto*//*Label 3959*/ GIMT_Encode4(179042), // Rule ID 1775 //
63314 /* 179017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63315 /* 179020 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63316 /* 179023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63317 /* 179027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63318 /* 179031 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
63319 /* 179031 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rr),
63320 /* 179036 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63321 /* 179040 */ GIR_RootConstrainSelectedInstOperands,
63322 /* 179041 */ // GIR_Coverage, 1775,
63323 /* 179041 */ GIR_Done,
63324 /* 179042 */ // Label 3959: @179042
63325 /* 179042 */ GIM_Try, /*On fail goto*//*Label 3960*/ GIMT_Encode4(179072), // Rule ID 10373 //
63326 /* 179047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63327 /* 179050 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63328 /* 179053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63329 /* 179057 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63330 /* 179061 */ // (fp_to_sint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
63331 /* 179061 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrr),
63332 /* 179066 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63333 /* 179070 */ GIR_RootConstrainSelectedInstOperands,
63334 /* 179071 */ // GIR_Coverage, 10373,
63335 /* 179071 */ GIR_Done,
63336 /* 179072 */ // Label 3960: @179072
63337 /* 179072 */ GIM_Try, /*On fail goto*//*Label 3961*/ GIMT_Encode4(179102), // Rule ID 10391 //
63338 /* 179077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63339 /* 179080 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63340 /* 179083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63341 /* 179087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63342 /* 179091 */ // (fp_to_sint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
63343 /* 179091 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrr),
63344 /* 179096 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63345 /* 179100 */ GIR_RootConstrainSelectedInstOperands,
63346 /* 179101 */ // GIR_Coverage, 10391,
63347 /* 179101 */ GIR_Done,
63348 /* 179102 */ // Label 3961: @179102
63349 /* 179102 */ GIM_Try, /*On fail goto*//*Label 3962*/ GIMT_Encode4(179132), // Rule ID 15181 //
63350 /* 179107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63351 /* 179110 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63352 /* 179113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63353 /* 179117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63354 /* 179121 */ // (fp_to_sint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
63355 /* 179121 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
63356 /* 179126 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63357 /* 179130 */ GIR_RootConstrainSelectedInstOperands,
63358 /* 179131 */ // GIR_Coverage, 15181,
63359 /* 179131 */ GIR_Done,
63360 /* 179132 */ // Label 3962: @179132
63361 /* 179132 */ GIM_Reject,
63362 /* 179133 */ // Label 3933: @179133
63363 /* 179133 */ GIM_Try, /*On fail goto*//*Label 3963*/ GIMT_Encode4(179221),
63364 /* 179138 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63365 /* 179141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63366 /* 179145 */ GIM_Try, /*On fail goto*//*Label 3964*/ GIMT_Encode4(179197), // Rule ID 18043 //
63367 /* 179150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63368 /* 179153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63369 /* 179157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63370 /* 179161 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63371 /* 179164 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63372 /* 179168 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63373 /* 179172 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63374 /* 179174 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63375 /* 179181 */ // (fp_to_sint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
63376 /* 179181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrm),
63377 /* 179184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63378 /* 179186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63379 /* 179190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63380 /* 179195 */ GIR_RootConstrainSelectedInstOperands,
63381 /* 179196 */ // GIR_Coverage, 18043,
63382 /* 179196 */ GIR_EraseRootFromParent_Done,
63383 /* 179197 */ // Label 3964: @179197
63384 /* 179197 */ GIM_Try, /*On fail goto*//*Label 3965*/ GIMT_Encode4(179220), // Rule ID 18041 //
63385 /* 179202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63386 /* 179205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63387 /* 179209 */ // (fp_to_sint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
63388 /* 179209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrr),
63389 /* 179214 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63390 /* 179218 */ GIR_RootConstrainSelectedInstOperands,
63391 /* 179219 */ // GIR_Coverage, 18041,
63392 /* 179219 */ GIR_Done,
63393 /* 179220 */ // Label 3965: @179220
63394 /* 179220 */ GIM_Reject,
63395 /* 179221 */ // Label 3963: @179221
63396 /* 179221 */ GIM_Reject,
63397 /* 179222 */ // Label 3934: @179222
63398 /* 179222 */ GIM_Reject,
63399 /* 179223 */ // Label 51: @179223
63400 /* 179223 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 3968*/ GIMT_Encode4(179778),
63401 /* 179234 */ /*GILLT_s32*//*Label 3966*/ GIMT_Encode4(179242),
63402 /* 179238 */ /*GILLT_s64*//*Label 3967*/ GIMT_Encode4(179510),
63403 /* 179242 */ // Label 3966: @179242
63404 /* 179242 */ GIM_Try, /*On fail goto*//*Label 3969*/ GIMT_Encode4(179301), // Rule ID 10402 //
63405 /* 179247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63406 /* 179250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63407 /* 179253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63408 /* 179257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63409 /* 179261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63410 /* 179265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63411 /* 179268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63412 /* 179272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63413 /* 179276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63414 /* 179278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63415 /* 179285 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63416 /* 179285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrm),
63417 /* 179288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63418 /* 179290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63419 /* 179294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63420 /* 179299 */ GIR_RootConstrainSelectedInstOperands,
63421 /* 179300 */ // GIR_Coverage, 10402,
63422 /* 179300 */ GIR_EraseRootFromParent_Done,
63423 /* 179301 */ // Label 3969: @179301
63424 /* 179301 */ GIM_Try, /*On fail goto*//*Label 3970*/ GIMT_Encode4(179360), // Rule ID 10420 //
63425 /* 179306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63426 /* 179309 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63427 /* 179312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63428 /* 179316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63429 /* 179320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63430 /* 179324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63431 /* 179327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63432 /* 179331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63433 /* 179335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63434 /* 179337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63435 /* 179344 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63436 /* 179344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrm),
63437 /* 179347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63438 /* 179349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63439 /* 179353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63440 /* 179358 */ GIR_RootConstrainSelectedInstOperands,
63441 /* 179359 */ // GIR_Coverage, 10420,
63442 /* 179359 */ GIR_EraseRootFromParent_Done,
63443 /* 179360 */ // Label 3970: @179360
63444 /* 179360 */ GIM_Try, /*On fail goto*//*Label 3971*/ GIMT_Encode4(179419), // Rule ID 15192 //
63445 /* 179365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63446 /* 179368 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63447 /* 179371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63448 /* 179375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63449 /* 179379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63450 /* 179383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63451 /* 179386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63452 /* 179390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63453 /* 179394 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63454 /* 179396 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63455 /* 179403 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
63456 /* 179403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrm),
63457 /* 179406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63458 /* 179408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63459 /* 179412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63460 /* 179417 */ GIR_RootConstrainSelectedInstOperands,
63461 /* 179418 */ // GIR_Coverage, 15192,
63462 /* 179418 */ GIR_EraseRootFromParent_Done,
63463 /* 179419 */ // Label 3971: @179419
63464 /* 179419 */ GIM_Try, /*On fail goto*//*Label 3972*/ GIMT_Encode4(179449), // Rule ID 10400 //
63465 /* 179424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63466 /* 179427 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63467 /* 179430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63468 /* 179434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63469 /* 179438 */ // (fp_to_uint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
63470 /* 179438 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrr),
63471 /* 179443 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63472 /* 179447 */ GIR_RootConstrainSelectedInstOperands,
63473 /* 179448 */ // GIR_Coverage, 10400,
63474 /* 179448 */ GIR_Done,
63475 /* 179449 */ // Label 3972: @179449
63476 /* 179449 */ GIM_Try, /*On fail goto*//*Label 3973*/ GIMT_Encode4(179479), // Rule ID 10418 //
63477 /* 179454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63478 /* 179457 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63479 /* 179460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63480 /* 179464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63481 /* 179468 */ // (fp_to_uint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
63482 /* 179468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrr),
63483 /* 179473 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63484 /* 179477 */ GIR_RootConstrainSelectedInstOperands,
63485 /* 179478 */ // GIR_Coverage, 10418,
63486 /* 179478 */ GIR_Done,
63487 /* 179479 */ // Label 3973: @179479
63488 /* 179479 */ GIM_Try, /*On fail goto*//*Label 3974*/ GIMT_Encode4(179509), // Rule ID 15190 //
63489 /* 179484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63490 /* 179487 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63491 /* 179490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63492 /* 179494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63493 /* 179498 */ // (fp_to_uint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
63494 /* 179498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrr),
63495 /* 179503 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63496 /* 179507 */ GIR_RootConstrainSelectedInstOperands,
63497 /* 179508 */ // GIR_Coverage, 15190,
63498 /* 179508 */ GIR_Done,
63499 /* 179509 */ // Label 3974: @179509
63500 /* 179509 */ GIM_Reject,
63501 /* 179510 */ // Label 3967: @179510
63502 /* 179510 */ GIM_Try, /*On fail goto*//*Label 3975*/ GIMT_Encode4(179569), // Rule ID 10411 //
63503 /* 179515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63504 /* 179518 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63505 /* 179521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63506 /* 179525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63507 /* 179529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63508 /* 179533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63509 /* 179536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63510 /* 179540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63511 /* 179544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63512 /* 179546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63513 /* 179553 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63514 /* 179553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrm),
63515 /* 179556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63516 /* 179558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63517 /* 179562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63518 /* 179567 */ GIR_RootConstrainSelectedInstOperands,
63519 /* 179568 */ // GIR_Coverage, 10411,
63520 /* 179568 */ GIR_EraseRootFromParent_Done,
63521 /* 179569 */ // Label 3975: @179569
63522 /* 179569 */ GIM_Try, /*On fail goto*//*Label 3976*/ GIMT_Encode4(179628), // Rule ID 10429 //
63523 /* 179574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63524 /* 179577 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63525 /* 179580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63526 /* 179584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63527 /* 179588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63528 /* 179592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63529 /* 179595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63530 /* 179599 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63531 /* 179603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63532 /* 179605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63533 /* 179612 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63534 /* 179612 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrm),
63535 /* 179615 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63536 /* 179617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63537 /* 179621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63538 /* 179626 */ GIR_RootConstrainSelectedInstOperands,
63539 /* 179627 */ // GIR_Coverage, 10429,
63540 /* 179627 */ GIR_EraseRootFromParent_Done,
63541 /* 179628 */ // Label 3976: @179628
63542 /* 179628 */ GIM_Try, /*On fail goto*//*Label 3977*/ GIMT_Encode4(179687), // Rule ID 15201 //
63543 /* 179633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63544 /* 179636 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63545 /* 179639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63546 /* 179643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63547 /* 179647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63548 /* 179651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63549 /* 179654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63550 /* 179658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63551 /* 179662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63552 /* 179664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63553 /* 179671 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
63554 /* 179671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrm),
63555 /* 179674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63556 /* 179676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63557 /* 179680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63558 /* 179685 */ GIR_RootConstrainSelectedInstOperands,
63559 /* 179686 */ // GIR_Coverage, 15201,
63560 /* 179686 */ GIR_EraseRootFromParent_Done,
63561 /* 179687 */ // Label 3977: @179687
63562 /* 179687 */ GIM_Try, /*On fail goto*//*Label 3978*/ GIMT_Encode4(179717), // Rule ID 10409 //
63563 /* 179692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63564 /* 179695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63565 /* 179698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63566 /* 179702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63567 /* 179706 */ // (fp_to_uint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
63568 /* 179706 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrr),
63569 /* 179711 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63570 /* 179715 */ GIR_RootConstrainSelectedInstOperands,
63571 /* 179716 */ // GIR_Coverage, 10409,
63572 /* 179716 */ GIR_Done,
63573 /* 179717 */ // Label 3978: @179717
63574 /* 179717 */ GIM_Try, /*On fail goto*//*Label 3979*/ GIMT_Encode4(179747), // Rule ID 10427 //
63575 /* 179722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63576 /* 179725 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63577 /* 179728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63578 /* 179732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63579 /* 179736 */ // (fp_to_uint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
63580 /* 179736 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrr),
63581 /* 179741 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63582 /* 179745 */ GIR_RootConstrainSelectedInstOperands,
63583 /* 179746 */ // GIR_Coverage, 10427,
63584 /* 179746 */ GIR_Done,
63585 /* 179747 */ // Label 3979: @179747
63586 /* 179747 */ GIM_Try, /*On fail goto*//*Label 3980*/ GIMT_Encode4(179777), // Rule ID 15199 //
63587 /* 179752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63588 /* 179755 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
63589 /* 179758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63590 /* 179762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63591 /* 179766 */ // (fp_to_uint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
63592 /* 179766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrr),
63593 /* 179771 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63594 /* 179775 */ GIR_RootConstrainSelectedInstOperands,
63595 /* 179776 */ // GIR_Coverage, 15199,
63596 /* 179776 */ GIR_Done,
63597 /* 179777 */ // Label 3980: @179777
63598 /* 179777 */ GIM_Reject,
63599 /* 179778 */ // Label 3968: @179778
63600 /* 179778 */ GIM_Reject,
63601 /* 179779 */ // Label 52: @179779
63602 /* 179779 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 3993*/ GIMT_Encode4(183154),
63603 /* 179790 */ /*GILLT_s16*//*Label 3981*/ GIMT_Encode4(179874),
63604 /* 179794 */ /*GILLT_s32*//*Label 3982*/ GIMT_Encode4(180117),
63605 /* 179798 */ /*GILLT_s64*//*Label 3983*/ GIMT_Encode4(180780), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63606 /* 179814 */ /*GILLT_v2s64*//*Label 3984*/ GIMT_Encode4(181439), GIMT_Encode4(0),
63607 /* 179822 */ /*GILLT_v4s32*//*Label 3985*/ GIMT_Encode4(181528),
63608 /* 179826 */ /*GILLT_v4s64*//*Label 3986*/ GIMT_Encode4(181826), GIMT_Encode4(0),
63609 /* 179834 */ /*GILLT_v8s16*//*Label 3987*/ GIMT_Encode4(182086),
63610 /* 179838 */ /*GILLT_v8s32*//*Label 3988*/ GIMT_Encode4(182354),
63611 /* 179842 */ /*GILLT_v8s64*//*Label 3989*/ GIMT_Encode4(182622), GIMT_Encode4(0), GIMT_Encode4(0),
63612 /* 179854 */ /*GILLT_v16s16*//*Label 3990*/ GIMT_Encode4(182797),
63613 /* 179858 */ /*GILLT_v16s32*//*Label 3991*/ GIMT_Encode4(182976), GIMT_Encode4(0), GIMT_Encode4(0),
63614 /* 179870 */ /*GILLT_v32s16*//*Label 3992*/ GIMT_Encode4(183065),
63615 /* 179874 */ // Label 3981: @179874
63616 /* 179874 */ GIM_Try, /*On fail goto*//*Label 3994*/ GIMT_Encode4(179950), // Rule ID 22193 //
63617 /* 179879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63618 /* 179882 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63619 /* 179885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63620 /* 179889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63621 /* 179893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63622 /* 179897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63623 /* 179900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63624 /* 179904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63625 /* 179908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63626 /* 179910 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63627 /* 179917 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
63628 /* 179917 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63629 /* 179920 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63630 /* 179924 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63631 /* 179929 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63632 /* 179931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrm),
63633 /* 179934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63634 /* 179936 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63635 /* 179939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63636 /* 179943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63637 /* 179948 */ GIR_RootConstrainSelectedInstOperands,
63638 /* 179949 */ // GIR_Coverage, 22193,
63639 /* 179949 */ GIR_EraseRootFromParent_Done,
63640 /* 179950 */ // Label 3994: @179950
63641 /* 179950 */ GIM_Try, /*On fail goto*//*Label 3995*/ GIMT_Encode4(180026), // Rule ID 22191 //
63642 /* 179955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63643 /* 179958 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63644 /* 179961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63645 /* 179965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63646 /* 179969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63647 /* 179973 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63648 /* 179976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63649 /* 179980 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63650 /* 179984 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63651 /* 179986 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63652 /* 179993 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
63653 /* 179993 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63654 /* 179996 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63655 /* 180000 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63656 /* 180005 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63657 /* 180007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrm),
63658 /* 180010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63659 /* 180012 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63660 /* 180015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63661 /* 180019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63662 /* 180024 */ GIR_RootConstrainSelectedInstOperands,
63663 /* 180025 */ // GIR_Coverage, 22191,
63664 /* 180025 */ GIR_EraseRootFromParent_Done,
63665 /* 180026 */ // Label 3995: @180026
63666 /* 180026 */ GIM_Try, /*On fail goto*//*Label 3996*/ GIMT_Encode4(180071), // Rule ID 22195 //
63667 /* 180031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63668 /* 180034 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63669 /* 180037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63670 /* 180041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63671 /* 180045 */ // (sint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
63672 /* 180045 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63673 /* 180048 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63674 /* 180052 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63675 /* 180057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63676 /* 180059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrr),
63677 /* 180062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63678 /* 180064 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63679 /* 180067 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63680 /* 180069 */ GIR_RootConstrainSelectedInstOperands,
63681 /* 180070 */ // GIR_Coverage, 22195,
63682 /* 180070 */ GIR_EraseRootFromParent_Done,
63683 /* 180071 */ // Label 3996: @180071
63684 /* 180071 */ GIM_Try, /*On fail goto*//*Label 3997*/ GIMT_Encode4(180116), // Rule ID 22197 //
63685 /* 180076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63686 /* 180079 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63687 /* 180082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63688 /* 180086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63689 /* 180090 */ // (sint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
63690 /* 180090 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63691 /* 180093 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63692 /* 180097 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63693 /* 180102 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63694 /* 180104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrr),
63695 /* 180107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63696 /* 180109 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63697 /* 180112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63698 /* 180114 */ GIR_RootConstrainSelectedInstOperands,
63699 /* 180115 */ // GIR_Coverage, 22197,
63700 /* 180115 */ GIR_EraseRootFromParent_Done,
63701 /* 180116 */ // Label 3997: @180116
63702 /* 180116 */ GIM_Reject,
63703 /* 180117 */ // Label 3982: @180117
63704 /* 180117 */ GIM_Try, /*On fail goto*//*Label 3998*/ GIMT_Encode4(180176), // Rule ID 1793 //
63705 /* 180122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
63706 /* 180125 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63707 /* 180128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63708 /* 180132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63709 /* 180136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63710 /* 180140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63711 /* 180143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63712 /* 180147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63713 /* 180151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63714 /* 180153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63715 /* 180160 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
63716 /* 180160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrm),
63717 /* 180163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63718 /* 180165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63719 /* 180169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63720 /* 180174 */ GIR_RootConstrainSelectedInstOperands,
63721 /* 180175 */ // GIR_Coverage, 1793,
63722 /* 180175 */ GIR_EraseRootFromParent_Done,
63723 /* 180176 */ // Label 3998: @180176
63724 /* 180176 */ GIM_Try, /*On fail goto*//*Label 3999*/ GIMT_Encode4(180252), // Rule ID 17965 //
63725 /* 180181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63726 /* 180184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63727 /* 180187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63728 /* 180191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63729 /* 180195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63730 /* 180199 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63731 /* 180202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63732 /* 180206 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63733 /* 180210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63734 /* 180212 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63735 /* 180219 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63736 /* 180219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63737 /* 180222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63738 /* 180226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63739 /* 180231 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63740 /* 180233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrm),
63741 /* 180236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63742 /* 180238 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63743 /* 180241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63744 /* 180245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63745 /* 180250 */ GIR_RootConstrainSelectedInstOperands,
63746 /* 180251 */ // GIR_Coverage, 17965,
63747 /* 180251 */ GIR_EraseRootFromParent_Done,
63748 /* 180252 */ // Label 3999: @180252
63749 /* 180252 */ GIM_Try, /*On fail goto*//*Label 4000*/ GIMT_Encode4(180328), // Rule ID 21138 //
63750 /* 180257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63751 /* 180260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63752 /* 180263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63753 /* 180267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63754 /* 180271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63755 /* 180275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63756 /* 180278 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63757 /* 180282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63758 /* 180286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63759 /* 180288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63760 /* 180295 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63761 /* 180295 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63762 /* 180298 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63763 /* 180302 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63764 /* 180307 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63765 /* 180309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrm),
63766 /* 180312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63767 /* 180314 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63768 /* 180317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63769 /* 180321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63770 /* 180326 */ GIR_RootConstrainSelectedInstOperands,
63771 /* 180327 */ // GIR_Coverage, 21138,
63772 /* 180327 */ GIR_EraseRootFromParent_Done,
63773 /* 180328 */ // Label 4000: @180328
63774 /* 180328 */ GIM_Try, /*On fail goto*//*Label 4001*/ GIMT_Encode4(180387), // Rule ID 1789 //
63775 /* 180333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
63776 /* 180336 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63777 /* 180339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63778 /* 180343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63779 /* 180347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63780 /* 180351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63781 /* 180354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63782 /* 180358 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63783 /* 180362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63784 /* 180364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63785 /* 180371 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
63786 /* 180371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrm),
63787 /* 180374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63788 /* 180376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63789 /* 180380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63790 /* 180385 */ GIR_RootConstrainSelectedInstOperands,
63791 /* 180386 */ // GIR_Coverage, 1789,
63792 /* 180386 */ GIR_EraseRootFromParent_Done,
63793 /* 180387 */ // Label 4001: @180387
63794 /* 180387 */ GIM_Try, /*On fail goto*//*Label 4002*/ GIMT_Encode4(180463), // Rule ID 17963 //
63795 /* 180392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63796 /* 180395 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63797 /* 180398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63798 /* 180402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63799 /* 180406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63800 /* 180410 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63801 /* 180413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63802 /* 180417 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63803 /* 180421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63804 /* 180423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63805 /* 180430 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63806 /* 180430 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63807 /* 180433 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63808 /* 180437 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63809 /* 180442 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63810 /* 180444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrm),
63811 /* 180447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63812 /* 180449 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63813 /* 180452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63814 /* 180456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63815 /* 180461 */ GIR_RootConstrainSelectedInstOperands,
63816 /* 180462 */ // GIR_Coverage, 17963,
63817 /* 180462 */ GIR_EraseRootFromParent_Done,
63818 /* 180463 */ // Label 4002: @180463
63819 /* 180463 */ GIM_Try, /*On fail goto*//*Label 4003*/ GIMT_Encode4(180539), // Rule ID 21136 //
63820 /* 180468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63821 /* 180471 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63822 /* 180474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63823 /* 180478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63824 /* 180482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63825 /* 180486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63826 /* 180489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63827 /* 180493 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63828 /* 180497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63829 /* 180499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63830 /* 180506 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63831 /* 180506 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63832 /* 180509 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63833 /* 180513 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63834 /* 180518 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63835 /* 180520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrm),
63836 /* 180523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63837 /* 180525 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63838 /* 180528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63839 /* 180532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63840 /* 180537 */ GIR_RootConstrainSelectedInstOperands,
63841 /* 180538 */ // GIR_Coverage, 21136,
63842 /* 180538 */ GIR_EraseRootFromParent_Done,
63843 /* 180539 */ // Label 4003: @180539
63844 /* 180539 */ GIM_Try, /*On fail goto*//*Label 4004*/ GIMT_Encode4(180569), // Rule ID 1787 //
63845 /* 180544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
63846 /* 180547 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63847 /* 180550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63848 /* 180554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63849 /* 180558 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (CVTSI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
63850 /* 180558 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrr),
63851 /* 180563 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63852 /* 180567 */ GIR_RootConstrainSelectedInstOperands,
63853 /* 180568 */ // GIR_Coverage, 1787,
63854 /* 180568 */ GIR_Done,
63855 /* 180569 */ // Label 4004: @180569
63856 /* 180569 */ GIM_Try, /*On fail goto*//*Label 4005*/ GIMT_Encode4(180599), // Rule ID 1791 //
63857 /* 180574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
63858 /* 180577 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63859 /* 180580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63860 /* 180584 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63861 /* 180588 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (CVTSI642SSrr:{ *:[f32] } GR64:{ *:[i64] }:$src)
63862 /* 180588 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrr),
63863 /* 180593 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63864 /* 180597 */ GIR_RootConstrainSelectedInstOperands,
63865 /* 180598 */ // GIR_Coverage, 1791,
63866 /* 180598 */ GIR_Done,
63867 /* 180599 */ // Label 4005: @180599
63868 /* 180599 */ GIM_Try, /*On fail goto*//*Label 4006*/ GIMT_Encode4(180644), // Rule ID 17971 //
63869 /* 180604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63870 /* 180607 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63871 /* 180610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63872 /* 180614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63873 /* 180618 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
63874 /* 180618 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63875 /* 180621 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63876 /* 180625 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63877 /* 180630 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63878 /* 180632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrr),
63879 /* 180635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63880 /* 180637 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63881 /* 180640 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63882 /* 180642 */ GIR_RootConstrainSelectedInstOperands,
63883 /* 180643 */ // GIR_Coverage, 17971,
63884 /* 180643 */ GIR_EraseRootFromParent_Done,
63885 /* 180644 */ // Label 4006: @180644
63886 /* 180644 */ GIM_Try, /*On fail goto*//*Label 4007*/ GIMT_Encode4(180689), // Rule ID 17973 //
63887 /* 180649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63888 /* 180652 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63889 /* 180655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
63890 /* 180659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63891 /* 180663 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
63892 /* 180663 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63893 /* 180666 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63894 /* 180670 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63895 /* 180675 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63896 /* 180677 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrr),
63897 /* 180680 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63898 /* 180682 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63899 /* 180685 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63900 /* 180687 */ GIR_RootConstrainSelectedInstOperands,
63901 /* 180688 */ // GIR_Coverage, 17973,
63902 /* 180688 */ GIR_EraseRootFromParent_Done,
63903 /* 180689 */ // Label 4007: @180689
63904 /* 180689 */ GIM_Try, /*On fail goto*//*Label 4008*/ GIMT_Encode4(180734), // Rule ID 21144 //
63905 /* 180694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63906 /* 180697 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63907 /* 180700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63908 /* 180704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63909 /* 180708 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
63910 /* 180708 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63911 /* 180711 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63912 /* 180715 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63913 /* 180720 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63914 /* 180722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrr),
63915 /* 180725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63916 /* 180727 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63917 /* 180730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63918 /* 180732 */ GIR_RootConstrainSelectedInstOperands,
63919 /* 180733 */ // GIR_Coverage, 21144,
63920 /* 180733 */ GIR_EraseRootFromParent_Done,
63921 /* 180734 */ // Label 4008: @180734
63922 /* 180734 */ GIM_Try, /*On fail goto*//*Label 4009*/ GIMT_Encode4(180779), // Rule ID 21146 //
63923 /* 180739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63924 /* 180742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63925 /* 180745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63926 /* 180749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63927 /* 180753 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
63928 /* 180753 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63929 /* 180756 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63930 /* 180760 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63931 /* 180765 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63932 /* 180767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrr),
63933 /* 180770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63934 /* 180772 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63935 /* 180775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63936 /* 180777 */ GIR_RootConstrainSelectedInstOperands,
63937 /* 180778 */ // GIR_Coverage, 21146,
63938 /* 180778 */ GIR_EraseRootFromParent_Done,
63939 /* 180779 */ // Label 4009: @180779
63940 /* 180779 */ GIM_Reject,
63941 /* 180780 */ // Label 3983: @180780
63942 /* 180780 */ GIM_Try, /*On fail goto*//*Label 4010*/ GIMT_Encode4(180839), // Rule ID 1801 //
63943 /* 180785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63944 /* 180788 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63945 /* 180791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63946 /* 180795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63947 /* 180799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63948 /* 180803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63949 /* 180806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63950 /* 180810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63951 /* 180814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63952 /* 180816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63953 /* 180823 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
63954 /* 180823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrm),
63955 /* 180826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63956 /* 180828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63957 /* 180832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63958 /* 180837 */ GIR_RootConstrainSelectedInstOperands,
63959 /* 180838 */ // GIR_Coverage, 1801,
63960 /* 180838 */ GIR_EraseRootFromParent_Done,
63961 /* 180839 */ // Label 4010: @180839
63962 /* 180839 */ GIM_Try, /*On fail goto*//*Label 4011*/ GIMT_Encode4(180915), // Rule ID 17969 //
63963 /* 180844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63964 /* 180847 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63965 /* 180850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63966 /* 180854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63967 /* 180858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63968 /* 180862 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63969 /* 180865 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63970 /* 180869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63971 /* 180873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63972 /* 180875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63973 /* 180882 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63974 /* 180882 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63975 /* 180885 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63976 /* 180889 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63977 /* 180894 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63978 /* 180896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrm),
63979 /* 180899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63980 /* 180901 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63981 /* 180904 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63982 /* 180908 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63983 /* 180913 */ GIR_RootConstrainSelectedInstOperands,
63984 /* 180914 */ // GIR_Coverage, 17969,
63985 /* 180914 */ GIR_EraseRootFromParent_Done,
63986 /* 180915 */ // Label 4011: @180915
63987 /* 180915 */ GIM_Try, /*On fail goto*//*Label 4012*/ GIMT_Encode4(180991), // Rule ID 21142 //
63988 /* 180920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63989 /* 180923 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63990 /* 180926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63991 /* 180930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63992 /* 180934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63993 /* 180938 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63994 /* 180941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63995 /* 180945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63996 /* 180949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63997 /* 180951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63998 /* 180958 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63999 /* 180958 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64000 /* 180961 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64001 /* 180965 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64002 /* 180970 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64003 /* 180972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrm),
64004 /* 180975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64005 /* 180977 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64006 /* 180980 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64007 /* 180984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64008 /* 180989 */ GIR_RootConstrainSelectedInstOperands,
64009 /* 180990 */ // GIR_Coverage, 21142,
64010 /* 180990 */ GIR_EraseRootFromParent_Done,
64011 /* 180991 */ // Label 4012: @180991
64012 /* 180991 */ GIM_Try, /*On fail goto*//*Label 4013*/ GIMT_Encode4(181050), // Rule ID 1797 //
64013 /* 180996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
64014 /* 180999 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64015 /* 181002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
64016 /* 181006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64017 /* 181010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64018 /* 181014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64019 /* 181017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64020 /* 181021 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
64021 /* 181025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64022 /* 181027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64023 /* 181034 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
64024 /* 181034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrm),
64025 /* 181037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64026 /* 181039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64027 /* 181043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64028 /* 181048 */ GIR_RootConstrainSelectedInstOperands,
64029 /* 181049 */ // GIR_Coverage, 1797,
64030 /* 181049 */ GIR_EraseRootFromParent_Done,
64031 /* 181050 */ // Label 4013: @181050
64032 /* 181050 */ GIM_Try, /*On fail goto*//*Label 4014*/ GIMT_Encode4(181126), // Rule ID 17967 //
64033 /* 181055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
64034 /* 181058 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64035 /* 181061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
64036 /* 181065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64037 /* 181069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64038 /* 181073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64039 /* 181076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64040 /* 181080 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
64041 /* 181084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64042 /* 181086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64043 /* 181093 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
64044 /* 181093 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64045 /* 181096 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64046 /* 181100 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64047 /* 181105 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64048 /* 181107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrm),
64049 /* 181110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64050 /* 181112 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64051 /* 181115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64052 /* 181119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64053 /* 181124 */ GIR_RootConstrainSelectedInstOperands,
64054 /* 181125 */ // GIR_Coverage, 17967,
64055 /* 181125 */ GIR_EraseRootFromParent_Done,
64056 /* 181126 */ // Label 4014: @181126
64057 /* 181126 */ GIM_Try, /*On fail goto*//*Label 4015*/ GIMT_Encode4(181202), // Rule ID 21140 //
64058 /* 181131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64059 /* 181134 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64060 /* 181137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64061 /* 181141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64062 /* 181145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64063 /* 181149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64064 /* 181152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64065 /* 181156 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
64066 /* 181160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64067 /* 181162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64068 /* 181169 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
64069 /* 181169 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64070 /* 181172 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64071 /* 181176 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64072 /* 181181 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64073 /* 181183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrm),
64074 /* 181186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64075 /* 181188 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64076 /* 181191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64077 /* 181195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64078 /* 181200 */ GIR_RootConstrainSelectedInstOperands,
64079 /* 181201 */ // GIR_Coverage, 21140,
64080 /* 181201 */ GIR_EraseRootFromParent_Done,
64081 /* 181202 */ // Label 4015: @181202
64082 /* 181202 */ GIM_Try, /*On fail goto*//*Label 4016*/ GIMT_Encode4(181228), // Rule ID 1795 //
64083 /* 181207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
64084 /* 181210 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64085 /* 181213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
64086 /* 181217 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64087 /* 181221 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (CVTSI2SDrr:{ *:[f64] } GR32:{ *:[i32] }:$src)
64088 /* 181221 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrr),
64089 /* 181226 */ GIR_RootConstrainSelectedInstOperands,
64090 /* 181227 */ // GIR_Coverage, 1795,
64091 /* 181227 */ GIR_Done,
64092 /* 181228 */ // Label 4016: @181228
64093 /* 181228 */ GIM_Try, /*On fail goto*//*Label 4017*/ GIMT_Encode4(181258), // Rule ID 1799 //
64094 /* 181233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
64095 /* 181236 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64096 /* 181239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
64097 /* 181243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64098 /* 181247 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (CVTSI642SDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
64099 /* 181247 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrr),
64100 /* 181252 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64101 /* 181256 */ GIR_RootConstrainSelectedInstOperands,
64102 /* 181257 */ // GIR_Coverage, 1799,
64103 /* 181257 */ GIR_Done,
64104 /* 181258 */ // Label 4017: @181258
64105 /* 181258 */ GIM_Try, /*On fail goto*//*Label 4018*/ GIMT_Encode4(181303), // Rule ID 17975 //
64106 /* 181263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
64107 /* 181266 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64108 /* 181269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
64109 /* 181273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64110 /* 181277 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
64111 /* 181277 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64112 /* 181280 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64113 /* 181284 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64114 /* 181289 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64115 /* 181291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrr),
64116 /* 181294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64117 /* 181296 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64118 /* 181299 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64119 /* 181301 */ GIR_RootConstrainSelectedInstOperands,
64120 /* 181302 */ // GIR_Coverage, 17975,
64121 /* 181302 */ GIR_EraseRootFromParent_Done,
64122 /* 181303 */ // Label 4018: @181303
64123 /* 181303 */ GIM_Try, /*On fail goto*//*Label 4019*/ GIMT_Encode4(181348), // Rule ID 17977 //
64124 /* 181308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
64125 /* 181311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64126 /* 181314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
64127 /* 181318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64128 /* 181322 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
64129 /* 181322 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64130 /* 181325 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64131 /* 181329 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64132 /* 181334 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64133 /* 181336 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrr),
64134 /* 181339 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64135 /* 181341 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64136 /* 181344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64137 /* 181346 */ GIR_RootConstrainSelectedInstOperands,
64138 /* 181347 */ // GIR_Coverage, 17977,
64139 /* 181347 */ GIR_EraseRootFromParent_Done,
64140 /* 181348 */ // Label 4019: @181348
64141 /* 181348 */ GIM_Try, /*On fail goto*//*Label 4020*/ GIMT_Encode4(181393), // Rule ID 21148 //
64142 /* 181353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64143 /* 181356 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64144 /* 181359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64145 /* 181363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64146 /* 181367 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
64147 /* 181367 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64148 /* 181370 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64149 /* 181374 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64150 /* 181379 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64151 /* 181381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrr),
64152 /* 181384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64153 /* 181386 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64154 /* 181389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64155 /* 181391 */ GIR_RootConstrainSelectedInstOperands,
64156 /* 181392 */ // GIR_Coverage, 21148,
64157 /* 181392 */ GIR_EraseRootFromParent_Done,
64158 /* 181393 */ // Label 4020: @181393
64159 /* 181393 */ GIM_Try, /*On fail goto*//*Label 4021*/ GIMT_Encode4(181438), // Rule ID 21150 //
64160 /* 181398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64161 /* 181401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64162 /* 181404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64163 /* 181408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64164 /* 181412 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
64165 /* 181412 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64166 /* 181415 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64167 /* 181419 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64168 /* 181424 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64169 /* 181426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrr),
64170 /* 181429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64171 /* 181431 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64172 /* 181434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64173 /* 181436 */ GIR_RootConstrainSelectedInstOperands,
64174 /* 181437 */ // GIR_Coverage, 21150,
64175 /* 181437 */ GIR_EraseRootFromParent_Done,
64176 /* 181438 */ // Label 4021: @181438
64177 /* 181438 */ GIM_Reject,
64178 /* 181439 */ // Label 3984: @181439
64179 /* 181439 */ GIM_Try, /*On fail goto*//*Label 4022*/ GIMT_Encode4(181527),
64180 /* 181444 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
64181 /* 181447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64182 /* 181451 */ GIM_Try, /*On fail goto*//*Label 4023*/ GIMT_Encode4(181503), // Rule ID 11382 //
64183 /* 181456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64184 /* 181459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64185 /* 181463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64186 /* 181467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64187 /* 181470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64188 /* 181474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64189 /* 181478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64190 /* 181480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64191 /* 181487 */ // (sint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
64192 /* 181487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rm),
64193 /* 181490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64194 /* 181492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64195 /* 181496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64196 /* 181501 */ GIR_RootConstrainSelectedInstOperands,
64197 /* 181502 */ // GIR_Coverage, 11382,
64198 /* 181502 */ GIR_EraseRootFromParent_Done,
64199 /* 181503 */ // Label 4023: @181503
64200 /* 181503 */ GIM_Try, /*On fail goto*//*Label 4024*/ GIMT_Encode4(181526), // Rule ID 11378 //
64201 /* 181508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64202 /* 181511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64203 /* 181515 */ // (sint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
64204 /* 181515 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rr),
64205 /* 181520 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64206 /* 181524 */ GIR_RootConstrainSelectedInstOperands,
64207 /* 181525 */ // GIR_Coverage, 11378,
64208 /* 181525 */ GIR_Done,
64209 /* 181526 */ // Label 4024: @181526
64210 /* 181526 */ GIM_Reject,
64211 /* 181527 */ // Label 4022: @181527
64212 /* 181527 */ GIM_Reject,
64213 /* 181528 */ // Label 3985: @181528
64214 /* 181528 */ GIM_Try, /*On fail goto*//*Label 4025*/ GIMT_Encode4(181587), // Rule ID 1869 //
64215 /* 181533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64216 /* 181536 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64217 /* 181539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64218 /* 181543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64219 /* 181547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64220 /* 181551 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64221 /* 181554 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64222 /* 181558 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64223 /* 181562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64224 /* 181564 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64225 /* 181571 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
64226 /* 181571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrm),
64227 /* 181574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64228 /* 181576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64229 /* 181580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64230 /* 181585 */ GIR_RootConstrainSelectedInstOperands,
64231 /* 181586 */ // GIR_Coverage, 1869,
64232 /* 181586 */ GIR_EraseRootFromParent_Done,
64233 /* 181587 */ // Label 4025: @181587
64234 /* 181587 */ GIM_Try, /*On fail goto*//*Label 4026*/ GIMT_Encode4(181646), // Rule ID 10758 //
64235 /* 181592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64236 /* 181595 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64237 /* 181598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64238 /* 181602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64239 /* 181606 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64240 /* 181610 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64241 /* 181613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64242 /* 181617 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64243 /* 181621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64244 /* 181623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64245 /* 181630 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
64246 /* 181630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rm),
64247 /* 181633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64248 /* 181635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64249 /* 181639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64250 /* 181644 */ GIR_RootConstrainSelectedInstOperands,
64251 /* 181645 */ // GIR_Coverage, 10758,
64252 /* 181645 */ GIR_EraseRootFromParent_Done,
64253 /* 181646 */ // Label 4026: @181646
64254 /* 181646 */ GIM_Try, /*On fail goto*//*Label 4027*/ GIMT_Encode4(181705), // Rule ID 11514 //
64255 /* 181651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64256 /* 181654 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64257 /* 181657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64258 /* 181661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64259 /* 181665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64260 /* 181669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64261 /* 181672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64262 /* 181676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64263 /* 181680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64264 /* 181682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64265 /* 181689 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
64266 /* 181689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rm),
64267 /* 181692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64268 /* 181694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64269 /* 181698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64270 /* 181703 */ GIR_RootConstrainSelectedInstOperands,
64271 /* 181704 */ // GIR_Coverage, 11514,
64272 /* 181704 */ GIR_EraseRootFromParent_Done,
64273 /* 181705 */ // Label 4027: @181705
64274 /* 181705 */ GIM_Try, /*On fail goto*//*Label 4028*/ GIMT_Encode4(181735), // Rule ID 1867 //
64275 /* 181710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64276 /* 181713 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64277 /* 181716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64278 /* 181720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64279 /* 181724 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
64280 /* 181724 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrr),
64281 /* 181729 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64282 /* 181733 */ GIR_RootConstrainSelectedInstOperands,
64283 /* 181734 */ // GIR_Coverage, 1867,
64284 /* 181734 */ GIR_Done,
64285 /* 181735 */ // Label 4028: @181735
64286 /* 181735 */ GIM_Try, /*On fail goto*//*Label 4029*/ GIMT_Encode4(181765), // Rule ID 1875 //
64287 /* 181740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
64288 /* 181743 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64289 /* 181746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64290 /* 181750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64291 /* 181754 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (CVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
64292 /* 181754 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTDQ2PSrr),
64293 /* 181759 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64294 /* 181763 */ GIR_RootConstrainSelectedInstOperands,
64295 /* 181764 */ // GIR_Coverage, 1875,
64296 /* 181764 */ GIR_Done,
64297 /* 181765 */ // Label 4029: @181765
64298 /* 181765 */ GIM_Try, /*On fail goto*//*Label 4030*/ GIMT_Encode4(181795), // Rule ID 10754 //
64299 /* 181770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64300 /* 181773 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64301 /* 181776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64302 /* 181780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64303 /* 181784 */ // (sint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
64304 /* 181784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rr),
64305 /* 181789 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64306 /* 181793 */ GIR_RootConstrainSelectedInstOperands,
64307 /* 181794 */ // GIR_Coverage, 10754,
64308 /* 181794 */ GIR_Done,
64309 /* 181795 */ // Label 4030: @181795
64310 /* 181795 */ GIM_Try, /*On fail goto*//*Label 4031*/ GIMT_Encode4(181825), // Rule ID 11510 //
64311 /* 181800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64312 /* 181803 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64313 /* 181806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64314 /* 181810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64315 /* 181814 */ // (sint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
64316 /* 181814 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rr),
64317 /* 181819 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64318 /* 181823 */ GIR_RootConstrainSelectedInstOperands,
64319 /* 181824 */ // GIR_Coverage, 11510,
64320 /* 181824 */ GIR_Done,
64321 /* 181825 */ // Label 4031: @181825
64322 /* 181825 */ GIM_Reject,
64323 /* 181826 */ // Label 3986: @181826
64324 /* 181826 */ GIM_Try, /*On fail goto*//*Label 4032*/ GIMT_Encode4(181885), // Rule ID 1944 //
64325 /* 181831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64326 /* 181834 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64327 /* 181837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64328 /* 181841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64329 /* 181845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64330 /* 181849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64331 /* 181852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64332 /* 181856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64333 /* 181860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64334 /* 181862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64335 /* 181869 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
64336 /* 181869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrm),
64337 /* 181872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64338 /* 181874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64339 /* 181878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64340 /* 181883 */ GIR_RootConstrainSelectedInstOperands,
64341 /* 181884 */ // GIR_Coverage, 1944,
64342 /* 181884 */ GIR_EraseRootFromParent_Done,
64343 /* 181885 */ // Label 4032: @181885
64344 /* 181885 */ GIM_Try, /*On fail goto*//*Label 4033*/ GIMT_Encode4(181944), // Rule ID 10731 //
64345 /* 181890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64346 /* 181893 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64347 /* 181896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64348 /* 181900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64349 /* 181904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64350 /* 181908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64351 /* 181911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64352 /* 181915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64353 /* 181919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64354 /* 181921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64355 /* 181928 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
64356 /* 181928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rm),
64357 /* 181931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64358 /* 181933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64359 /* 181937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64360 /* 181942 */ GIR_RootConstrainSelectedInstOperands,
64361 /* 181943 */ // GIR_Coverage, 10731,
64362 /* 181943 */ GIR_EraseRootFromParent_Done,
64363 /* 181944 */ // Label 4033: @181944
64364 /* 181944 */ GIM_Try, /*On fail goto*//*Label 4034*/ GIMT_Encode4(182003), // Rule ID 11394 //
64365 /* 181949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64366 /* 181952 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64367 /* 181955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64368 /* 181959 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64369 /* 181963 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64370 /* 181967 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64371 /* 181970 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64372 /* 181974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64373 /* 181978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64374 /* 181980 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64375 /* 181987 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
64376 /* 181987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rm),
64377 /* 181990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64378 /* 181992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64379 /* 181996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64380 /* 182001 */ GIR_RootConstrainSelectedInstOperands,
64381 /* 182002 */ // GIR_Coverage, 11394,
64382 /* 182002 */ GIR_EraseRootFromParent_Done,
64383 /* 182003 */ // Label 4034: @182003
64384 /* 182003 */ GIM_Try, /*On fail goto*//*Label 4035*/ GIMT_Encode4(182029), // Rule ID 1946 //
64385 /* 182008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64386 /* 182011 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64387 /* 182014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64388 /* 182018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64389 /* 182022 */ // (sint_to_fp:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PDYrr:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src)
64390 /* 182022 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrr),
64391 /* 182027 */ GIR_RootConstrainSelectedInstOperands,
64392 /* 182028 */ // GIR_Coverage, 1946,
64393 /* 182028 */ GIR_Done,
64394 /* 182029 */ // Label 4035: @182029
64395 /* 182029 */ GIM_Try, /*On fail goto*//*Label 4036*/ GIMT_Encode4(182055), // Rule ID 10727 //
64396 /* 182034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64397 /* 182037 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64398 /* 182040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64399 /* 182044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64400 /* 182048 */ // (sint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
64401 /* 182048 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rr),
64402 /* 182053 */ GIR_RootConstrainSelectedInstOperands,
64403 /* 182054 */ // GIR_Coverage, 10727,
64404 /* 182054 */ GIR_Done,
64405 /* 182055 */ // Label 4036: @182055
64406 /* 182055 */ GIM_Try, /*On fail goto*//*Label 4037*/ GIMT_Encode4(182085), // Rule ID 11390 //
64407 /* 182060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64408 /* 182063 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64409 /* 182066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64410 /* 182070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64411 /* 182074 */ // (sint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
64412 /* 182074 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rr),
64413 /* 182079 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64414 /* 182083 */ GIR_RootConstrainSelectedInstOperands,
64415 /* 182084 */ // GIR_Coverage, 11390,
64416 /* 182084 */ GIR_Done,
64417 /* 182085 */ // Label 4037: @182085
64418 /* 182085 */ GIM_Reject,
64419 /* 182086 */ // Label 3987: @182086
64420 /* 182086 */ GIM_Try, /*On fail goto*//*Label 4038*/ GIMT_Encode4(182145), // Rule ID 11460 //
64421 /* 182091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64422 /* 182094 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64423 /* 182097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64424 /* 182101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64425 /* 182105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64426 /* 182109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64427 /* 182112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64428 /* 182116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64429 /* 182120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64430 /* 182122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64431 /* 182129 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64432 /* 182129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rm),
64433 /* 182132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64434 /* 182134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64435 /* 182138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64436 /* 182143 */ GIR_RootConstrainSelectedInstOperands,
64437 /* 182144 */ // GIR_Coverage, 11460,
64438 /* 182144 */ GIR_EraseRootFromParent_Done,
64439 /* 182145 */ // Label 4038: @182145
64440 /* 182145 */ GIM_Try, /*On fail goto*//*Label 4039*/ GIMT_Encode4(182204), // Rule ID 14826 //
64441 /* 182150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64442 /* 182153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64443 /* 182156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64444 /* 182160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64445 /* 182164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64446 /* 182168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64447 /* 182171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64448 /* 182175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64449 /* 182179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64450 /* 182181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64451 /* 182188 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64452 /* 182188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rm),
64453 /* 182191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64454 /* 182193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64455 /* 182197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64456 /* 182202 */ GIR_RootConstrainSelectedInstOperands,
64457 /* 182203 */ // GIR_Coverage, 14826,
64458 /* 182203 */ GIR_EraseRootFromParent_Done,
64459 /* 182204 */ // Label 4039: @182204
64460 /* 182204 */ GIM_Try, /*On fail goto*//*Label 4040*/ GIMT_Encode4(182263), // Rule ID 15126 //
64461 /* 182209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64462 /* 182212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64463 /* 182215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64464 /* 182219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64465 /* 182223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64466 /* 182227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64467 /* 182230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64468 /* 182234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64469 /* 182238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64470 /* 182240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64471 /* 182247 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64472 /* 182247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrm),
64473 /* 182250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64474 /* 182252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64475 /* 182256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64476 /* 182261 */ GIR_RootConstrainSelectedInstOperands,
64477 /* 182262 */ // GIR_Coverage, 15126,
64478 /* 182262 */ GIR_EraseRootFromParent_Done,
64479 /* 182263 */ // Label 4040: @182263
64480 /* 182263 */ GIM_Try, /*On fail goto*//*Label 4041*/ GIMT_Encode4(182293), // Rule ID 11456 //
64481 /* 182268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64482 /* 182271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64483 /* 182274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64484 /* 182278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64485 /* 182282 */ // (sint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
64486 /* 182282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rr),
64487 /* 182287 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64488 /* 182291 */ GIR_RootConstrainSelectedInstOperands,
64489 /* 182292 */ // GIR_Coverage, 11456,
64490 /* 182292 */ GIR_Done,
64491 /* 182293 */ // Label 4041: @182293
64492 /* 182293 */ GIM_Try, /*On fail goto*//*Label 4042*/ GIMT_Encode4(182323), // Rule ID 14822 //
64493 /* 182298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64494 /* 182301 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64495 /* 182304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64496 /* 182308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64497 /* 182312 */ // (sint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
64498 /* 182312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rr),
64499 /* 182317 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64500 /* 182321 */ GIR_RootConstrainSelectedInstOperands,
64501 /* 182322 */ // GIR_Coverage, 14822,
64502 /* 182322 */ GIR_Done,
64503 /* 182323 */ // Label 4042: @182323
64504 /* 182323 */ GIM_Try, /*On fail goto*//*Label 4043*/ GIMT_Encode4(182353), // Rule ID 15122 //
64505 /* 182328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64506 /* 182331 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64507 /* 182334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64508 /* 182338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64509 /* 182342 */ // (sint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
64510 /* 182342 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrr),
64511 /* 182347 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64512 /* 182351 */ GIR_RootConstrainSelectedInstOperands,
64513 /* 182352 */ // GIR_Coverage, 15122,
64514 /* 182352 */ GIR_Done,
64515 /* 182353 */ // Label 4043: @182353
64516 /* 182353 */ GIM_Reject,
64517 /* 182354 */ // Label 3988: @182354
64518 /* 182354 */ GIM_Try, /*On fail goto*//*Label 4044*/ GIMT_Encode4(182413), // Rule ID 1873 //
64519 /* 182359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64520 /* 182362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64521 /* 182365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64522 /* 182369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64523 /* 182373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64524 /* 182377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64525 /* 182380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64526 /* 182384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64527 /* 182388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64528 /* 182390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64529 /* 182397 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64530 /* 182397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrm),
64531 /* 182400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64532 /* 182402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64533 /* 182406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64534 /* 182411 */ GIR_RootConstrainSelectedInstOperands,
64535 /* 182412 */ // GIR_Coverage, 1873,
64536 /* 182412 */ GIR_EraseRootFromParent_Done,
64537 /* 182413 */ // Label 4044: @182413
64538 /* 182413 */ GIM_Try, /*On fail goto*//*Label 4045*/ GIMT_Encode4(182472), // Rule ID 10770 //
64539 /* 182418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64540 /* 182421 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64541 /* 182424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64542 /* 182428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64543 /* 182432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64544 /* 182436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64545 /* 182439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64546 /* 182443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64547 /* 182447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64548 /* 182449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64549 /* 182456 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64550 /* 182456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rm),
64551 /* 182459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64552 /* 182461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64553 /* 182465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64554 /* 182470 */ GIR_RootConstrainSelectedInstOperands,
64555 /* 182471 */ // GIR_Coverage, 10770,
64556 /* 182471 */ GIR_EraseRootFromParent_Done,
64557 /* 182472 */ // Label 4045: @182472
64558 /* 182472 */ GIM_Try, /*On fail goto*//*Label 4046*/ GIMT_Encode4(182531), // Rule ID 11499 //
64559 /* 182477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64560 /* 182480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64561 /* 182483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64562 /* 182487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64563 /* 182491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64564 /* 182495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64565 /* 182498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64566 /* 182502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64567 /* 182506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64568 /* 182508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64569 /* 182515 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64570 /* 182515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrm),
64571 /* 182518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64572 /* 182520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64573 /* 182524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64574 /* 182529 */ GIR_RootConstrainSelectedInstOperands,
64575 /* 182530 */ // GIR_Coverage, 11499,
64576 /* 182530 */ GIR_EraseRootFromParent_Done,
64577 /* 182531 */ // Label 4046: @182531
64578 /* 182531 */ GIM_Try, /*On fail goto*//*Label 4047*/ GIMT_Encode4(182561), // Rule ID 1871 //
64579 /* 182536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
64580 /* 182539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64581 /* 182542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64582 /* 182546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64583 /* 182550 */ // (sint_to_fp:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src) => (VCVTDQ2PSYrr:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src)
64584 /* 182550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrr),
64585 /* 182555 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64586 /* 182559 */ GIR_RootConstrainSelectedInstOperands,
64587 /* 182560 */ // GIR_Coverage, 1871,
64588 /* 182560 */ GIR_Done,
64589 /* 182561 */ // Label 4047: @182561
64590 /* 182561 */ GIM_Try, /*On fail goto*//*Label 4048*/ GIMT_Encode4(182591), // Rule ID 10766 //
64591 /* 182566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64592 /* 182569 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64593 /* 182572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64594 /* 182576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64595 /* 182580 */ // (sint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
64596 /* 182580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rr),
64597 /* 182585 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64598 /* 182589 */ GIR_RootConstrainSelectedInstOperands,
64599 /* 182590 */ // GIR_Coverage, 10766,
64600 /* 182590 */ GIR_Done,
64601 /* 182591 */ // Label 4048: @182591
64602 /* 182591 */ GIM_Try, /*On fail goto*//*Label 4049*/ GIMT_Encode4(182621), // Rule ID 11495 //
64603 /* 182596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64604 /* 182599 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64605 /* 182602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64606 /* 182606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64607 /* 182610 */ // (sint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
64608 /* 182610 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrr),
64609 /* 182615 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64610 /* 182619 */ GIR_RootConstrainSelectedInstOperands,
64611 /* 182620 */ // GIR_Coverage, 11495,
64612 /* 182620 */ GIR_Done,
64613 /* 182621 */ // Label 4049: @182621
64614 /* 182621 */ GIM_Reject,
64615 /* 182622 */ // Label 3989: @182622
64616 /* 182622 */ GIM_Try, /*On fail goto*//*Label 4050*/ GIMT_Encode4(182681), // Rule ID 10707 //
64617 /* 182627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64618 /* 182630 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64619 /* 182633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64620 /* 182637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64621 /* 182641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64622 /* 182645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64623 /* 182648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64624 /* 182652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64625 /* 182656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64626 /* 182658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64627 /* 182665 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64628 /* 182665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrm),
64629 /* 182668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64630 /* 182670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64631 /* 182674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64632 /* 182679 */ GIR_RootConstrainSelectedInstOperands,
64633 /* 182680 */ // GIR_Coverage, 10707,
64634 /* 182680 */ GIR_EraseRootFromParent_Done,
64635 /* 182681 */ // Label 4050: @182681
64636 /* 182681 */ GIM_Try, /*On fail goto*//*Label 4051*/ GIMT_Encode4(182740), // Rule ID 11367 //
64637 /* 182686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64638 /* 182689 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64639 /* 182692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64640 /* 182696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64641 /* 182700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64642 /* 182704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64643 /* 182707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64644 /* 182711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64645 /* 182715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64646 /* 182717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64647 /* 182724 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64648 /* 182724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrm),
64649 /* 182727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64650 /* 182729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64651 /* 182733 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64652 /* 182738 */ GIR_RootConstrainSelectedInstOperands,
64653 /* 182739 */ // GIR_Coverage, 11367,
64654 /* 182739 */ GIR_EraseRootFromParent_Done,
64655 /* 182740 */ // Label 4051: @182740
64656 /* 182740 */ GIM_Try, /*On fail goto*//*Label 4052*/ GIMT_Encode4(182766), // Rule ID 10703 //
64657 /* 182745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64658 /* 182748 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64659 /* 182751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64660 /* 182755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64661 /* 182759 */ // (sint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
64662 /* 182759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrr),
64663 /* 182764 */ GIR_RootConstrainSelectedInstOperands,
64664 /* 182765 */ // GIR_Coverage, 10703,
64665 /* 182765 */ GIR_Done,
64666 /* 182766 */ // Label 4052: @182766
64667 /* 182766 */ GIM_Try, /*On fail goto*//*Label 4053*/ GIMT_Encode4(182796), // Rule ID 11363 //
64668 /* 182771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64669 /* 182774 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64670 /* 182777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64671 /* 182781 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64672 /* 182785 */ // (sint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
64673 /* 182785 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrr),
64674 /* 182790 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64675 /* 182794 */ GIR_RootConstrainSelectedInstOperands,
64676 /* 182795 */ // GIR_Coverage, 11363,
64677 /* 182795 */ GIR_Done,
64678 /* 182796 */ // Label 4053: @182796
64679 /* 182796 */ GIM_Reject,
64680 /* 182797 */ // Label 3990: @182797
64681 /* 182797 */ GIM_Try, /*On fail goto*//*Label 4054*/ GIMT_Encode4(182856), // Rule ID 11445 //
64682 /* 182802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64683 /* 182805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64684 /* 182808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64685 /* 182812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64686 /* 182816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64687 /* 182820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64688 /* 182823 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64689 /* 182827 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64690 /* 182831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64691 /* 182833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64692 /* 182840 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64693 /* 182840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrm),
64694 /* 182843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64695 /* 182845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64696 /* 182849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64697 /* 182854 */ GIR_RootConstrainSelectedInstOperands,
64698 /* 182855 */ // GIR_Coverage, 11445,
64699 /* 182855 */ GIR_EraseRootFromParent_Done,
64700 /* 182856 */ // Label 4054: @182856
64701 /* 182856 */ GIM_Try, /*On fail goto*//*Label 4055*/ GIMT_Encode4(182915), // Rule ID 14838 //
64702 /* 182861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64703 /* 182864 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64704 /* 182867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64705 /* 182871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64706 /* 182875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64707 /* 182879 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64708 /* 182882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64709 /* 182886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64710 /* 182890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64711 /* 182892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64712 /* 182899 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64713 /* 182899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rm),
64714 /* 182902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64715 /* 182904 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64716 /* 182908 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64717 /* 182913 */ GIR_RootConstrainSelectedInstOperands,
64718 /* 182914 */ // GIR_Coverage, 14838,
64719 /* 182914 */ GIR_EraseRootFromParent_Done,
64720 /* 182915 */ // Label 4055: @182915
64721 /* 182915 */ GIM_Try, /*On fail goto*//*Label 4056*/ GIMT_Encode4(182945), // Rule ID 11441 //
64722 /* 182920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64723 /* 182923 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64724 /* 182926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64725 /* 182930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64726 /* 182934 */ // (sint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
64727 /* 182934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrr),
64728 /* 182939 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64729 /* 182943 */ GIR_RootConstrainSelectedInstOperands,
64730 /* 182944 */ // GIR_Coverage, 11441,
64731 /* 182944 */ GIR_Done,
64732 /* 182945 */ // Label 4056: @182945
64733 /* 182945 */ GIM_Try, /*On fail goto*//*Label 4057*/ GIMT_Encode4(182975), // Rule ID 14834 //
64734 /* 182950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64735 /* 182953 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64736 /* 182956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64737 /* 182960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64738 /* 182964 */ // (sint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
64739 /* 182964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rr),
64740 /* 182969 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64741 /* 182973 */ GIR_RootConstrainSelectedInstOperands,
64742 /* 182974 */ // GIR_Coverage, 14834,
64743 /* 182974 */ GIR_Done,
64744 /* 182975 */ // Label 4057: @182975
64745 /* 182975 */ GIM_Reject,
64746 /* 182976 */ // Label 3991: @182976
64747 /* 182976 */ GIM_Try, /*On fail goto*//*Label 4058*/ GIMT_Encode4(183064),
64748 /* 182981 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64749 /* 182984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64750 /* 182988 */ GIM_Try, /*On fail goto*//*Label 4059*/ GIMT_Encode4(183040), // Rule ID 10743 //
64751 /* 182993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64752 /* 182996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64753 /* 183000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64754 /* 183004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64755 /* 183007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64756 /* 183011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64757 /* 183015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64758 /* 183017 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64759 /* 183024 */ // (sint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
64760 /* 183024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrm),
64761 /* 183027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64762 /* 183029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64763 /* 183033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64764 /* 183038 */ GIR_RootConstrainSelectedInstOperands,
64765 /* 183039 */ // GIR_Coverage, 10743,
64766 /* 183039 */ GIR_EraseRootFromParent_Done,
64767 /* 183040 */ // Label 4059: @183040
64768 /* 183040 */ GIM_Try, /*On fail goto*//*Label 4060*/ GIMT_Encode4(183063), // Rule ID 10739 //
64769 /* 183045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64770 /* 183048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64771 /* 183052 */ // (sint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
64772 /* 183052 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrr),
64773 /* 183057 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64774 /* 183061 */ GIR_RootConstrainSelectedInstOperands,
64775 /* 183062 */ // GIR_Coverage, 10739,
64776 /* 183062 */ GIR_Done,
64777 /* 183063 */ // Label 4060: @183063
64778 /* 183063 */ GIM_Reject,
64779 /* 183064 */ // Label 4058: @183064
64780 /* 183064 */ GIM_Reject,
64781 /* 183065 */ // Label 3992: @183065
64782 /* 183065 */ GIM_Try, /*On fail goto*//*Label 4061*/ GIMT_Encode4(183153),
64783 /* 183070 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
64784 /* 183073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64785 /* 183077 */ GIM_Try, /*On fail goto*//*Label 4062*/ GIMT_Encode4(183129), // Rule ID 14811 //
64786 /* 183082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64787 /* 183085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64788 /* 183089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64789 /* 183093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64790 /* 183096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64791 /* 183100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64792 /* 183104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64793 /* 183106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64794 /* 183113 */ // (sint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
64795 /* 183113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrm),
64796 /* 183116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64797 /* 183118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64798 /* 183122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64799 /* 183127 */ GIR_RootConstrainSelectedInstOperands,
64800 /* 183128 */ // GIR_Coverage, 14811,
64801 /* 183128 */ GIR_EraseRootFromParent_Done,
64802 /* 183129 */ // Label 4062: @183129
64803 /* 183129 */ GIM_Try, /*On fail goto*//*Label 4063*/ GIMT_Encode4(183152), // Rule ID 14807 //
64804 /* 183134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64805 /* 183137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64806 /* 183141 */ // (sint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
64807 /* 183141 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrr),
64808 /* 183146 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64809 /* 183150 */ GIR_RootConstrainSelectedInstOperands,
64810 /* 183151 */ // GIR_Coverage, 14807,
64811 /* 183151 */ GIR_Done,
64812 /* 183152 */ // Label 4063: @183152
64813 /* 183152 */ GIM_Reject,
64814 /* 183153 */ // Label 4061: @183153
64815 /* 183153 */ GIM_Reject,
64816 /* 183154 */ // Label 3993: @183154
64817 /* 183154 */ GIM_Reject,
64818 /* 183155 */ // Label 53: @183155
64819 /* 183155 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4076*/ GIMT_Encode4(185401),
64820 /* 183166 */ /*GILLT_s16*//*Label 4064*/ GIMT_Encode4(183250),
64821 /* 183170 */ /*GILLT_s32*//*Label 4065*/ GIMT_Encode4(183493),
64822 /* 183174 */ /*GILLT_s64*//*Label 4066*/ GIMT_Encode4(183736), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
64823 /* 183190 */ /*GILLT_v2s64*//*Label 4067*/ GIMT_Encode4(183979), GIMT_Encode4(0),
64824 /* 183198 */ /*GILLT_v4s32*//*Label 4068*/ GIMT_Encode4(184068),
64825 /* 183202 */ /*GILLT_v4s64*//*Label 4069*/ GIMT_Encode4(184247), GIMT_Encode4(0),
64826 /* 183210 */ /*GILLT_v8s16*//*Label 4070*/ GIMT_Encode4(184422),
64827 /* 183214 */ /*GILLT_v8s32*//*Label 4071*/ GIMT_Encode4(184690),
64828 /* 183218 */ /*GILLT_v8s64*//*Label 4072*/ GIMT_Encode4(184869), GIMT_Encode4(0), GIMT_Encode4(0),
64829 /* 183230 */ /*GILLT_v16s16*//*Label 4073*/ GIMT_Encode4(185044),
64830 /* 183234 */ /*GILLT_v16s32*//*Label 4074*/ GIMT_Encode4(185223), GIMT_Encode4(0), GIMT_Encode4(0),
64831 /* 183246 */ /*GILLT_v32s16*//*Label 4075*/ GIMT_Encode4(185312),
64832 /* 183250 */ // Label 4064: @183250
64833 /* 183250 */ GIM_Try, /*On fail goto*//*Label 4077*/ GIMT_Encode4(183326), // Rule ID 22201 //
64834 /* 183255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64835 /* 183258 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64836 /* 183261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64837 /* 183265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64838 /* 183269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64839 /* 183273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64840 /* 183276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64841 /* 183280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64842 /* 183284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64843 /* 183286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64844 /* 183293 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
64845 /* 183293 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
64846 /* 183296 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64847 /* 183300 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64848 /* 183305 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64849 /* 183307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrm),
64850 /* 183310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64851 /* 183312 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64852 /* 183315 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64853 /* 183319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64854 /* 183324 */ GIR_RootConstrainSelectedInstOperands,
64855 /* 183325 */ // GIR_Coverage, 22201,
64856 /* 183325 */ GIR_EraseRootFromParent_Done,
64857 /* 183326 */ // Label 4077: @183326
64858 /* 183326 */ GIM_Try, /*On fail goto*//*Label 4078*/ GIMT_Encode4(183402), // Rule ID 22199 //
64859 /* 183331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64860 /* 183334 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64861 /* 183337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64862 /* 183341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64863 /* 183345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64864 /* 183349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64865 /* 183352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64866 /* 183356 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
64867 /* 183360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64868 /* 183362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64869 /* 183369 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
64870 /* 183369 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
64871 /* 183372 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64872 /* 183376 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64873 /* 183381 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64874 /* 183383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrm),
64875 /* 183386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64876 /* 183388 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64877 /* 183391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64878 /* 183395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64879 /* 183400 */ GIR_RootConstrainSelectedInstOperands,
64880 /* 183401 */ // GIR_Coverage, 22199,
64881 /* 183401 */ GIR_EraseRootFromParent_Done,
64882 /* 183402 */ // Label 4078: @183402
64883 /* 183402 */ GIM_Try, /*On fail goto*//*Label 4079*/ GIMT_Encode4(183447), // Rule ID 22203 //
64884 /* 183407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64885 /* 183410 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64886 /* 183413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64887 /* 183417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64888 /* 183421 */ // (uint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
64889 /* 183421 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
64890 /* 183424 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64891 /* 183428 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64892 /* 183433 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64893 /* 183435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrr),
64894 /* 183438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64895 /* 183440 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64896 /* 183443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64897 /* 183445 */ GIR_RootConstrainSelectedInstOperands,
64898 /* 183446 */ // GIR_Coverage, 22203,
64899 /* 183446 */ GIR_EraseRootFromParent_Done,
64900 /* 183447 */ // Label 4079: @183447
64901 /* 183447 */ GIM_Try, /*On fail goto*//*Label 4080*/ GIMT_Encode4(183492), // Rule ID 22205 //
64902 /* 183452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64903 /* 183455 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64904 /* 183458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
64905 /* 183462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64906 /* 183466 */ // (uint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
64907 /* 183466 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
64908 /* 183469 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64909 /* 183473 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64910 /* 183478 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64911 /* 183480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrr),
64912 /* 183483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64913 /* 183485 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64914 /* 183488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64915 /* 183490 */ GIR_RootConstrainSelectedInstOperands,
64916 /* 183491 */ // GIR_Coverage, 22205,
64917 /* 183491 */ GIR_EraseRootFromParent_Done,
64918 /* 183492 */ // Label 4080: @183492
64919 /* 183492 */ GIM_Reject,
64920 /* 183493 */ // Label 4065: @183493
64921 /* 183493 */ GIM_Try, /*On fail goto*//*Label 4081*/ GIMT_Encode4(183569), // Rule ID 21154 //
64922 /* 183498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64923 /* 183501 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64924 /* 183504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64925 /* 183508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64926 /* 183512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64927 /* 183516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64928 /* 183519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64929 /* 183523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64930 /* 183527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64931 /* 183529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64932 /* 183536 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
64933 /* 183536 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64934 /* 183539 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64935 /* 183543 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64936 /* 183548 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64937 /* 183550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrm),
64938 /* 183553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64939 /* 183555 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64940 /* 183558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64941 /* 183562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64942 /* 183567 */ GIR_RootConstrainSelectedInstOperands,
64943 /* 183568 */ // GIR_Coverage, 21154,
64944 /* 183568 */ GIR_EraseRootFromParent_Done,
64945 /* 183569 */ // Label 4081: @183569
64946 /* 183569 */ GIM_Try, /*On fail goto*//*Label 4082*/ GIMT_Encode4(183645), // Rule ID 21152 //
64947 /* 183574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64948 /* 183577 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64949 /* 183580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64950 /* 183584 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64951 /* 183588 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64952 /* 183592 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64953 /* 183595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64954 /* 183599 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
64955 /* 183603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64956 /* 183605 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64957 /* 183612 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
64958 /* 183612 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64959 /* 183615 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64960 /* 183619 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64961 /* 183624 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64962 /* 183626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrm),
64963 /* 183629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64964 /* 183631 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64965 /* 183634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64966 /* 183638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64967 /* 183643 */ GIR_RootConstrainSelectedInstOperands,
64968 /* 183644 */ // GIR_Coverage, 21152,
64969 /* 183644 */ GIR_EraseRootFromParent_Done,
64970 /* 183645 */ // Label 4082: @183645
64971 /* 183645 */ GIM_Try, /*On fail goto*//*Label 4083*/ GIMT_Encode4(183690), // Rule ID 21160 //
64972 /* 183650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64973 /* 183653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64974 /* 183656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64975 /* 183660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
64976 /* 183664 */ // (uint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
64977 /* 183664 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64978 /* 183667 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64979 /* 183671 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64980 /* 183676 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64981 /* 183678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrr),
64982 /* 183681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64983 /* 183683 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64984 /* 183686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64985 /* 183688 */ GIR_RootConstrainSelectedInstOperands,
64986 /* 183689 */ // GIR_Coverage, 21160,
64987 /* 183689 */ GIR_EraseRootFromParent_Done,
64988 /* 183690 */ // Label 4083: @183690
64989 /* 183690 */ GIM_Try, /*On fail goto*//*Label 4084*/ GIMT_Encode4(183735), // Rule ID 21162 //
64990 /* 183695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64991 /* 183698 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64992 /* 183701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
64993 /* 183705 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64994 /* 183709 */ // (uint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
64995 /* 183709 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
64996 /* 183712 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64997 /* 183716 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64998 /* 183721 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64999 /* 183723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrr),
65000 /* 183726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65001 /* 183728 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
65002 /* 183731 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
65003 /* 183733 */ GIR_RootConstrainSelectedInstOperands,
65004 /* 183734 */ // GIR_Coverage, 21162,
65005 /* 183734 */ GIR_EraseRootFromParent_Done,
65006 /* 183735 */ // Label 4084: @183735
65007 /* 183735 */ GIM_Reject,
65008 /* 183736 */ // Label 4066: @183736
65009 /* 183736 */ GIM_Try, /*On fail goto*//*Label 4085*/ GIMT_Encode4(183812), // Rule ID 21158 //
65010 /* 183741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65011 /* 183744 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
65012 /* 183747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
65013 /* 183751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65014 /* 183755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65015 /* 183759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65016 /* 183762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65017 /* 183766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65018 /* 183770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65019 /* 183772 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65020 /* 183779 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
65021 /* 183779 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
65022 /* 183782 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65023 /* 183786 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65024 /* 183791 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65025 /* 183793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrm),
65026 /* 183796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65027 /* 183798 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
65028 /* 183801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65029 /* 183805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65030 /* 183810 */ GIR_RootConstrainSelectedInstOperands,
65031 /* 183811 */ // GIR_Coverage, 21158,
65032 /* 183811 */ GIR_EraseRootFromParent_Done,
65033 /* 183812 */ // Label 4085: @183812
65034 /* 183812 */ GIM_Try, /*On fail goto*//*Label 4086*/ GIMT_Encode4(183888), // Rule ID 21156 //
65035 /* 183817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65036 /* 183820 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
65037 /* 183823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
65038 /* 183827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65039 /* 183831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65040 /* 183835 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65041 /* 183838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65042 /* 183842 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
65043 /* 183846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65044 /* 183848 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65045 /* 183855 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
65046 /* 183855 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
65047 /* 183858 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65048 /* 183862 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65049 /* 183867 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65050 /* 183869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrm),
65051 /* 183872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65052 /* 183874 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
65053 /* 183877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65054 /* 183881 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65055 /* 183886 */ GIR_RootConstrainSelectedInstOperands,
65056 /* 183887 */ // GIR_Coverage, 21156,
65057 /* 183887 */ GIR_EraseRootFromParent_Done,
65058 /* 183888 */ // Label 4086: @183888
65059 /* 183888 */ GIM_Try, /*On fail goto*//*Label 4087*/ GIMT_Encode4(183933), // Rule ID 21164 //
65060 /* 183893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65061 /* 183896 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
65062 /* 183899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
65063 /* 183903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
65064 /* 183907 */ // (uint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
65065 /* 183907 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
65066 /* 183910 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65067 /* 183914 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65068 /* 183919 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65069 /* 183921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrr),
65070 /* 183924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65071 /* 183926 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
65072 /* 183929 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
65073 /* 183931 */ GIR_RootConstrainSelectedInstOperands,
65074 /* 183932 */ // GIR_Coverage, 21164,
65075 /* 183932 */ GIR_EraseRootFromParent_Done,
65076 /* 183933 */ // Label 4087: @183933
65077 /* 183933 */ GIM_Try, /*On fail goto*//*Label 4088*/ GIMT_Encode4(183978), // Rule ID 21166 //
65078 /* 183938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65079 /* 183941 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
65080 /* 183944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
65081 /* 183948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
65082 /* 183952 */ // (uint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
65083 /* 183952 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
65084 /* 183955 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65085 /* 183959 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65086 /* 183964 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65087 /* 183966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrr),
65088 /* 183969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65089 /* 183971 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
65090 /* 183974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
65091 /* 183976 */ GIR_RootConstrainSelectedInstOperands,
65092 /* 183977 */ // GIR_Coverage, 21166,
65093 /* 183977 */ GIR_EraseRootFromParent_Done,
65094 /* 183978 */ // Label 4088: @183978
65095 /* 183978 */ GIM_Reject,
65096 /* 183979 */ // Label 4067: @183979
65097 /* 183979 */ GIM_Try, /*On fail goto*//*Label 4089*/ GIMT_Encode4(184067),
65098 /* 183984 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
65099 /* 183987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65100 /* 183991 */ GIM_Try, /*On fail goto*//*Label 4090*/ GIMT_Encode4(184043), // Rule ID 11421 //
65101 /* 183996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
65102 /* 183999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65103 /* 184003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65104 /* 184007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65105 /* 184010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65106 /* 184014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65107 /* 184018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65108 /* 184020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65109 /* 184027 */ // (uint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
65110 /* 184027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rm),
65111 /* 184030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65112 /* 184032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65113 /* 184036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65114 /* 184041 */ GIR_RootConstrainSelectedInstOperands,
65115 /* 184042 */ // GIR_Coverage, 11421,
65116 /* 184042 */ GIR_EraseRootFromParent_Done,
65117 /* 184043 */ // Label 4090: @184043
65118 /* 184043 */ GIM_Try, /*On fail goto*//*Label 4091*/ GIMT_Encode4(184066), // Rule ID 11417 //
65119 /* 184048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
65120 /* 184051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65121 /* 184055 */ // (uint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTUQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
65122 /* 184055 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rr),
65123 /* 184060 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65124 /* 184064 */ GIR_RootConstrainSelectedInstOperands,
65125 /* 184065 */ // GIR_Coverage, 11417,
65126 /* 184065 */ GIR_Done,
65127 /* 184066 */ // Label 4091: @184066
65128 /* 184066 */ GIM_Reject,
65129 /* 184067 */ // Label 4089: @184067
65130 /* 184067 */ GIM_Reject,
65131 /* 184068 */ // Label 4068: @184068
65132 /* 184068 */ GIM_Try, /*On fail goto*//*Label 4092*/ GIMT_Encode4(184127), // Rule ID 10965 //
65133 /* 184073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
65134 /* 184076 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65135 /* 184079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65136 /* 184083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65137 /* 184087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65138 /* 184091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65139 /* 184094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65140 /* 184098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65141 /* 184102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65142 /* 184104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65143 /* 184111 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
65144 /* 184111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rm),
65145 /* 184114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65146 /* 184116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65147 /* 184120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65148 /* 184125 */ GIR_RootConstrainSelectedInstOperands,
65149 /* 184126 */ // GIR_Coverage, 10965,
65150 /* 184126 */ GIR_EraseRootFromParent_Done,
65151 /* 184127 */ // Label 4092: @184127
65152 /* 184127 */ GIM_Try, /*On fail goto*//*Label 4093*/ GIMT_Encode4(184186), // Rule ID 11541 //
65153 /* 184132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
65154 /* 184135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65155 /* 184138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65156 /* 184142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65157 /* 184146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65158 /* 184150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65159 /* 184153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65160 /* 184157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65161 /* 184161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65162 /* 184163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65163 /* 184170 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
65164 /* 184170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rm),
65165 /* 184173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65166 /* 184175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65167 /* 184179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65168 /* 184184 */ GIR_RootConstrainSelectedInstOperands,
65169 /* 184185 */ // GIR_Coverage, 11541,
65170 /* 184185 */ GIR_EraseRootFromParent_Done,
65171 /* 184186 */ // Label 4093: @184186
65172 /* 184186 */ GIM_Try, /*On fail goto*//*Label 4094*/ GIMT_Encode4(184216), // Rule ID 10961 //
65173 /* 184191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
65174 /* 184194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65175 /* 184197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65176 /* 184201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65177 /* 184205 */ // (uint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
65178 /* 184205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rr),
65179 /* 184210 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65180 /* 184214 */ GIR_RootConstrainSelectedInstOperands,
65181 /* 184215 */ // GIR_Coverage, 10961,
65182 /* 184215 */ GIR_Done,
65183 /* 184216 */ // Label 4094: @184216
65184 /* 184216 */ GIM_Try, /*On fail goto*//*Label 4095*/ GIMT_Encode4(184246), // Rule ID 11537 //
65185 /* 184221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
65186 /* 184224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65187 /* 184227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65188 /* 184231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65189 /* 184235 */ // (uint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
65190 /* 184235 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rr),
65191 /* 184240 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65192 /* 184244 */ GIR_RootConstrainSelectedInstOperands,
65193 /* 184245 */ // GIR_Coverage, 11537,
65194 /* 184245 */ GIR_Done,
65195 /* 184246 */ // Label 4095: @184246
65196 /* 184246 */ GIM_Reject,
65197 /* 184247 */ // Label 4069: @184247
65198 /* 184247 */ GIM_Try, /*On fail goto*//*Label 4096*/ GIMT_Encode4(184306), // Rule ID 10938 //
65199 /* 184252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
65200 /* 184255 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65201 /* 184258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65202 /* 184262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65203 /* 184266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65204 /* 184270 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65205 /* 184273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65206 /* 184277 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65207 /* 184281 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65208 /* 184283 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65209 /* 184290 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
65210 /* 184290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rm),
65211 /* 184293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65212 /* 184295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65213 /* 184299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65214 /* 184304 */ GIR_RootConstrainSelectedInstOperands,
65215 /* 184305 */ // GIR_Coverage, 10938,
65216 /* 184305 */ GIR_EraseRootFromParent_Done,
65217 /* 184306 */ // Label 4096: @184306
65218 /* 184306 */ GIM_Try, /*On fail goto*//*Label 4097*/ GIMT_Encode4(184365), // Rule ID 11433 //
65219 /* 184311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
65220 /* 184314 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65221 /* 184317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65222 /* 184321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65223 /* 184325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65224 /* 184329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65225 /* 184332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65226 /* 184336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65227 /* 184340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65228 /* 184342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65229 /* 184349 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
65230 /* 184349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rm),
65231 /* 184352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65232 /* 184354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65233 /* 184358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65234 /* 184363 */ GIR_RootConstrainSelectedInstOperands,
65235 /* 184364 */ // GIR_Coverage, 11433,
65236 /* 184364 */ GIR_EraseRootFromParent_Done,
65237 /* 184365 */ // Label 4097: @184365
65238 /* 184365 */ GIM_Try, /*On fail goto*//*Label 4098*/ GIMT_Encode4(184391), // Rule ID 10934 //
65239 /* 184370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
65240 /* 184373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65241 /* 184376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65242 /* 184380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65243 /* 184384 */ // (uint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
65244 /* 184384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rr),
65245 /* 184389 */ GIR_RootConstrainSelectedInstOperands,
65246 /* 184390 */ // GIR_Coverage, 10934,
65247 /* 184390 */ GIR_Done,
65248 /* 184391 */ // Label 4098: @184391
65249 /* 184391 */ GIM_Try, /*On fail goto*//*Label 4099*/ GIMT_Encode4(184421), // Rule ID 11429 //
65250 /* 184396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
65251 /* 184399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65252 /* 184402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65253 /* 184406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65254 /* 184410 */ // (uint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
65255 /* 184410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rr),
65256 /* 184415 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65257 /* 184419 */ GIR_RootConstrainSelectedInstOperands,
65258 /* 184420 */ // GIR_Coverage, 11429,
65259 /* 184420 */ GIR_Done,
65260 /* 184421 */ // Label 4099: @184421
65261 /* 184421 */ GIM_Reject,
65262 /* 184422 */ // Label 4070: @184422
65263 /* 184422 */ GIM_Try, /*On fail goto*//*Label 4100*/ GIMT_Encode4(184481), // Rule ID 11487 //
65264 /* 184427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
65265 /* 184430 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65266 /* 184433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65267 /* 184437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65268 /* 184441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65269 /* 184445 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65270 /* 184448 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65271 /* 184452 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65272 /* 184456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65273 /* 184458 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65274 /* 184465 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
65275 /* 184465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rm),
65276 /* 184468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65277 /* 184470 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65278 /* 184474 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65279 /* 184479 */ GIR_RootConstrainSelectedInstOperands,
65280 /* 184480 */ // GIR_Coverage, 11487,
65281 /* 184480 */ GIR_EraseRootFromParent_Done,
65282 /* 184481 */ // Label 4100: @184481
65283 /* 184481 */ GIM_Try, /*On fail goto*//*Label 4101*/ GIMT_Encode4(184540), // Rule ID 14679 //
65284 /* 184486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
65285 /* 184489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
65286 /* 184492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65287 /* 184496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65288 /* 184500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65289 /* 184504 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65290 /* 184507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65291 /* 184511 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65292 /* 184515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65293 /* 184517 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65294 /* 184524 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
65295 /* 184524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rm),
65296 /* 184527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65297 /* 184529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65298 /* 184533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65299 /* 184538 */ GIR_RootConstrainSelectedInstOperands,
65300 /* 184539 */ // GIR_Coverage, 14679,
65301 /* 184539 */ GIR_EraseRootFromParent_Done,
65302 /* 184540 */ // Label 4101: @184540
65303 /* 184540 */ GIM_Try, /*On fail goto*//*Label 4102*/ GIMT_Encode4(184599), // Rule ID 15141 //
65304 /* 184545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
65305 /* 184548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65306 /* 184551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65307 /* 184555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65308 /* 184559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65309 /* 184563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65310 /* 184566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65311 /* 184570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65312 /* 184574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65313 /* 184576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65314 /* 184583 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
65315 /* 184583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrm),
65316 /* 184586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65317 /* 184588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65318 /* 184592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65319 /* 184597 */ GIR_RootConstrainSelectedInstOperands,
65320 /* 184598 */ // GIR_Coverage, 15141,
65321 /* 184598 */ GIR_EraseRootFromParent_Done,
65322 /* 184599 */ // Label 4102: @184599
65323 /* 184599 */ GIM_Try, /*On fail goto*//*Label 4103*/ GIMT_Encode4(184629), // Rule ID 11483 //
65324 /* 184604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
65325 /* 184607 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65326 /* 184610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65327 /* 184614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65328 /* 184618 */ // (uint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
65329 /* 184618 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rr),
65330 /* 184623 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65331 /* 184627 */ GIR_RootConstrainSelectedInstOperands,
65332 /* 184628 */ // GIR_Coverage, 11483,
65333 /* 184628 */ GIR_Done,
65334 /* 184629 */ // Label 4103: @184629
65335 /* 184629 */ GIM_Try, /*On fail goto*//*Label 4104*/ GIMT_Encode4(184659), // Rule ID 14675 //
65336 /* 184634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
65337 /* 184637 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
65338 /* 184640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65339 /* 184644 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65340 /* 184648 */ // (uint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTUW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
65341 /* 184648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rr),
65342 /* 184653 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65343 /* 184657 */ GIR_RootConstrainSelectedInstOperands,
65344 /* 184658 */ // GIR_Coverage, 14675,
65345 /* 184658 */ GIR_Done,
65346 /* 184659 */ // Label 4104: @184659
65347 /* 184659 */ GIM_Try, /*On fail goto*//*Label 4105*/ GIMT_Encode4(184689), // Rule ID 15137 //
65348 /* 184664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
65349 /* 184667 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65350 /* 184670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65351 /* 184674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65352 /* 184678 */ // (uint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
65353 /* 184678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrr),
65354 /* 184683 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65355 /* 184687 */ GIR_RootConstrainSelectedInstOperands,
65356 /* 184688 */ // GIR_Coverage, 15137,
65357 /* 184688 */ GIR_Done,
65358 /* 184689 */ // Label 4105: @184689
65359 /* 184689 */ GIM_Reject,
65360 /* 184690 */ // Label 4071: @184690
65361 /* 184690 */ GIM_Try, /*On fail goto*//*Label 4106*/ GIMT_Encode4(184749), // Rule ID 10977 //
65362 /* 184695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
65363 /* 184698 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65364 /* 184701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65365 /* 184705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65366 /* 184709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65367 /* 184713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65368 /* 184716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65369 /* 184720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65370 /* 184724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65371 /* 184726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65372 /* 184733 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
65373 /* 184733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rm),
65374 /* 184736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65375 /* 184738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65376 /* 184742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65377 /* 184747 */ GIR_RootConstrainSelectedInstOperands,
65378 /* 184748 */ // GIR_Coverage, 10977,
65379 /* 184748 */ GIR_EraseRootFromParent_Done,
65380 /* 184749 */ // Label 4106: @184749
65381 /* 184749 */ GIM_Try, /*On fail goto*//*Label 4107*/ GIMT_Encode4(184808), // Rule ID 11526 //
65382 /* 184754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
65383 /* 184757 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65384 /* 184760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65385 /* 184764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65386 /* 184768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65387 /* 184772 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65388 /* 184775 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65389 /* 184779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65390 /* 184783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65391 /* 184785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65392 /* 184792 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
65393 /* 184792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrm),
65394 /* 184795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65395 /* 184797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65396 /* 184801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65397 /* 184806 */ GIR_RootConstrainSelectedInstOperands,
65398 /* 184807 */ // GIR_Coverage, 11526,
65399 /* 184807 */ GIR_EraseRootFromParent_Done,
65400 /* 184808 */ // Label 4107: @184808
65401 /* 184808 */ GIM_Try, /*On fail goto*//*Label 4108*/ GIMT_Encode4(184838), // Rule ID 10973 //
65402 /* 184813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
65403 /* 184816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65404 /* 184819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65405 /* 184823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65406 /* 184827 */ // (uint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
65407 /* 184827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rr),
65408 /* 184832 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65409 /* 184836 */ GIR_RootConstrainSelectedInstOperands,
65410 /* 184837 */ // GIR_Coverage, 10973,
65411 /* 184837 */ GIR_Done,
65412 /* 184838 */ // Label 4108: @184838
65413 /* 184838 */ GIM_Try, /*On fail goto*//*Label 4109*/ GIMT_Encode4(184868), // Rule ID 11522 //
65414 /* 184843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
65415 /* 184846 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65416 /* 184849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65417 /* 184853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65418 /* 184857 */ // (uint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
65419 /* 184857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrr),
65420 /* 184862 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65421 /* 184866 */ GIR_RootConstrainSelectedInstOperands,
65422 /* 184867 */ // GIR_Coverage, 11522,
65423 /* 184867 */ GIR_Done,
65424 /* 184868 */ // Label 4109: @184868
65425 /* 184868 */ GIM_Reject,
65426 /* 184869 */ // Label 4072: @184869
65427 /* 184869 */ GIM_Try, /*On fail goto*//*Label 4110*/ GIMT_Encode4(184928), // Rule ID 10914 //
65428 /* 184874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65429 /* 184877 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65430 /* 184880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65431 /* 184884 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65432 /* 184888 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65433 /* 184892 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65434 /* 184895 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65435 /* 184899 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65436 /* 184903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65437 /* 184905 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65438 /* 184912 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
65439 /* 184912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrm),
65440 /* 184915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65441 /* 184917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65442 /* 184921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65443 /* 184926 */ GIR_RootConstrainSelectedInstOperands,
65444 /* 184927 */ // GIR_Coverage, 10914,
65445 /* 184927 */ GIR_EraseRootFromParent_Done,
65446 /* 184928 */ // Label 4110: @184928
65447 /* 184928 */ GIM_Try, /*On fail goto*//*Label 4111*/ GIMT_Encode4(184987), // Rule ID 11406 //
65448 /* 184933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
65449 /* 184936 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65450 /* 184939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65451 /* 184943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65452 /* 184947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65453 /* 184951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65454 /* 184954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65455 /* 184958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65456 /* 184962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65457 /* 184964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65458 /* 184971 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
65459 /* 184971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrm),
65460 /* 184974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65461 /* 184976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65462 /* 184980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65463 /* 184985 */ GIR_RootConstrainSelectedInstOperands,
65464 /* 184986 */ // GIR_Coverage, 11406,
65465 /* 184986 */ GIR_EraseRootFromParent_Done,
65466 /* 184987 */ // Label 4111: @184987
65467 /* 184987 */ GIM_Try, /*On fail goto*//*Label 4112*/ GIMT_Encode4(185013), // Rule ID 10910 //
65468 /* 184992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65469 /* 184995 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65470 /* 184998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65471 /* 185002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65472 /* 185006 */ // (uint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
65473 /* 185006 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrr),
65474 /* 185011 */ GIR_RootConstrainSelectedInstOperands,
65475 /* 185012 */ // GIR_Coverage, 10910,
65476 /* 185012 */ GIR_Done,
65477 /* 185013 */ // Label 4112: @185013
65478 /* 185013 */ GIM_Try, /*On fail goto*//*Label 4113*/ GIMT_Encode4(185043), // Rule ID 11402 //
65479 /* 185018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
65480 /* 185021 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65481 /* 185024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65482 /* 185028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65483 /* 185032 */ // (uint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
65484 /* 185032 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrr),
65485 /* 185037 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65486 /* 185041 */ GIR_RootConstrainSelectedInstOperands,
65487 /* 185042 */ // GIR_Coverage, 11402,
65488 /* 185042 */ GIR_Done,
65489 /* 185043 */ // Label 4113: @185043
65490 /* 185043 */ GIM_Reject,
65491 /* 185044 */ // Label 4073: @185044
65492 /* 185044 */ GIM_Try, /*On fail goto*//*Label 4114*/ GIMT_Encode4(185103), // Rule ID 11472 //
65493 /* 185049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
65494 /* 185052 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65495 /* 185055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65496 /* 185059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65497 /* 185063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65498 /* 185067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65499 /* 185070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65500 /* 185074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65501 /* 185078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65502 /* 185080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65503 /* 185087 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
65504 /* 185087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrm),
65505 /* 185090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65506 /* 185092 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65507 /* 185096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65508 /* 185101 */ GIR_RootConstrainSelectedInstOperands,
65509 /* 185102 */ // GIR_Coverage, 11472,
65510 /* 185102 */ GIR_EraseRootFromParent_Done,
65511 /* 185103 */ // Label 4114: @185103
65512 /* 185103 */ GIM_Try, /*On fail goto*//*Label 4115*/ GIMT_Encode4(185162), // Rule ID 14691 //
65513 /* 185108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
65514 /* 185111 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
65515 /* 185114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65516 /* 185118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65517 /* 185122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65518 /* 185126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65519 /* 185129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65520 /* 185133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65521 /* 185137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65522 /* 185139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65523 /* 185146 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
65524 /* 185146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rm),
65525 /* 185149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65526 /* 185151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65527 /* 185155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65528 /* 185160 */ GIR_RootConstrainSelectedInstOperands,
65529 /* 185161 */ // GIR_Coverage, 14691,
65530 /* 185161 */ GIR_EraseRootFromParent_Done,
65531 /* 185162 */ // Label 4115: @185162
65532 /* 185162 */ GIM_Try, /*On fail goto*//*Label 4116*/ GIMT_Encode4(185192), // Rule ID 11468 //
65533 /* 185167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
65534 /* 185170 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65535 /* 185173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65536 /* 185177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65537 /* 185181 */ // (uint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
65538 /* 185181 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrr),
65539 /* 185186 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65540 /* 185190 */ GIR_RootConstrainSelectedInstOperands,
65541 /* 185191 */ // GIR_Coverage, 11468,
65542 /* 185191 */ GIR_Done,
65543 /* 185192 */ // Label 4116: @185192
65544 /* 185192 */ GIM_Try, /*On fail goto*//*Label 4117*/ GIMT_Encode4(185222), // Rule ID 14687 //
65545 /* 185197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
65546 /* 185200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
65547 /* 185203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65548 /* 185207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65549 /* 185211 */ // (uint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTUW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
65550 /* 185211 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rr),
65551 /* 185216 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65552 /* 185220 */ GIR_RootConstrainSelectedInstOperands,
65553 /* 185221 */ // GIR_Coverage, 14687,
65554 /* 185221 */ GIR_Done,
65555 /* 185222 */ // Label 4117: @185222
65556 /* 185222 */ GIM_Reject,
65557 /* 185223 */ // Label 4074: @185223
65558 /* 185223 */ GIM_Try, /*On fail goto*//*Label 4118*/ GIMT_Encode4(185311),
65559 /* 185228 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65560 /* 185231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65561 /* 185235 */ GIM_Try, /*On fail goto*//*Label 4119*/ GIMT_Encode4(185287), // Rule ID 10950 //
65562 /* 185240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65563 /* 185243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65564 /* 185247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65565 /* 185251 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65566 /* 185254 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65567 /* 185258 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65568 /* 185262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65569 /* 185264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65570 /* 185271 */ // (uint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
65571 /* 185271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrm),
65572 /* 185274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65573 /* 185276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65574 /* 185280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65575 /* 185285 */ GIR_RootConstrainSelectedInstOperands,
65576 /* 185286 */ // GIR_Coverage, 10950,
65577 /* 185286 */ GIR_EraseRootFromParent_Done,
65578 /* 185287 */ // Label 4119: @185287
65579 /* 185287 */ GIM_Try, /*On fail goto*//*Label 4120*/ GIMT_Encode4(185310), // Rule ID 10946 //
65580 /* 185292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65581 /* 185295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65582 /* 185299 */ // (uint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
65583 /* 185299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrr),
65584 /* 185304 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65585 /* 185308 */ GIR_RootConstrainSelectedInstOperands,
65586 /* 185309 */ // GIR_Coverage, 10946,
65587 /* 185309 */ GIR_Done,
65588 /* 185310 */ // Label 4120: @185310
65589 /* 185310 */ GIM_Reject,
65590 /* 185311 */ // Label 4118: @185311
65591 /* 185311 */ GIM_Reject,
65592 /* 185312 */ // Label 4075: @185312
65593 /* 185312 */ GIM_Try, /*On fail goto*//*Label 4121*/ GIMT_Encode4(185400),
65594 /* 185317 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
65595 /* 185320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65596 /* 185324 */ GIM_Try, /*On fail goto*//*Label 4122*/ GIMT_Encode4(185376), // Rule ID 14664 //
65597 /* 185329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
65598 /* 185332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65599 /* 185336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65600 /* 185340 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65601 /* 185343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65602 /* 185347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65603 /* 185351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65604 /* 185353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65605 /* 185360 */ // (uint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
65606 /* 185360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrm),
65607 /* 185363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65608 /* 185365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
65609 /* 185369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65610 /* 185374 */ GIR_RootConstrainSelectedInstOperands,
65611 /* 185375 */ // GIR_Coverage, 14664,
65612 /* 185375 */ GIR_EraseRootFromParent_Done,
65613 /* 185376 */ // Label 4122: @185376
65614 /* 185376 */ GIM_Try, /*On fail goto*//*Label 4123*/ GIMT_Encode4(185399), // Rule ID 14660 //
65615 /* 185381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
65616 /* 185384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65617 /* 185388 */ // (uint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTUW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
65618 /* 185388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrr),
65619 /* 185393 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
65620 /* 185397 */ GIR_RootConstrainSelectedInstOperands,
65621 /* 185398 */ // GIR_Coverage, 14660,
65622 /* 185398 */ GIR_Done,
65623 /* 185399 */ // Label 4123: @185399
65624 /* 185399 */ GIM_Reject,
65625 /* 185400 */ // Label 4121: @185400
65626 /* 185400 */ GIM_Reject,
65627 /* 185401 */ // Label 4076: @185401
65628 /* 185401 */ GIM_Reject,
65629 /* 185402 */ // Label 54: @185402
65630 /* 185402 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 4127*/ GIMT_Encode4(185524),
65631 /* 185413 */ /*GILLT_s32*//*Label 4124*/ GIMT_Encode4(185425),
65632 /* 185417 */ /*GILLT_s64*//*Label 4125*/ GIMT_Encode4(185458),
65633 /* 185421 */ /*GILLT_s80*//*Label 4126*/ GIMT_Encode4(185491),
65634 /* 185425 */ // Label 4124: @185425
65635 /* 185425 */ GIM_Try, /*On fail goto*//*Label 4128*/ GIMT_Encode4(185457), // Rule ID 1044 //
65636 /* 185430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
65637 /* 185433 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
65638 /* 185436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
65639 /* 185440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
65640 /* 185444 */ // (fabs:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (ABS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
65641 /* 185444 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp32),
65642 /* 185449 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
65643 /* 185455 */ GIR_RootConstrainSelectedInstOperands,
65644 /* 185456 */ // GIR_Coverage, 1044,
65645 /* 185456 */ GIR_Done,
65646 /* 185457 */ // Label 4128: @185457
65647 /* 185457 */ GIM_Reject,
65648 /* 185458 */ // Label 4125: @185458
65649 /* 185458 */ GIM_Try, /*On fail goto*//*Label 4129*/ GIMT_Encode4(185490), // Rule ID 1045 //
65650 /* 185463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
65651 /* 185466 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
65652 /* 185469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
65653 /* 185473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
65654 /* 185477 */ // (fabs:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (ABS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
65655 /* 185477 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp64),
65656 /* 185482 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
65657 /* 185488 */ GIR_RootConstrainSelectedInstOperands,
65658 /* 185489 */ // GIR_Coverage, 1045,
65659 /* 185489 */ GIR_Done,
65660 /* 185490 */ // Label 4129: @185490
65661 /* 185490 */ GIM_Reject,
65662 /* 185491 */ // Label 4126: @185491
65663 /* 185491 */ GIM_Try, /*On fail goto*//*Label 4130*/ GIMT_Encode4(185523), // Rule ID 1046 //
65664 /* 185496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
65665 /* 185499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
65666 /* 185502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
65667 /* 185506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
65668 /* 185510 */ // (fabs:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (ABS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
65669 /* 185510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp80),
65670 /* 185515 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
65671 /* 185521 */ GIR_RootConstrainSelectedInstOperands,
65672 /* 185522 */ // GIR_Coverage, 1046,
65673 /* 185522 */ GIR_Done,
65674 /* 185523 */ // Label 4130: @185523
65675 /* 185523 */ GIM_Reject,
65676 /* 185524 */ // Label 4127: @185524
65677 /* 185524 */ GIM_Reject,
65678 /* 185525 */ // Label 55: @185525
65679 /* 185525 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4143*/ GIMT_Encode4(188845),
65680 /* 185536 */ /*GILLT_v2s64*//*Label 4131*/ GIMT_Encode4(185604), GIMT_Encode4(0),
65681 /* 185544 */ /*GILLT_v4s32*//*Label 4132*/ GIMT_Encode4(185933),
65682 /* 185548 */ /*GILLT_v4s64*//*Label 4133*/ GIMT_Encode4(186275), GIMT_Encode4(0),
65683 /* 185556 */ /*GILLT_v8s16*//*Label 4134*/ GIMT_Encode4(186592),
65684 /* 185560 */ /*GILLT_v8s32*//*Label 4135*/ GIMT_Encode4(186934),
65685 /* 185564 */ /*GILLT_v8s64*//*Label 4136*/ GIMT_Encode4(187249), GIMT_Encode4(0),
65686 /* 185572 */ /*GILLT_v16s8*//*Label 4137*/ GIMT_Encode4(187405),
65687 /* 185576 */ /*GILLT_v16s16*//*Label 4138*/ GIMT_Encode4(187747),
65688 /* 185580 */ /*GILLT_v16s32*//*Label 4139*/ GIMT_Encode4(188062), GIMT_Encode4(0),
65689 /* 185588 */ /*GILLT_v32s8*//*Label 4140*/ GIMT_Encode4(188218),
65690 /* 185592 */ /*GILLT_v32s16*//*Label 4141*/ GIMT_Encode4(188533), GIMT_Encode4(0),
65691 /* 185600 */ /*GILLT_v64s8*//*Label 4142*/ GIMT_Encode4(188689),
65692 /* 185604 */ // Label 4131: @185604
65693 /* 185604 */ GIM_Try, /*On fail goto*//*Label 4144*/ GIMT_Encode4(185932),
65694 /* 185609 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
65695 /* 185612 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
65696 /* 185615 */ GIM_Try, /*On fail goto*//*Label 4145*/ GIMT_Encode4(185677), // Rule ID 24110 //
65697 /* 185620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65698 /* 185623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65699 /* 185627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65700 /* 185631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65701 /* 185635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65702 /* 185638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65703 /* 185642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65704 /* 185646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65705 /* 185650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65706 /* 185652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65707 /* 185659 */ // (smin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65708 /* 185659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
65709 /* 185662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65710 /* 185664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65711 /* 185666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65712 /* 185670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65713 /* 185675 */ GIR_RootConstrainSelectedInstOperands,
65714 /* 185676 */ // GIR_Coverage, 24110,
65715 /* 185676 */ GIR_EraseRootFromParent_Done,
65716 /* 185677 */ // Label 4145: @185677
65717 /* 185677 */ GIM_Try, /*On fail goto*//*Label 4146*/ GIMT_Encode4(185739), // Rule ID 5593 //
65718 /* 185682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65719 /* 185685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65720 /* 185689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65721 /* 185693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65722 /* 185697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65723 /* 185701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65724 /* 185704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65725 /* 185708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65726 /* 185712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65727 /* 185714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65728 /* 185721 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65729 /* 185721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
65730 /* 185724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65731 /* 185726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65732 /* 185728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65733 /* 185732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65734 /* 185737 */ GIR_RootConstrainSelectedInstOperands,
65735 /* 185738 */ // GIR_Coverage, 5593,
65736 /* 185738 */ GIR_EraseRootFromParent_Done,
65737 /* 185739 */ // Label 4146: @185739
65738 /* 185739 */ GIM_Try, /*On fail goto*//*Label 4147*/ GIMT_Encode4(185766), // Rule ID 5590 //
65739 /* 185744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65740 /* 185747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65741 /* 185751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65742 /* 185755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65743 /* 185759 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
65744 /* 185759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rr),
65745 /* 185764 */ GIR_RootConstrainSelectedInstOperands,
65746 /* 185765 */ // GIR_Coverage, 5590,
65747 /* 185765 */ GIR_Done,
65748 /* 185766 */ // Label 4147: @185766
65749 /* 185766 */ GIM_Try, /*On fail goto*//*Label 4148*/ GIMT_Encode4(185931), // Rule ID 20022 //
65750 /* 185771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
65751 /* 185774 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
65752 /* 185778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65753 /* 185782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65754 /* 185786 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPMINSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
65755 /* 185786 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65756 /* 185789 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65757 /* 185793 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65758 /* 185798 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65759 /* 185800 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65760 /* 185803 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65761 /* 185807 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65762 /* 185812 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65763 /* 185815 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65764 /* 185819 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
65765 /* 185822 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65766 /* 185827 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65767 /* 185832 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65768 /* 185837 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65769 /* 185840 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65770 /* 185844 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65771 /* 185849 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65772 /* 185851 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65773 /* 185854 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65774 /* 185858 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65775 /* 185863 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65776 /* 185866 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65777 /* 185870 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
65778 /* 185873 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65779 /* 185878 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65780 /* 185883 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65781 /* 185888 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65782 /* 185891 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
65783 /* 185895 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65784 /* 185900 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65785 /* 185903 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65786 /* 185906 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65787 /* 185908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65788 /* 185911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65789 /* 185913 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
65790 /* 185920 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
65791 /* 185925 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65792 /* 185930 */ // GIR_Coverage, 20022,
65793 /* 185930 */ GIR_EraseRootFromParent_Done,
65794 /* 185931 */ // Label 4148: @185931
65795 /* 185931 */ GIM_Reject,
65796 /* 185932 */ // Label 4144: @185932
65797 /* 185932 */ GIM_Reject,
65798 /* 185933 */ // Label 4132: @185933
65799 /* 185933 */ GIM_Try, /*On fail goto*//*Label 4149*/ GIMT_Encode4(186274),
65800 /* 185938 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65801 /* 185941 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
65802 /* 185944 */ GIM_Try, /*On fail goto*//*Label 4150*/ GIMT_Encode4(186006), // Rule ID 23534 //
65803 /* 185949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65804 /* 185952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65805 /* 185956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65806 /* 185960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65807 /* 185964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65808 /* 185967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65809 /* 185971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65810 /* 185975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65811 /* 185979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65812 /* 185981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65813 /* 185988 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65814 /* 185988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
65815 /* 185991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65816 /* 185993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65817 /* 185995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65818 /* 185999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65819 /* 186004 */ GIR_RootConstrainSelectedInstOperands,
65820 /* 186005 */ // GIR_Coverage, 23534,
65821 /* 186005 */ GIR_EraseRootFromParent_Done,
65822 /* 186006 */ // Label 4150: @186006
65823 /* 186006 */ GIM_Try, /*On fail goto*//*Label 4151*/ GIMT_Encode4(186068), // Rule ID 24092 //
65824 /* 186011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65825 /* 186014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65826 /* 186018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65827 /* 186022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65828 /* 186026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65829 /* 186029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65830 /* 186033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65831 /* 186037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65832 /* 186041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65833 /* 186043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65834 /* 186050 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65835 /* 186050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
65836 /* 186053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65837 /* 186055 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65838 /* 186057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65839 /* 186061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65840 /* 186066 */ GIR_RootConstrainSelectedInstOperands,
65841 /* 186067 */ // GIR_Coverage, 24092,
65842 /* 186067 */ GIR_EraseRootFromParent_Done,
65843 /* 186068 */ // Label 4151: @186068
65844 /* 186068 */ GIM_Try, /*On fail goto*//*Label 4152*/ GIMT_Encode4(186130), // Rule ID 3185 //
65845 /* 186073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65846 /* 186076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65847 /* 186080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65848 /* 186084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65849 /* 186088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65850 /* 186092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65851 /* 186095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65852 /* 186099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65853 /* 186103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65854 /* 186105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65855 /* 186112 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65856 /* 186112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
65857 /* 186115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65858 /* 186117 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65859 /* 186119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65860 /* 186123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65861 /* 186128 */ GIR_RootConstrainSelectedInstOperands,
65862 /* 186129 */ // GIR_Coverage, 3185,
65863 /* 186129 */ GIR_EraseRootFromParent_Done,
65864 /* 186130 */ // Label 4152: @186130
65865 /* 186130 */ GIM_Try, /*On fail goto*//*Label 4153*/ GIMT_Encode4(186192), // Rule ID 5566 //
65866 /* 186135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65867 /* 186138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65868 /* 186142 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65869 /* 186146 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65870 /* 186150 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65871 /* 186154 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65872 /* 186157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65873 /* 186161 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65874 /* 186165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65875 /* 186167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65876 /* 186174 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65877 /* 186174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
65878 /* 186177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65879 /* 186179 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65880 /* 186181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65881 /* 186185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65882 /* 186190 */ GIR_RootConstrainSelectedInstOperands,
65883 /* 186191 */ // GIR_Coverage, 5566,
65884 /* 186191 */ GIR_EraseRootFromParent_Done,
65885 /* 186192 */ // Label 4153: @186192
65886 /* 186192 */ GIM_Try, /*On fail goto*//*Label 4154*/ GIMT_Encode4(186219), // Rule ID 3184 //
65887 /* 186197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65888 /* 186200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65889 /* 186204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65890 /* 186208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65891 /* 186212 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65892 /* 186212 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDrr),
65893 /* 186217 */ GIR_RootConstrainSelectedInstOperands,
65894 /* 186218 */ // GIR_Coverage, 3184,
65895 /* 186218 */ GIR_Done,
65896 /* 186219 */ // Label 4154: @186219
65897 /* 186219 */ GIM_Try, /*On fail goto*//*Label 4155*/ GIMT_Encode4(186246), // Rule ID 3222 //
65898 /* 186224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
65899 /* 186227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65900 /* 186231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65901 /* 186235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65902 /* 186239 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65903 /* 186239 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSDrr),
65904 /* 186244 */ GIR_RootConstrainSelectedInstOperands,
65905 /* 186245 */ // GIR_Coverage, 3222,
65906 /* 186245 */ GIR_Done,
65907 /* 186246 */ // Label 4155: @186246
65908 /* 186246 */ GIM_Try, /*On fail goto*//*Label 4156*/ GIMT_Encode4(186273), // Rule ID 5563 //
65909 /* 186251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65910 /* 186254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65911 /* 186258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65912 /* 186262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65913 /* 186266 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
65914 /* 186266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rr),
65915 /* 186271 */ GIR_RootConstrainSelectedInstOperands,
65916 /* 186272 */ // GIR_Coverage, 5563,
65917 /* 186272 */ GIR_Done,
65918 /* 186273 */ // Label 4156: @186273
65919 /* 186273 */ GIM_Reject,
65920 /* 186274 */ // Label 4149: @186274
65921 /* 186274 */ GIM_Reject,
65922 /* 186275 */ // Label 4133: @186275
65923 /* 186275 */ GIM_Try, /*On fail goto*//*Label 4157*/ GIMT_Encode4(186591),
65924 /* 186280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65925 /* 186283 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
65926 /* 186286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65927 /* 186290 */ GIM_Try, /*On fail goto*//*Label 4158*/ GIMT_Encode4(186348), // Rule ID 24104 //
65928 /* 186295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65929 /* 186298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65930 /* 186302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65931 /* 186306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65932 /* 186309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65933 /* 186313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65934 /* 186317 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65935 /* 186321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65936 /* 186323 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65937 /* 186330 */ // (smin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65938 /* 186330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
65939 /* 186333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65940 /* 186335 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65941 /* 186337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65942 /* 186341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65943 /* 186346 */ GIR_RootConstrainSelectedInstOperands,
65944 /* 186347 */ // GIR_Coverage, 24104,
65945 /* 186347 */ GIR_EraseRootFromParent_Done,
65946 /* 186348 */ // Label 4158: @186348
65947 /* 186348 */ GIM_Try, /*On fail goto*//*Label 4159*/ GIMT_Encode4(186406), // Rule ID 5584 //
65948 /* 186353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65949 /* 186356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65950 /* 186360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65951 /* 186364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65952 /* 186368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65953 /* 186371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65954 /* 186375 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65955 /* 186379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65956 /* 186381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65957 /* 186388 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65958 /* 186388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
65959 /* 186391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65960 /* 186393 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65961 /* 186395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65962 /* 186399 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65963 /* 186404 */ GIR_RootConstrainSelectedInstOperands,
65964 /* 186405 */ // GIR_Coverage, 5584,
65965 /* 186405 */ GIR_EraseRootFromParent_Done,
65966 /* 186406 */ // Label 4159: @186406
65967 /* 186406 */ GIM_Try, /*On fail goto*//*Label 4160*/ GIMT_Encode4(186429), // Rule ID 5581 //
65968 /* 186411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65969 /* 186414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65970 /* 186418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65971 /* 186422 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
65972 /* 186422 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rr),
65973 /* 186427 */ GIR_RootConstrainSelectedInstOperands,
65974 /* 186428 */ // GIR_Coverage, 5581,
65975 /* 186428 */ GIR_Done,
65976 /* 186429 */ // Label 4160: @186429
65977 /* 186429 */ GIM_Try, /*On fail goto*//*Label 4161*/ GIMT_Encode4(186590), // Rule ID 20020 //
65978 /* 186434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
65979 /* 186437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65980 /* 186441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65981 /* 186445 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPMINSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
65982 /* 186445 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65983 /* 186448 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65984 /* 186452 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65985 /* 186457 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65986 /* 186459 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65987 /* 186462 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65988 /* 186466 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65989 /* 186471 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65990 /* 186474 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65991 /* 186478 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
65992 /* 186481 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65993 /* 186486 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65994 /* 186491 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65995 /* 186496 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65996 /* 186499 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65997 /* 186503 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65998 /* 186508 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65999 /* 186510 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66000 /* 186513 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66001 /* 186517 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66002 /* 186522 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66003 /* 186525 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66004 /* 186529 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
66005 /* 186532 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66006 /* 186537 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66007 /* 186542 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66008 /* 186547 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66009 /* 186550 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
66010 /* 186554 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66011 /* 186559 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66012 /* 186562 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66013 /* 186565 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66014 /* 186567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66015 /* 186570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66016 /* 186572 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
66017 /* 186579 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
66018 /* 186584 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66019 /* 186589 */ // GIR_Coverage, 20020,
66020 /* 186589 */ GIR_EraseRootFromParent_Done,
66021 /* 186590 */ // Label 4161: @186590
66022 /* 186590 */ GIM_Reject,
66023 /* 186591 */ // Label 4157: @186591
66024 /* 186591 */ GIM_Reject,
66025 /* 186592 */ // Label 4134: @186592
66026 /* 186592 */ GIM_Try, /*On fail goto*//*Label 4162*/ GIMT_Encode4(186933),
66027 /* 186597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
66028 /* 186600 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
66029 /* 186603 */ GIM_Try, /*On fail goto*//*Label 4163*/ GIMT_Encode4(186665), // Rule ID 23498 //
66030 /* 186608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66031 /* 186611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66032 /* 186615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66033 /* 186619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66034 /* 186623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66035 /* 186626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66036 /* 186630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66037 /* 186634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66038 /* 186638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66039 /* 186640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66040 /* 186647 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66041 /* 186647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
66042 /* 186650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66043 /* 186652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66044 /* 186654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66045 /* 186658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66046 /* 186663 */ GIR_RootConstrainSelectedInstOperands,
66047 /* 186664 */ // GIR_Coverage, 23498,
66048 /* 186664 */ GIR_EraseRootFromParent_Done,
66049 /* 186665 */ // Label 4163: @186665
66050 /* 186665 */ GIM_Try, /*On fail goto*//*Label 4164*/ GIMT_Encode4(186727), // Rule ID 24077 //
66051 /* 186670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66052 /* 186673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66053 /* 186677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66054 /* 186681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66055 /* 186685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66056 /* 186688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66057 /* 186692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66058 /* 186696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66059 /* 186700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66060 /* 186702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66061 /* 186709 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66062 /* 186709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
66063 /* 186712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66064 /* 186714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66065 /* 186716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66066 /* 186720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66067 /* 186725 */ GIR_RootConstrainSelectedInstOperands,
66068 /* 186726 */ // GIR_Coverage, 24077,
66069 /* 186726 */ GIR_EraseRootFromParent_Done,
66070 /* 186727 */ // Label 4164: @186727
66071 /* 186727 */ GIM_Try, /*On fail goto*//*Label 4165*/ GIMT_Encode4(186789), // Rule ID 2642 //
66072 /* 186732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66073 /* 186735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66074 /* 186739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66075 /* 186743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66076 /* 186747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66077 /* 186751 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66078 /* 186754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66079 /* 186758 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66080 /* 186762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66081 /* 186764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66082 /* 186771 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66083 /* 186771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
66084 /* 186774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66085 /* 186776 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66086 /* 186778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66087 /* 186782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66088 /* 186787 */ GIR_RootConstrainSelectedInstOperands,
66089 /* 186788 */ // GIR_Coverage, 2642,
66090 /* 186788 */ GIR_EraseRootFromParent_Done,
66091 /* 186789 */ // Label 4165: @186789
66092 /* 186789 */ GIM_Try, /*On fail goto*//*Label 4166*/ GIMT_Encode4(186851), // Rule ID 5542 //
66093 /* 186794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66094 /* 186797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66095 /* 186801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66096 /* 186805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66097 /* 186809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66098 /* 186813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66099 /* 186816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66100 /* 186820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66101 /* 186824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66102 /* 186826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66103 /* 186833 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66104 /* 186833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
66105 /* 186836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66106 /* 186838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66107 /* 186840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66108 /* 186844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66109 /* 186849 */ GIR_RootConstrainSelectedInstOperands,
66110 /* 186850 */ // GIR_Coverage, 5542,
66111 /* 186850 */ GIR_EraseRootFromParent_Done,
66112 /* 186851 */ // Label 4166: @186851
66113 /* 186851 */ GIM_Try, /*On fail goto*//*Label 4167*/ GIMT_Encode4(186878), // Rule ID 2641 //
66114 /* 186856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66115 /* 186859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66116 /* 186863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66117 /* 186867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66118 /* 186871 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66119 /* 186871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWrr),
66120 /* 186876 */ GIR_RootConstrainSelectedInstOperands,
66121 /* 186877 */ // GIR_Coverage, 2641,
66122 /* 186877 */ GIR_Done,
66123 /* 186878 */ // Label 4167: @186878
66124 /* 186878 */ GIM_Try, /*On fail goto*//*Label 4168*/ GIMT_Encode4(186905), // Rule ID 2643 //
66125 /* 186883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
66126 /* 186886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66127 /* 186890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66128 /* 186894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66129 /* 186898 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66130 /* 186898 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSWrr),
66131 /* 186903 */ GIR_RootConstrainSelectedInstOperands,
66132 /* 186904 */ // GIR_Coverage, 2643,
66133 /* 186904 */ GIR_Done,
66134 /* 186905 */ // Label 4168: @186905
66135 /* 186905 */ GIM_Try, /*On fail goto*//*Label 4169*/ GIMT_Encode4(186932), // Rule ID 5539 //
66136 /* 186910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66137 /* 186913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66138 /* 186917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66139 /* 186921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66140 /* 186925 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
66141 /* 186925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rr),
66142 /* 186930 */ GIR_RootConstrainSelectedInstOperands,
66143 /* 186931 */ // GIR_Coverage, 5539,
66144 /* 186931 */ GIR_Done,
66145 /* 186932 */ // Label 4169: @186932
66146 /* 186932 */ GIM_Reject,
66147 /* 186933 */ // Label 4162: @186933
66148 /* 186933 */ GIM_Reject,
66149 /* 186934 */ // Label 4135: @186934
66150 /* 186934 */ GIM_Try, /*On fail goto*//*Label 4170*/ GIMT_Encode4(187248),
66151 /* 186939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
66152 /* 186942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
66153 /* 186945 */ GIM_Try, /*On fail goto*//*Label 4171*/ GIMT_Encode4(187007), // Rule ID 23543 //
66154 /* 186950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66155 /* 186953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66156 /* 186957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66157 /* 186961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66158 /* 186965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66159 /* 186968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66160 /* 186972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66161 /* 186976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66162 /* 186980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66163 /* 186982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66164 /* 186989 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66165 /* 186989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
66166 /* 186992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66167 /* 186994 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66168 /* 186996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66169 /* 187000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66170 /* 187005 */ GIR_RootConstrainSelectedInstOperands,
66171 /* 187006 */ // GIR_Coverage, 23543,
66172 /* 187006 */ GIR_EraseRootFromParent_Done,
66173 /* 187007 */ // Label 4171: @187007
66174 /* 187007 */ GIM_Try, /*On fail goto*//*Label 4172*/ GIMT_Encode4(187069), // Rule ID 24086 //
66175 /* 187012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66176 /* 187015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66177 /* 187019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66178 /* 187023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66179 /* 187027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66180 /* 187030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66181 /* 187034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66182 /* 187038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66183 /* 187042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66184 /* 187044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66185 /* 187051 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66186 /* 187051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
66187 /* 187054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66188 /* 187056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66189 /* 187058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66190 /* 187062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66191 /* 187067 */ GIR_RootConstrainSelectedInstOperands,
66192 /* 187068 */ // GIR_Coverage, 24086,
66193 /* 187068 */ GIR_EraseRootFromParent_Done,
66194 /* 187069 */ // Label 4172: @187069
66195 /* 187069 */ GIM_Try, /*On fail goto*//*Label 4173*/ GIMT_Encode4(187131), // Rule ID 3203 //
66196 /* 187074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66197 /* 187077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66198 /* 187081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66199 /* 187085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66200 /* 187089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66201 /* 187093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66202 /* 187096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66203 /* 187100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66204 /* 187104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66205 /* 187106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66206 /* 187113 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66207 /* 187113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
66208 /* 187116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66209 /* 187118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66210 /* 187120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66211 /* 187124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66212 /* 187129 */ GIR_RootConstrainSelectedInstOperands,
66213 /* 187130 */ // GIR_Coverage, 3203,
66214 /* 187130 */ GIR_EraseRootFromParent_Done,
66215 /* 187131 */ // Label 4173: @187131
66216 /* 187131 */ GIM_Try, /*On fail goto*//*Label 4174*/ GIMT_Encode4(187193), // Rule ID 5557 //
66217 /* 187136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66218 /* 187139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66219 /* 187143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66220 /* 187147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66221 /* 187151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66222 /* 187155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66223 /* 187158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66224 /* 187162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66225 /* 187166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66226 /* 187168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66227 /* 187175 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66228 /* 187175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
66229 /* 187178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66230 /* 187180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66231 /* 187182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66232 /* 187186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66233 /* 187191 */ GIR_RootConstrainSelectedInstOperands,
66234 /* 187192 */ // GIR_Coverage, 5557,
66235 /* 187192 */ GIR_EraseRootFromParent_Done,
66236 /* 187193 */ // Label 4174: @187193
66237 /* 187193 */ GIM_Try, /*On fail goto*//*Label 4175*/ GIMT_Encode4(187220), // Rule ID 3202 //
66238 /* 187198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66239 /* 187201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66240 /* 187205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66241 /* 187209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66242 /* 187213 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
66243 /* 187213 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrr),
66244 /* 187218 */ GIR_RootConstrainSelectedInstOperands,
66245 /* 187219 */ // GIR_Coverage, 3202,
66246 /* 187219 */ GIR_Done,
66247 /* 187220 */ // Label 4175: @187220
66248 /* 187220 */ GIM_Try, /*On fail goto*//*Label 4176*/ GIMT_Encode4(187247), // Rule ID 5554 //
66249 /* 187225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66250 /* 187228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66251 /* 187232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66252 /* 187236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66253 /* 187240 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
66254 /* 187240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rr),
66255 /* 187245 */ GIR_RootConstrainSelectedInstOperands,
66256 /* 187246 */ // GIR_Coverage, 5554,
66257 /* 187246 */ GIR_Done,
66258 /* 187247 */ // Label 4176: @187247
66259 /* 187247 */ GIM_Reject,
66260 /* 187248 */ // Label 4170: @187248
66261 /* 187248 */ GIM_Reject,
66262 /* 187249 */ // Label 4136: @187249
66263 /* 187249 */ GIM_Try, /*On fail goto*//*Label 4177*/ GIMT_Encode4(187404),
66264 /* 187254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
66265 /* 187257 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
66266 /* 187260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66267 /* 187264 */ GIM_Try, /*On fail goto*//*Label 4178*/ GIMT_Encode4(187322), // Rule ID 24098 //
66268 /* 187269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66269 /* 187272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66270 /* 187276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66271 /* 187280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66272 /* 187283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66273 /* 187287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66274 /* 187291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66275 /* 187295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66276 /* 187297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66277 /* 187304 */ // (smin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66278 /* 187304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
66279 /* 187307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66280 /* 187309 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66281 /* 187311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66282 /* 187315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66283 /* 187320 */ GIR_RootConstrainSelectedInstOperands,
66284 /* 187321 */ // GIR_Coverage, 24098,
66285 /* 187321 */ GIR_EraseRootFromParent_Done,
66286 /* 187322 */ // Label 4178: @187322
66287 /* 187322 */ GIM_Try, /*On fail goto*//*Label 4179*/ GIMT_Encode4(187380), // Rule ID 5575 //
66288 /* 187327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66289 /* 187330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66290 /* 187334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66291 /* 187338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66292 /* 187342 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66293 /* 187345 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66294 /* 187349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66295 /* 187353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66296 /* 187355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66297 /* 187362 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66298 /* 187362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
66299 /* 187365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66300 /* 187367 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66301 /* 187369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66302 /* 187373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66303 /* 187378 */ GIR_RootConstrainSelectedInstOperands,
66304 /* 187379 */ // GIR_Coverage, 5575,
66305 /* 187379 */ GIR_EraseRootFromParent_Done,
66306 /* 187380 */ // Label 4179: @187380
66307 /* 187380 */ GIM_Try, /*On fail goto*//*Label 4180*/ GIMT_Encode4(187403), // Rule ID 5572 //
66308 /* 187385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66309 /* 187388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66310 /* 187392 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66311 /* 187396 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
66312 /* 187396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
66313 /* 187401 */ GIR_RootConstrainSelectedInstOperands,
66314 /* 187402 */ // GIR_Coverage, 5572,
66315 /* 187402 */ GIR_Done,
66316 /* 187403 */ // Label 4180: @187403
66317 /* 187403 */ GIM_Reject,
66318 /* 187404 */ // Label 4177: @187404
66319 /* 187404 */ GIM_Reject,
66320 /* 187405 */ // Label 4137: @187405
66321 /* 187405 */ GIM_Try, /*On fail goto*//*Label 4181*/ GIMT_Encode4(187746),
66322 /* 187410 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
66323 /* 187413 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
66324 /* 187416 */ GIM_Try, /*On fail goto*//*Label 4182*/ GIMT_Encode4(187478), // Rule ID 23539 //
66325 /* 187421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66326 /* 187424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66327 /* 187428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66328 /* 187432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66329 /* 187436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66330 /* 187439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66331 /* 187443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66332 /* 187447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66333 /* 187451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66334 /* 187453 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66335 /* 187460 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66336 /* 187460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
66337 /* 187463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66338 /* 187465 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66339 /* 187467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66340 /* 187471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66341 /* 187476 */ GIR_RootConstrainSelectedInstOperands,
66342 /* 187477 */ // GIR_Coverage, 23539,
66343 /* 187477 */ GIR_EraseRootFromParent_Done,
66344 /* 187478 */ // Label 4182: @187478
66345 /* 187478 */ GIM_Try, /*On fail goto*//*Label 4183*/ GIMT_Encode4(187540), // Rule ID 24068 //
66346 /* 187483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66347 /* 187486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66348 /* 187490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66349 /* 187494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66350 /* 187498 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66351 /* 187501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66352 /* 187505 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66353 /* 187509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66354 /* 187513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66355 /* 187515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66356 /* 187522 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66357 /* 187522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
66358 /* 187525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66359 /* 187527 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66360 /* 187529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66361 /* 187533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66362 /* 187538 */ GIR_RootConstrainSelectedInstOperands,
66363 /* 187539 */ // GIR_Coverage, 24068,
66364 /* 187539 */ GIR_EraseRootFromParent_Done,
66365 /* 187540 */ // Label 4183: @187540
66366 /* 187540 */ GIM_Try, /*On fail goto*//*Label 4184*/ GIMT_Encode4(187602), // Rule ID 3195 //
66367 /* 187545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66368 /* 187548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66369 /* 187552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66370 /* 187556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66371 /* 187560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66372 /* 187564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66373 /* 187567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66374 /* 187571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66375 /* 187575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66376 /* 187577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66377 /* 187584 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66378 /* 187584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
66379 /* 187587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66380 /* 187589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66381 /* 187591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66382 /* 187595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66383 /* 187600 */ GIR_RootConstrainSelectedInstOperands,
66384 /* 187601 */ // GIR_Coverage, 3195,
66385 /* 187601 */ GIR_EraseRootFromParent_Done,
66386 /* 187602 */ // Label 4184: @187602
66387 /* 187602 */ GIM_Try, /*On fail goto*//*Label 4185*/ GIMT_Encode4(187664), // Rule ID 5524 //
66388 /* 187607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66389 /* 187610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66390 /* 187614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66391 /* 187618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66392 /* 187622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66393 /* 187626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66394 /* 187629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66395 /* 187633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66396 /* 187637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66397 /* 187639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66398 /* 187646 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66399 /* 187646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
66400 /* 187649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66401 /* 187651 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66402 /* 187653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66403 /* 187657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66404 /* 187662 */ GIR_RootConstrainSelectedInstOperands,
66405 /* 187663 */ // GIR_Coverage, 5524,
66406 /* 187663 */ GIR_EraseRootFromParent_Done,
66407 /* 187664 */ // Label 4185: @187664
66408 /* 187664 */ GIM_Try, /*On fail goto*//*Label 4186*/ GIMT_Encode4(187691), // Rule ID 3194 //
66409 /* 187669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66410 /* 187672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66411 /* 187676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66412 /* 187680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66413 /* 187684 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
66414 /* 187684 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBrr),
66415 /* 187689 */ GIR_RootConstrainSelectedInstOperands,
66416 /* 187690 */ // GIR_Coverage, 3194,
66417 /* 187690 */ GIR_Done,
66418 /* 187691 */ // Label 4186: @187691
66419 /* 187691 */ GIM_Try, /*On fail goto*//*Label 4187*/ GIMT_Encode4(187718), // Rule ID 3220 //
66420 /* 187696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
66421 /* 187699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66422 /* 187703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66423 /* 187707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66424 /* 187711 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
66425 /* 187711 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSBrr),
66426 /* 187716 */ GIR_RootConstrainSelectedInstOperands,
66427 /* 187717 */ // GIR_Coverage, 3220,
66428 /* 187717 */ GIR_Done,
66429 /* 187718 */ // Label 4187: @187718
66430 /* 187718 */ GIM_Try, /*On fail goto*//*Label 4188*/ GIMT_Encode4(187745), // Rule ID 5521 //
66431 /* 187723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66432 /* 187726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66433 /* 187730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66434 /* 187734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66435 /* 187738 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
66436 /* 187738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rr),
66437 /* 187743 */ GIR_RootConstrainSelectedInstOperands,
66438 /* 187744 */ // GIR_Coverage, 5521,
66439 /* 187744 */ GIR_Done,
66440 /* 187745 */ // Label 4188: @187745
66441 /* 187745 */ GIM_Reject,
66442 /* 187746 */ // Label 4181: @187746
66443 /* 187746 */ GIM_Reject,
66444 /* 187747 */ // Label 4138: @187747
66445 /* 187747 */ GIM_Try, /*On fail goto*//*Label 4189*/ GIMT_Encode4(188061),
66446 /* 187752 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
66447 /* 187755 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
66448 /* 187758 */ GIM_Try, /*On fail goto*//*Label 4190*/ GIMT_Encode4(187820), // Rule ID 23500 //
66449 /* 187763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66450 /* 187766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66451 /* 187770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66452 /* 187774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66453 /* 187778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66454 /* 187781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66455 /* 187785 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66456 /* 187789 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66457 /* 187793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66458 /* 187795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66459 /* 187802 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66460 /* 187802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
66461 /* 187805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66462 /* 187807 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66463 /* 187809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66464 /* 187813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66465 /* 187818 */ GIR_RootConstrainSelectedInstOperands,
66466 /* 187819 */ // GIR_Coverage, 23500,
66467 /* 187819 */ GIR_EraseRootFromParent_Done,
66468 /* 187820 */ // Label 4190: @187820
66469 /* 187820 */ GIM_Try, /*On fail goto*//*Label 4191*/ GIMT_Encode4(187882), // Rule ID 24074 //
66470 /* 187825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66471 /* 187828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66472 /* 187832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66473 /* 187836 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66474 /* 187840 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66475 /* 187843 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66476 /* 187847 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66477 /* 187851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66478 /* 187855 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66479 /* 187857 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66480 /* 187864 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66481 /* 187864 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
66482 /* 187867 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66483 /* 187869 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66484 /* 187871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66485 /* 187875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66486 /* 187880 */ GIR_RootConstrainSelectedInstOperands,
66487 /* 187881 */ // GIR_Coverage, 24074,
66488 /* 187881 */ GIR_EraseRootFromParent_Done,
66489 /* 187882 */ // Label 4191: @187882
66490 /* 187882 */ GIM_Try, /*On fail goto*//*Label 4192*/ GIMT_Encode4(187944), // Rule ID 2646 //
66491 /* 187887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66492 /* 187890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66493 /* 187894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66494 /* 187898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66495 /* 187902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66496 /* 187906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66497 /* 187909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66498 /* 187913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66499 /* 187917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66500 /* 187919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66501 /* 187926 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66502 /* 187926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
66503 /* 187929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66504 /* 187931 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66505 /* 187933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66506 /* 187937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66507 /* 187942 */ GIR_RootConstrainSelectedInstOperands,
66508 /* 187943 */ // GIR_Coverage, 2646,
66509 /* 187943 */ GIR_EraseRootFromParent_Done,
66510 /* 187944 */ // Label 4192: @187944
66511 /* 187944 */ GIM_Try, /*On fail goto*//*Label 4193*/ GIMT_Encode4(188006), // Rule ID 5536 //
66512 /* 187949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66513 /* 187952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66514 /* 187956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66515 /* 187960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66516 /* 187964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66517 /* 187968 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66518 /* 187971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66519 /* 187975 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66520 /* 187979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66521 /* 187981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66522 /* 187988 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66523 /* 187988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
66524 /* 187991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66525 /* 187993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66526 /* 187995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66527 /* 187999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66528 /* 188004 */ GIR_RootConstrainSelectedInstOperands,
66529 /* 188005 */ // GIR_Coverage, 5536,
66530 /* 188005 */ GIR_EraseRootFromParent_Done,
66531 /* 188006 */ // Label 4193: @188006
66532 /* 188006 */ GIM_Try, /*On fail goto*//*Label 4194*/ GIMT_Encode4(188033), // Rule ID 2645 //
66533 /* 188011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66534 /* 188014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66535 /* 188018 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66536 /* 188022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66537 /* 188026 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
66538 /* 188026 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrr),
66539 /* 188031 */ GIR_RootConstrainSelectedInstOperands,
66540 /* 188032 */ // GIR_Coverage, 2645,
66541 /* 188032 */ GIR_Done,
66542 /* 188033 */ // Label 4194: @188033
66543 /* 188033 */ GIM_Try, /*On fail goto*//*Label 4195*/ GIMT_Encode4(188060), // Rule ID 5533 //
66544 /* 188038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66545 /* 188041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66546 /* 188045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66547 /* 188049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66548 /* 188053 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
66549 /* 188053 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rr),
66550 /* 188058 */ GIR_RootConstrainSelectedInstOperands,
66551 /* 188059 */ // GIR_Coverage, 5533,
66552 /* 188059 */ GIR_Done,
66553 /* 188060 */ // Label 4195: @188060
66554 /* 188060 */ GIM_Reject,
66555 /* 188061 */ // Label 4189: @188061
66556 /* 188061 */ GIM_Reject,
66557 /* 188062 */ // Label 4139: @188062
66558 /* 188062 */ GIM_Try, /*On fail goto*//*Label 4196*/ GIMT_Encode4(188217),
66559 /* 188067 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
66560 /* 188070 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
66561 /* 188073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66562 /* 188077 */ GIM_Try, /*On fail goto*//*Label 4197*/ GIMT_Encode4(188135), // Rule ID 24080 //
66563 /* 188082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66564 /* 188085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66565 /* 188089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66566 /* 188093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66567 /* 188096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66568 /* 188100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66569 /* 188104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66570 /* 188108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66571 /* 188110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66572 /* 188117 */ // (smin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66573 /* 188117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
66574 /* 188120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66575 /* 188122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66576 /* 188124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66577 /* 188128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66578 /* 188133 */ GIR_RootConstrainSelectedInstOperands,
66579 /* 188134 */ // GIR_Coverage, 24080,
66580 /* 188134 */ GIR_EraseRootFromParent_Done,
66581 /* 188135 */ // Label 4197: @188135
66582 /* 188135 */ GIM_Try, /*On fail goto*//*Label 4198*/ GIMT_Encode4(188193), // Rule ID 5548 //
66583 /* 188140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66584 /* 188143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66585 /* 188147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66586 /* 188151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66587 /* 188155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66588 /* 188158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66589 /* 188162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66590 /* 188166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66591 /* 188168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66592 /* 188175 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66593 /* 188175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
66594 /* 188178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66595 /* 188180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66596 /* 188182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66597 /* 188186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66598 /* 188191 */ GIR_RootConstrainSelectedInstOperands,
66599 /* 188192 */ // GIR_Coverage, 5548,
66600 /* 188192 */ GIR_EraseRootFromParent_Done,
66601 /* 188193 */ // Label 4198: @188193
66602 /* 188193 */ GIM_Try, /*On fail goto*//*Label 4199*/ GIMT_Encode4(188216), // Rule ID 5545 //
66603 /* 188198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66604 /* 188201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66605 /* 188205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66606 /* 188209 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
66607 /* 188209 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrr),
66608 /* 188214 */ GIR_RootConstrainSelectedInstOperands,
66609 /* 188215 */ // GIR_Coverage, 5545,
66610 /* 188215 */ GIR_Done,
66611 /* 188216 */ // Label 4199: @188216
66612 /* 188216 */ GIM_Reject,
66613 /* 188217 */ // Label 4196: @188217
66614 /* 188217 */ GIM_Reject,
66615 /* 188218 */ // Label 4140: @188218
66616 /* 188218 */ GIM_Try, /*On fail goto*//*Label 4200*/ GIMT_Encode4(188532),
66617 /* 188223 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
66618 /* 188226 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
66619 /* 188229 */ GIM_Try, /*On fail goto*//*Label 4201*/ GIMT_Encode4(188291), // Rule ID 23548 //
66620 /* 188234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66621 /* 188237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66622 /* 188241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66623 /* 188245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66624 /* 188249 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66625 /* 188252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66626 /* 188256 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66627 /* 188260 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66628 /* 188264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66629 /* 188266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66630 /* 188273 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66631 /* 188273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
66632 /* 188276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66633 /* 188278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66634 /* 188280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66635 /* 188284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66636 /* 188289 */ GIR_RootConstrainSelectedInstOperands,
66637 /* 188290 */ // GIR_Coverage, 23548,
66638 /* 188290 */ GIR_EraseRootFromParent_Done,
66639 /* 188291 */ // Label 4201: @188291
66640 /* 188291 */ GIM_Try, /*On fail goto*//*Label 4202*/ GIMT_Encode4(188353), // Rule ID 24065 //
66641 /* 188296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66642 /* 188299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66643 /* 188303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66644 /* 188307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66645 /* 188311 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66646 /* 188314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66647 /* 188318 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66648 /* 188322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66649 /* 188326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66650 /* 188328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66651 /* 188335 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66652 /* 188335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
66653 /* 188338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66654 /* 188340 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66655 /* 188342 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66656 /* 188346 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66657 /* 188351 */ GIR_RootConstrainSelectedInstOperands,
66658 /* 188352 */ // GIR_Coverage, 24065,
66659 /* 188352 */ GIR_EraseRootFromParent_Done,
66660 /* 188353 */ // Label 4202: @188353
66661 /* 188353 */ GIM_Try, /*On fail goto*//*Label 4203*/ GIMT_Encode4(188415), // Rule ID 3213 //
66662 /* 188358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66663 /* 188361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66664 /* 188365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66665 /* 188369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66666 /* 188373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66667 /* 188377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66668 /* 188380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66669 /* 188384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66670 /* 188388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66671 /* 188390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66672 /* 188397 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66673 /* 188397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
66674 /* 188400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66675 /* 188402 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66676 /* 188404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66677 /* 188408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66678 /* 188413 */ GIR_RootConstrainSelectedInstOperands,
66679 /* 188414 */ // GIR_Coverage, 3213,
66680 /* 188414 */ GIR_EraseRootFromParent_Done,
66681 /* 188415 */ // Label 4203: @188415
66682 /* 188415 */ GIM_Try, /*On fail goto*//*Label 4204*/ GIMT_Encode4(188477), // Rule ID 5518 //
66683 /* 188420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66684 /* 188423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66685 /* 188427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66686 /* 188431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66687 /* 188435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66688 /* 188439 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66689 /* 188442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66690 /* 188446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66691 /* 188450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66692 /* 188452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66693 /* 188459 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66694 /* 188459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
66695 /* 188462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66696 /* 188464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66697 /* 188466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66698 /* 188470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66699 /* 188475 */ GIR_RootConstrainSelectedInstOperands,
66700 /* 188476 */ // GIR_Coverage, 5518,
66701 /* 188476 */ GIR_EraseRootFromParent_Done,
66702 /* 188477 */ // Label 4204: @188477
66703 /* 188477 */ GIM_Try, /*On fail goto*//*Label 4205*/ GIMT_Encode4(188504), // Rule ID 3212 //
66704 /* 188482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66705 /* 188485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66706 /* 188489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66707 /* 188493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66708 /* 188497 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
66709 /* 188497 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrr),
66710 /* 188502 */ GIR_RootConstrainSelectedInstOperands,
66711 /* 188503 */ // GIR_Coverage, 3212,
66712 /* 188503 */ GIR_Done,
66713 /* 188504 */ // Label 4205: @188504
66714 /* 188504 */ GIM_Try, /*On fail goto*//*Label 4206*/ GIMT_Encode4(188531), // Rule ID 5515 //
66715 /* 188509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66716 /* 188512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66717 /* 188516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66718 /* 188520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66719 /* 188524 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
66720 /* 188524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rr),
66721 /* 188529 */ GIR_RootConstrainSelectedInstOperands,
66722 /* 188530 */ // GIR_Coverage, 5515,
66723 /* 188530 */ GIR_Done,
66724 /* 188531 */ // Label 4206: @188531
66725 /* 188531 */ GIM_Reject,
66726 /* 188532 */ // Label 4200: @188532
66727 /* 188532 */ GIM_Reject,
66728 /* 188533 */ // Label 4141: @188533
66729 /* 188533 */ GIM_Try, /*On fail goto*//*Label 4207*/ GIMT_Encode4(188688),
66730 /* 188538 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
66731 /* 188541 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
66732 /* 188544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66733 /* 188548 */ GIM_Try, /*On fail goto*//*Label 4208*/ GIMT_Encode4(188606), // Rule ID 24071 //
66734 /* 188553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66735 /* 188556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66736 /* 188560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66737 /* 188564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66738 /* 188567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66739 /* 188571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66740 /* 188575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66741 /* 188579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66742 /* 188581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66743 /* 188588 */ // (smin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66744 /* 188588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
66745 /* 188591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66746 /* 188593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66747 /* 188595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66748 /* 188599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66749 /* 188604 */ GIR_RootConstrainSelectedInstOperands,
66750 /* 188605 */ // GIR_Coverage, 24071,
66751 /* 188605 */ GIR_EraseRootFromParent_Done,
66752 /* 188606 */ // Label 4208: @188606
66753 /* 188606 */ GIM_Try, /*On fail goto*//*Label 4209*/ GIMT_Encode4(188664), // Rule ID 5530 //
66754 /* 188611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66755 /* 188614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66756 /* 188618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66757 /* 188622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66758 /* 188626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66759 /* 188629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66760 /* 188633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66761 /* 188637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66762 /* 188639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66763 /* 188646 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66764 /* 188646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
66765 /* 188649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66766 /* 188651 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66767 /* 188653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66768 /* 188657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66769 /* 188662 */ GIR_RootConstrainSelectedInstOperands,
66770 /* 188663 */ // GIR_Coverage, 5530,
66771 /* 188663 */ GIR_EraseRootFromParent_Done,
66772 /* 188664 */ // Label 4209: @188664
66773 /* 188664 */ GIM_Try, /*On fail goto*//*Label 4210*/ GIMT_Encode4(188687), // Rule ID 5527 //
66774 /* 188669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66775 /* 188672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66776 /* 188676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66777 /* 188680 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
66778 /* 188680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrr),
66779 /* 188685 */ GIR_RootConstrainSelectedInstOperands,
66780 /* 188686 */ // GIR_Coverage, 5527,
66781 /* 188686 */ GIR_Done,
66782 /* 188687 */ // Label 4210: @188687
66783 /* 188687 */ GIM_Reject,
66784 /* 188688 */ // Label 4207: @188688
66785 /* 188688 */ GIM_Reject,
66786 /* 188689 */ // Label 4142: @188689
66787 /* 188689 */ GIM_Try, /*On fail goto*//*Label 4211*/ GIMT_Encode4(188844),
66788 /* 188694 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
66789 /* 188697 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
66790 /* 188700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66791 /* 188704 */ GIM_Try, /*On fail goto*//*Label 4212*/ GIMT_Encode4(188762), // Rule ID 24062 //
66792 /* 188709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66793 /* 188712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66794 /* 188716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66795 /* 188720 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66796 /* 188723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66797 /* 188727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66798 /* 188731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66799 /* 188735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66800 /* 188737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66801 /* 188744 */ // (smin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66802 /* 188744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
66803 /* 188747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66804 /* 188749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66805 /* 188751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66806 /* 188755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66807 /* 188760 */ GIR_RootConstrainSelectedInstOperands,
66808 /* 188761 */ // GIR_Coverage, 24062,
66809 /* 188761 */ GIR_EraseRootFromParent_Done,
66810 /* 188762 */ // Label 4212: @188762
66811 /* 188762 */ GIM_Try, /*On fail goto*//*Label 4213*/ GIMT_Encode4(188820), // Rule ID 5512 //
66812 /* 188767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66813 /* 188770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66814 /* 188774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66815 /* 188778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66816 /* 188782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66817 /* 188785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66818 /* 188789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66819 /* 188793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66820 /* 188795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66821 /* 188802 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66822 /* 188802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
66823 /* 188805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66824 /* 188807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66825 /* 188809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66826 /* 188813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66827 /* 188818 */ GIR_RootConstrainSelectedInstOperands,
66828 /* 188819 */ // GIR_Coverage, 5512,
66829 /* 188819 */ GIR_EraseRootFromParent_Done,
66830 /* 188820 */ // Label 4213: @188820
66831 /* 188820 */ GIM_Try, /*On fail goto*//*Label 4214*/ GIMT_Encode4(188843), // Rule ID 5509 //
66832 /* 188825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66833 /* 188828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66834 /* 188832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66835 /* 188836 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
66836 /* 188836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrr),
66837 /* 188841 */ GIR_RootConstrainSelectedInstOperands,
66838 /* 188842 */ // GIR_Coverage, 5509,
66839 /* 188842 */ GIR_Done,
66840 /* 188843 */ // Label 4214: @188843
66841 /* 188843 */ GIM_Reject,
66842 /* 188844 */ // Label 4211: @188844
66843 /* 188844 */ GIM_Reject,
66844 /* 188845 */ // Label 4143: @188845
66845 /* 188845 */ GIM_Reject,
66846 /* 188846 */ // Label 56: @188846
66847 /* 188846 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4227*/ GIMT_Encode4(192166),
66848 /* 188857 */ /*GILLT_v2s64*//*Label 4215*/ GIMT_Encode4(188925), GIMT_Encode4(0),
66849 /* 188865 */ /*GILLT_v4s32*//*Label 4216*/ GIMT_Encode4(189254),
66850 /* 188869 */ /*GILLT_v4s64*//*Label 4217*/ GIMT_Encode4(189596), GIMT_Encode4(0),
66851 /* 188877 */ /*GILLT_v8s16*//*Label 4218*/ GIMT_Encode4(189913),
66852 /* 188881 */ /*GILLT_v8s32*//*Label 4219*/ GIMT_Encode4(190255),
66853 /* 188885 */ /*GILLT_v8s64*//*Label 4220*/ GIMT_Encode4(190570), GIMT_Encode4(0),
66854 /* 188893 */ /*GILLT_v16s8*//*Label 4221*/ GIMT_Encode4(190726),
66855 /* 188897 */ /*GILLT_v16s16*//*Label 4222*/ GIMT_Encode4(191068),
66856 /* 188901 */ /*GILLT_v16s32*//*Label 4223*/ GIMT_Encode4(191383), GIMT_Encode4(0),
66857 /* 188909 */ /*GILLT_v32s8*//*Label 4224*/ GIMT_Encode4(191539),
66858 /* 188913 */ /*GILLT_v32s16*//*Label 4225*/ GIMT_Encode4(191854), GIMT_Encode4(0),
66859 /* 188921 */ /*GILLT_v64s8*//*Label 4226*/ GIMT_Encode4(192010),
66860 /* 188925 */ // Label 4215: @188925
66861 /* 188925 */ GIM_Try, /*On fail goto*//*Label 4228*/ GIMT_Encode4(189253),
66862 /* 188930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
66863 /* 188933 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
66864 /* 188936 */ GIM_Try, /*On fail goto*//*Label 4229*/ GIMT_Encode4(188998), // Rule ID 24002 //
66865 /* 188941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66866 /* 188944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66867 /* 188948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66868 /* 188952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66869 /* 188956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66870 /* 188959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66871 /* 188963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66872 /* 188967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66873 /* 188971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66874 /* 188973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66875 /* 188980 */ // (smax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66876 /* 188980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
66877 /* 188983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66878 /* 188985 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66879 /* 188987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66880 /* 188991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66881 /* 188996 */ GIR_RootConstrainSelectedInstOperands,
66882 /* 188997 */ // GIR_Coverage, 24002,
66883 /* 188997 */ GIR_EraseRootFromParent_Done,
66884 /* 188998 */ // Label 4229: @188998
66885 /* 188998 */ GIM_Try, /*On fail goto*//*Label 4230*/ GIMT_Encode4(189060), // Rule ID 5413 //
66886 /* 189003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66887 /* 189006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66888 /* 189010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66889 /* 189014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66890 /* 189018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66891 /* 189022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66892 /* 189025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66893 /* 189029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66894 /* 189033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66895 /* 189035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66896 /* 189042 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66897 /* 189042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
66898 /* 189045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66899 /* 189047 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66900 /* 189049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66901 /* 189053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66902 /* 189058 */ GIR_RootConstrainSelectedInstOperands,
66903 /* 189059 */ // GIR_Coverage, 5413,
66904 /* 189059 */ GIR_EraseRootFromParent_Done,
66905 /* 189060 */ // Label 4230: @189060
66906 /* 189060 */ GIM_Try, /*On fail goto*//*Label 4231*/ GIMT_Encode4(189087), // Rule ID 5410 //
66907 /* 189065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66908 /* 189068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66909 /* 189072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66910 /* 189076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66911 /* 189080 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
66912 /* 189080 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rr),
66913 /* 189085 */ GIR_RootConstrainSelectedInstOperands,
66914 /* 189086 */ // GIR_Coverage, 5410,
66915 /* 189086 */ GIR_Done,
66916 /* 189087 */ // Label 4231: @189087
66917 /* 189087 */ GIM_Try, /*On fail goto*//*Label 4232*/ GIMT_Encode4(189252), // Rule ID 20018 //
66918 /* 189092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
66919 /* 189095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
66920 /* 189099 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66921 /* 189103 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66922 /* 189107 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPMAXSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
66923 /* 189107 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66924 /* 189110 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66925 /* 189114 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66926 /* 189119 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66927 /* 189121 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66928 /* 189124 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66929 /* 189128 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66930 /* 189133 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66931 /* 189136 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66932 /* 189140 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
66933 /* 189143 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66934 /* 189148 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66935 /* 189153 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66936 /* 189158 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66937 /* 189161 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66938 /* 189165 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66939 /* 189170 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66940 /* 189172 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66941 /* 189175 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66942 /* 189179 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66943 /* 189184 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66944 /* 189187 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66945 /* 189191 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
66946 /* 189194 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66947 /* 189199 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66948 /* 189204 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66949 /* 189209 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66950 /* 189212 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66951 /* 189216 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66952 /* 189221 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66953 /* 189224 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66954 /* 189227 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66955 /* 189229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66956 /* 189232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66957 /* 189234 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
66958 /* 189241 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
66959 /* 189246 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66960 /* 189251 */ // GIR_Coverage, 20018,
66961 /* 189251 */ GIR_EraseRootFromParent_Done,
66962 /* 189252 */ // Label 4232: @189252
66963 /* 189252 */ GIM_Reject,
66964 /* 189253 */ // Label 4228: @189253
66965 /* 189253 */ GIM_Reject,
66966 /* 189254 */ // Label 4216: @189254
66967 /* 189254 */ GIM_Try, /*On fail goto*//*Label 4233*/ GIMT_Encode4(189595),
66968 /* 189259 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
66969 /* 189262 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
66970 /* 189265 */ GIM_Try, /*On fail goto*//*Label 4234*/ GIMT_Encode4(189327), // Rule ID 23536 //
66971 /* 189270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66972 /* 189273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66973 /* 189277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66974 /* 189281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66975 /* 189285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66976 /* 189288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66977 /* 189292 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66978 /* 189296 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66979 /* 189300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66980 /* 189302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66981 /* 189309 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66982 /* 189309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
66983 /* 189312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66984 /* 189314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66985 /* 189316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66986 /* 189320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66987 /* 189325 */ GIR_RootConstrainSelectedInstOperands,
66988 /* 189326 */ // GIR_Coverage, 23536,
66989 /* 189326 */ GIR_EraseRootFromParent_Done,
66990 /* 189327 */ // Label 4234: @189327
66991 /* 189327 */ GIM_Try, /*On fail goto*//*Label 4235*/ GIMT_Encode4(189389), // Rule ID 23984 //
66992 /* 189332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66993 /* 189335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66994 /* 189339 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66995 /* 189343 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66996 /* 189347 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66997 /* 189350 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66998 /* 189354 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66999 /* 189358 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67000 /* 189362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67001 /* 189364 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67002 /* 189371 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67003 /* 189371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
67004 /* 189374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67005 /* 189376 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67006 /* 189378 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67007 /* 189382 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67008 /* 189387 */ GIR_RootConstrainSelectedInstOperands,
67009 /* 189388 */ // GIR_Coverage, 23984,
67010 /* 189388 */ GIR_EraseRootFromParent_Done,
67011 /* 189389 */ // Label 4235: @189389
67012 /* 189389 */ GIM_Try, /*On fail goto*//*Label 4236*/ GIMT_Encode4(189451), // Rule ID 3189 //
67013 /* 189394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67014 /* 189397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67015 /* 189401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67016 /* 189405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67017 /* 189409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67018 /* 189413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67019 /* 189416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67020 /* 189420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67021 /* 189424 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67022 /* 189426 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67023 /* 189433 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67024 /* 189433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
67025 /* 189436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67026 /* 189438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67027 /* 189440 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67028 /* 189444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67029 /* 189449 */ GIR_RootConstrainSelectedInstOperands,
67030 /* 189450 */ // GIR_Coverage, 3189,
67031 /* 189450 */ GIR_EraseRootFromParent_Done,
67032 /* 189451 */ // Label 4236: @189451
67033 /* 189451 */ GIM_Try, /*On fail goto*//*Label 4237*/ GIMT_Encode4(189513), // Rule ID 5386 //
67034 /* 189456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67035 /* 189459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67036 /* 189463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67037 /* 189467 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67038 /* 189471 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67039 /* 189475 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67040 /* 189478 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67041 /* 189482 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67042 /* 189486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67043 /* 189488 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67044 /* 189495 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67045 /* 189495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
67046 /* 189498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67047 /* 189500 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67048 /* 189502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67049 /* 189506 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67050 /* 189511 */ GIR_RootConstrainSelectedInstOperands,
67051 /* 189512 */ // GIR_Coverage, 5386,
67052 /* 189512 */ GIR_EraseRootFromParent_Done,
67053 /* 189513 */ // Label 4237: @189513
67054 /* 189513 */ GIM_Try, /*On fail goto*//*Label 4238*/ GIMT_Encode4(189540), // Rule ID 3188 //
67055 /* 189518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67056 /* 189521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67057 /* 189525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67058 /* 189529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67059 /* 189533 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67060 /* 189533 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrr),
67061 /* 189538 */ GIR_RootConstrainSelectedInstOperands,
67062 /* 189539 */ // GIR_Coverage, 3188,
67063 /* 189539 */ GIR_Done,
67064 /* 189540 */ // Label 4238: @189540
67065 /* 189540 */ GIM_Try, /*On fail goto*//*Label 4239*/ GIMT_Encode4(189567), // Rule ID 3230 //
67066 /* 189545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
67067 /* 189548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67068 /* 189552 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67069 /* 189556 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67070 /* 189560 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67071 /* 189560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSDrr),
67072 /* 189565 */ GIR_RootConstrainSelectedInstOperands,
67073 /* 189566 */ // GIR_Coverage, 3230,
67074 /* 189566 */ GIR_Done,
67075 /* 189567 */ // Label 4239: @189567
67076 /* 189567 */ GIM_Try, /*On fail goto*//*Label 4240*/ GIMT_Encode4(189594), // Rule ID 5383 //
67077 /* 189572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67078 /* 189575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67079 /* 189579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67080 /* 189583 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67081 /* 189587 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
67082 /* 189587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rr),
67083 /* 189592 */ GIR_RootConstrainSelectedInstOperands,
67084 /* 189593 */ // GIR_Coverage, 5383,
67085 /* 189593 */ GIR_Done,
67086 /* 189594 */ // Label 4240: @189594
67087 /* 189594 */ GIM_Reject,
67088 /* 189595 */ // Label 4233: @189595
67089 /* 189595 */ GIM_Reject,
67090 /* 189596 */ // Label 4217: @189596
67091 /* 189596 */ GIM_Try, /*On fail goto*//*Label 4241*/ GIMT_Encode4(189912),
67092 /* 189601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
67093 /* 189604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
67094 /* 189607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67095 /* 189611 */ GIM_Try, /*On fail goto*//*Label 4242*/ GIMT_Encode4(189669), // Rule ID 23996 //
67096 /* 189616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67097 /* 189619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67098 /* 189623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67099 /* 189627 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67100 /* 189630 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67101 /* 189634 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67102 /* 189638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67103 /* 189642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67104 /* 189644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67105 /* 189651 */ // (smax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67106 /* 189651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
67107 /* 189654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67108 /* 189656 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67109 /* 189658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67110 /* 189662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67111 /* 189667 */ GIR_RootConstrainSelectedInstOperands,
67112 /* 189668 */ // GIR_Coverage, 23996,
67113 /* 189668 */ GIR_EraseRootFromParent_Done,
67114 /* 189669 */ // Label 4242: @189669
67115 /* 189669 */ GIM_Try, /*On fail goto*//*Label 4243*/ GIMT_Encode4(189727), // Rule ID 5404 //
67116 /* 189674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67117 /* 189677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67118 /* 189681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67119 /* 189685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67120 /* 189689 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67121 /* 189692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67122 /* 189696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67123 /* 189700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67124 /* 189702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67125 /* 189709 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67126 /* 189709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
67127 /* 189712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67128 /* 189714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67129 /* 189716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67130 /* 189720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67131 /* 189725 */ GIR_RootConstrainSelectedInstOperands,
67132 /* 189726 */ // GIR_Coverage, 5404,
67133 /* 189726 */ GIR_EraseRootFromParent_Done,
67134 /* 189727 */ // Label 4243: @189727
67135 /* 189727 */ GIM_Try, /*On fail goto*//*Label 4244*/ GIMT_Encode4(189750), // Rule ID 5401 //
67136 /* 189732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67137 /* 189735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67138 /* 189739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67139 /* 189743 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
67140 /* 189743 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rr),
67141 /* 189748 */ GIR_RootConstrainSelectedInstOperands,
67142 /* 189749 */ // GIR_Coverage, 5401,
67143 /* 189749 */ GIR_Done,
67144 /* 189750 */ // Label 4244: @189750
67145 /* 189750 */ GIM_Try, /*On fail goto*//*Label 4245*/ GIMT_Encode4(189911), // Rule ID 20016 //
67146 /* 189755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
67147 /* 189758 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67148 /* 189762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67149 /* 189766 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPMAXSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
67150 /* 189766 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67151 /* 189769 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67152 /* 189773 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67153 /* 189778 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67154 /* 189780 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67155 /* 189783 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67156 /* 189787 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67157 /* 189792 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67158 /* 189795 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67159 /* 189799 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
67160 /* 189802 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67161 /* 189807 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67162 /* 189812 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67163 /* 189817 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67164 /* 189820 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67165 /* 189824 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67166 /* 189829 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67167 /* 189831 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67168 /* 189834 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67169 /* 189838 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67170 /* 189843 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67171 /* 189846 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67172 /* 189850 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
67173 /* 189853 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67174 /* 189858 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67175 /* 189863 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
67176 /* 189868 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67177 /* 189871 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
67178 /* 189875 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67179 /* 189880 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67180 /* 189883 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67181 /* 189886 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67182 /* 189888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67183 /* 189891 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67184 /* 189893 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
67185 /* 189900 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
67186 /* 189905 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67187 /* 189910 */ // GIR_Coverage, 20016,
67188 /* 189910 */ GIR_EraseRootFromParent_Done,
67189 /* 189911 */ // Label 4245: @189911
67190 /* 189911 */ GIM_Reject,
67191 /* 189912 */ // Label 4241: @189912
67192 /* 189912 */ GIM_Reject,
67193 /* 189913 */ // Label 4218: @189913
67194 /* 189913 */ GIM_Try, /*On fail goto*//*Label 4246*/ GIMT_Encode4(190254),
67195 /* 189918 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
67196 /* 189921 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
67197 /* 189924 */ GIM_Try, /*On fail goto*//*Label 4247*/ GIMT_Encode4(189986), // Rule ID 23504 //
67198 /* 189929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67199 /* 189932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67200 /* 189936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67201 /* 189940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67202 /* 189944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67203 /* 189947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67204 /* 189951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67205 /* 189955 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67206 /* 189959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67207 /* 189961 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67208 /* 189968 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67209 /* 189968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
67210 /* 189971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67211 /* 189973 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67212 /* 189975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67213 /* 189979 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67214 /* 189984 */ GIR_RootConstrainSelectedInstOperands,
67215 /* 189985 */ // GIR_Coverage, 23504,
67216 /* 189985 */ GIR_EraseRootFromParent_Done,
67217 /* 189986 */ // Label 4247: @189986
67218 /* 189986 */ GIM_Try, /*On fail goto*//*Label 4248*/ GIMT_Encode4(190048), // Rule ID 23969 //
67219 /* 189991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67220 /* 189994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67221 /* 189998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67222 /* 190002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67223 /* 190006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67224 /* 190009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67225 /* 190013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67226 /* 190017 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67227 /* 190021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67228 /* 190023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67229 /* 190030 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67230 /* 190030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
67231 /* 190033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67232 /* 190035 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67233 /* 190037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67234 /* 190041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67235 /* 190046 */ GIR_RootConstrainSelectedInstOperands,
67236 /* 190047 */ // GIR_Coverage, 23969,
67237 /* 190047 */ GIR_EraseRootFromParent_Done,
67238 /* 190048 */ // Label 4248: @190048
67239 /* 190048 */ GIM_Try, /*On fail goto*//*Label 4249*/ GIMT_Encode4(190110), // Rule ID 2654 //
67240 /* 190053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67241 /* 190056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67242 /* 190060 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67243 /* 190064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67244 /* 190068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67245 /* 190072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67246 /* 190075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67247 /* 190079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67248 /* 190083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67249 /* 190085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67250 /* 190092 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67251 /* 190092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
67252 /* 190095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67253 /* 190097 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67254 /* 190099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67255 /* 190103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67256 /* 190108 */ GIR_RootConstrainSelectedInstOperands,
67257 /* 190109 */ // GIR_Coverage, 2654,
67258 /* 190109 */ GIR_EraseRootFromParent_Done,
67259 /* 190110 */ // Label 4249: @190110
67260 /* 190110 */ GIM_Try, /*On fail goto*//*Label 4250*/ GIMT_Encode4(190172), // Rule ID 5362 //
67261 /* 190115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67262 /* 190118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67263 /* 190122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67264 /* 190126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67265 /* 190130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67266 /* 190134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67267 /* 190137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67268 /* 190141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67269 /* 190145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67270 /* 190147 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67271 /* 190154 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67272 /* 190154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
67273 /* 190157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67274 /* 190159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67275 /* 190161 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67276 /* 190165 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67277 /* 190170 */ GIR_RootConstrainSelectedInstOperands,
67278 /* 190171 */ // GIR_Coverage, 5362,
67279 /* 190171 */ GIR_EraseRootFromParent_Done,
67280 /* 190172 */ // Label 4250: @190172
67281 /* 190172 */ GIM_Try, /*On fail goto*//*Label 4251*/ GIMT_Encode4(190199), // Rule ID 2653 //
67282 /* 190177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67283 /* 190180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67284 /* 190184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67285 /* 190188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67286 /* 190192 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67287 /* 190192 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrr),
67288 /* 190197 */ GIR_RootConstrainSelectedInstOperands,
67289 /* 190198 */ // GIR_Coverage, 2653,
67290 /* 190198 */ GIR_Done,
67291 /* 190199 */ // Label 4251: @190199
67292 /* 190199 */ GIM_Try, /*On fail goto*//*Label 4252*/ GIMT_Encode4(190226), // Rule ID 2655 //
67293 /* 190204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
67294 /* 190207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67295 /* 190211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67296 /* 190215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67297 /* 190219 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67298 /* 190219 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSWrr),
67299 /* 190224 */ GIR_RootConstrainSelectedInstOperands,
67300 /* 190225 */ // GIR_Coverage, 2655,
67301 /* 190225 */ GIR_Done,
67302 /* 190226 */ // Label 4252: @190226
67303 /* 190226 */ GIM_Try, /*On fail goto*//*Label 4253*/ GIMT_Encode4(190253), // Rule ID 5359 //
67304 /* 190231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67305 /* 190234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67306 /* 190238 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67307 /* 190242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67308 /* 190246 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
67309 /* 190246 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rr),
67310 /* 190251 */ GIR_RootConstrainSelectedInstOperands,
67311 /* 190252 */ // GIR_Coverage, 5359,
67312 /* 190252 */ GIR_Done,
67313 /* 190253 */ // Label 4253: @190253
67314 /* 190253 */ GIM_Reject,
67315 /* 190254 */ // Label 4246: @190254
67316 /* 190254 */ GIM_Reject,
67317 /* 190255 */ // Label 4219: @190255
67318 /* 190255 */ GIM_Try, /*On fail goto*//*Label 4254*/ GIMT_Encode4(190569),
67319 /* 190260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
67320 /* 190263 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
67321 /* 190266 */ GIM_Try, /*On fail goto*//*Label 4255*/ GIMT_Encode4(190328), // Rule ID 23545 //
67322 /* 190271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67323 /* 190274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67324 /* 190278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67325 /* 190282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67326 /* 190286 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67327 /* 190289 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67328 /* 190293 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67329 /* 190297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67330 /* 190301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67331 /* 190303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67332 /* 190310 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67333 /* 190310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
67334 /* 190313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67335 /* 190315 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67336 /* 190317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67337 /* 190321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67338 /* 190326 */ GIR_RootConstrainSelectedInstOperands,
67339 /* 190327 */ // GIR_Coverage, 23545,
67340 /* 190327 */ GIR_EraseRootFromParent_Done,
67341 /* 190328 */ // Label 4255: @190328
67342 /* 190328 */ GIM_Try, /*On fail goto*//*Label 4256*/ GIMT_Encode4(190390), // Rule ID 23978 //
67343 /* 190333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67344 /* 190336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67345 /* 190340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67346 /* 190344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67347 /* 190348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67348 /* 190351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67349 /* 190355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67350 /* 190359 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67351 /* 190363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67352 /* 190365 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67353 /* 190372 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67354 /* 190372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
67355 /* 190375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67356 /* 190377 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67357 /* 190379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67358 /* 190383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67359 /* 190388 */ GIR_RootConstrainSelectedInstOperands,
67360 /* 190389 */ // GIR_Coverage, 23978,
67361 /* 190389 */ GIR_EraseRootFromParent_Done,
67362 /* 190390 */ // Label 4256: @190390
67363 /* 190390 */ GIM_Try, /*On fail goto*//*Label 4257*/ GIMT_Encode4(190452), // Rule ID 3207 //
67364 /* 190395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67365 /* 190398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67366 /* 190402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67367 /* 190406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67368 /* 190410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67369 /* 190414 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67370 /* 190417 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67371 /* 190421 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67372 /* 190425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67373 /* 190427 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67374 /* 190434 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67375 /* 190434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
67376 /* 190437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67377 /* 190439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67378 /* 190441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67379 /* 190445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67380 /* 190450 */ GIR_RootConstrainSelectedInstOperands,
67381 /* 190451 */ // GIR_Coverage, 3207,
67382 /* 190451 */ GIR_EraseRootFromParent_Done,
67383 /* 190452 */ // Label 4257: @190452
67384 /* 190452 */ GIM_Try, /*On fail goto*//*Label 4258*/ GIMT_Encode4(190514), // Rule ID 5377 //
67385 /* 190457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67386 /* 190460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67387 /* 190464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67388 /* 190468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67389 /* 190472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67390 /* 190476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67391 /* 190479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67392 /* 190483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67393 /* 190487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67394 /* 190489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67395 /* 190496 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67396 /* 190496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
67397 /* 190499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67398 /* 190501 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67399 /* 190503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67400 /* 190507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67401 /* 190512 */ GIR_RootConstrainSelectedInstOperands,
67402 /* 190513 */ // GIR_Coverage, 5377,
67403 /* 190513 */ GIR_EraseRootFromParent_Done,
67404 /* 190514 */ // Label 4258: @190514
67405 /* 190514 */ GIM_Try, /*On fail goto*//*Label 4259*/ GIMT_Encode4(190541), // Rule ID 3206 //
67406 /* 190519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67407 /* 190522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67408 /* 190526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67409 /* 190530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67410 /* 190534 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
67411 /* 190534 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrr),
67412 /* 190539 */ GIR_RootConstrainSelectedInstOperands,
67413 /* 190540 */ // GIR_Coverage, 3206,
67414 /* 190540 */ GIR_Done,
67415 /* 190541 */ // Label 4259: @190541
67416 /* 190541 */ GIM_Try, /*On fail goto*//*Label 4260*/ GIMT_Encode4(190568), // Rule ID 5374 //
67417 /* 190546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67418 /* 190549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67419 /* 190553 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67420 /* 190557 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67421 /* 190561 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
67422 /* 190561 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rr),
67423 /* 190566 */ GIR_RootConstrainSelectedInstOperands,
67424 /* 190567 */ // GIR_Coverage, 5374,
67425 /* 190567 */ GIR_Done,
67426 /* 190568 */ // Label 4260: @190568
67427 /* 190568 */ GIM_Reject,
67428 /* 190569 */ // Label 4254: @190569
67429 /* 190569 */ GIM_Reject,
67430 /* 190570 */ // Label 4220: @190570
67431 /* 190570 */ GIM_Try, /*On fail goto*//*Label 4261*/ GIMT_Encode4(190725),
67432 /* 190575 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
67433 /* 190578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
67434 /* 190581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67435 /* 190585 */ GIM_Try, /*On fail goto*//*Label 4262*/ GIMT_Encode4(190643), // Rule ID 23990 //
67436 /* 190590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67437 /* 190593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67438 /* 190597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67439 /* 190601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67440 /* 190604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67441 /* 190608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67442 /* 190612 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67443 /* 190616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67444 /* 190618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67445 /* 190625 */ // (smax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67446 /* 190625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
67447 /* 190628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67448 /* 190630 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67449 /* 190632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67450 /* 190636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67451 /* 190641 */ GIR_RootConstrainSelectedInstOperands,
67452 /* 190642 */ // GIR_Coverage, 23990,
67453 /* 190642 */ GIR_EraseRootFromParent_Done,
67454 /* 190643 */ // Label 4262: @190643
67455 /* 190643 */ GIM_Try, /*On fail goto*//*Label 4263*/ GIMT_Encode4(190701), // Rule ID 5395 //
67456 /* 190648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67457 /* 190651 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67458 /* 190655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67459 /* 190659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67460 /* 190663 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67461 /* 190666 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67462 /* 190670 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67463 /* 190674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67464 /* 190676 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67465 /* 190683 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67466 /* 190683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
67467 /* 190686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67468 /* 190688 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67469 /* 190690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67470 /* 190694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67471 /* 190699 */ GIR_RootConstrainSelectedInstOperands,
67472 /* 190700 */ // GIR_Coverage, 5395,
67473 /* 190700 */ GIR_EraseRootFromParent_Done,
67474 /* 190701 */ // Label 4263: @190701
67475 /* 190701 */ GIM_Try, /*On fail goto*//*Label 4264*/ GIMT_Encode4(190724), // Rule ID 5392 //
67476 /* 190706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67477 /* 190709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67478 /* 190713 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67479 /* 190717 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
67480 /* 190717 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
67481 /* 190722 */ GIR_RootConstrainSelectedInstOperands,
67482 /* 190723 */ // GIR_Coverage, 5392,
67483 /* 190723 */ GIR_Done,
67484 /* 190724 */ // Label 4264: @190724
67485 /* 190724 */ GIM_Reject,
67486 /* 190725 */ // Label 4261: @190725
67487 /* 190725 */ GIM_Reject,
67488 /* 190726 */ // Label 4221: @190726
67489 /* 190726 */ GIM_Try, /*On fail goto*//*Label 4265*/ GIMT_Encode4(191067),
67490 /* 190731 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
67491 /* 190734 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
67492 /* 190737 */ GIM_Try, /*On fail goto*//*Label 4266*/ GIMT_Encode4(190799), // Rule ID 23541 //
67493 /* 190742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67494 /* 190745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67495 /* 190749 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67496 /* 190753 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67497 /* 190757 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67498 /* 190760 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67499 /* 190764 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67500 /* 190768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67501 /* 190772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67502 /* 190774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67503 /* 190781 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67504 /* 190781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
67505 /* 190784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67506 /* 190786 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67507 /* 190788 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67508 /* 190792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67509 /* 190797 */ GIR_RootConstrainSelectedInstOperands,
67510 /* 190798 */ // GIR_Coverage, 23541,
67511 /* 190798 */ GIR_EraseRootFromParent_Done,
67512 /* 190799 */ // Label 4266: @190799
67513 /* 190799 */ GIM_Try, /*On fail goto*//*Label 4267*/ GIMT_Encode4(190861), // Rule ID 23960 //
67514 /* 190804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67515 /* 190807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67516 /* 190811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67517 /* 190815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67518 /* 190819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67519 /* 190822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67520 /* 190826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67521 /* 190830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67522 /* 190834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67523 /* 190836 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67524 /* 190843 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67525 /* 190843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
67526 /* 190846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67527 /* 190848 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67528 /* 190850 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67529 /* 190854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67530 /* 190859 */ GIR_RootConstrainSelectedInstOperands,
67531 /* 190860 */ // GIR_Coverage, 23960,
67532 /* 190860 */ GIR_EraseRootFromParent_Done,
67533 /* 190861 */ // Label 4267: @190861
67534 /* 190861 */ GIM_Try, /*On fail goto*//*Label 4268*/ GIMT_Encode4(190923), // Rule ID 3199 //
67535 /* 190866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67536 /* 190869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67537 /* 190873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67538 /* 190877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67539 /* 190881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67540 /* 190885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67541 /* 190888 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67542 /* 190892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67543 /* 190896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67544 /* 190898 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67545 /* 190905 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67546 /* 190905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
67547 /* 190908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67548 /* 190910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67549 /* 190912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67550 /* 190916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67551 /* 190921 */ GIR_RootConstrainSelectedInstOperands,
67552 /* 190922 */ // GIR_Coverage, 3199,
67553 /* 190922 */ GIR_EraseRootFromParent_Done,
67554 /* 190923 */ // Label 4268: @190923
67555 /* 190923 */ GIM_Try, /*On fail goto*//*Label 4269*/ GIMT_Encode4(190985), // Rule ID 5344 //
67556 /* 190928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67557 /* 190931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67558 /* 190935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67559 /* 190939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67560 /* 190943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67561 /* 190947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67562 /* 190950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67563 /* 190954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67564 /* 190958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67565 /* 190960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67566 /* 190967 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67567 /* 190967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
67568 /* 190970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67569 /* 190972 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67570 /* 190974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67571 /* 190978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67572 /* 190983 */ GIR_RootConstrainSelectedInstOperands,
67573 /* 190984 */ // GIR_Coverage, 5344,
67574 /* 190984 */ GIR_EraseRootFromParent_Done,
67575 /* 190985 */ // Label 4269: @190985
67576 /* 190985 */ GIM_Try, /*On fail goto*//*Label 4270*/ GIMT_Encode4(191012), // Rule ID 3198 //
67577 /* 190990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67578 /* 190993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67579 /* 190997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67580 /* 191001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67581 /* 191005 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67582 /* 191005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrr),
67583 /* 191010 */ GIR_RootConstrainSelectedInstOperands,
67584 /* 191011 */ // GIR_Coverage, 3198,
67585 /* 191011 */ GIR_Done,
67586 /* 191012 */ // Label 4270: @191012
67587 /* 191012 */ GIM_Try, /*On fail goto*//*Label 4271*/ GIMT_Encode4(191039), // Rule ID 3228 //
67588 /* 191017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
67589 /* 191020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67590 /* 191024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67591 /* 191028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67592 /* 191032 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67593 /* 191032 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSBrr),
67594 /* 191037 */ GIR_RootConstrainSelectedInstOperands,
67595 /* 191038 */ // GIR_Coverage, 3228,
67596 /* 191038 */ GIR_Done,
67597 /* 191039 */ // Label 4271: @191039
67598 /* 191039 */ GIM_Try, /*On fail goto*//*Label 4272*/ GIMT_Encode4(191066), // Rule ID 5341 //
67599 /* 191044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67600 /* 191047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67601 /* 191051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67602 /* 191055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67603 /* 191059 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
67604 /* 191059 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rr),
67605 /* 191064 */ GIR_RootConstrainSelectedInstOperands,
67606 /* 191065 */ // GIR_Coverage, 5341,
67607 /* 191065 */ GIR_Done,
67608 /* 191066 */ // Label 4272: @191066
67609 /* 191066 */ GIM_Reject,
67610 /* 191067 */ // Label 4265: @191067
67611 /* 191067 */ GIM_Reject,
67612 /* 191068 */ // Label 4222: @191068
67613 /* 191068 */ GIM_Try, /*On fail goto*//*Label 4273*/ GIMT_Encode4(191382),
67614 /* 191073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
67615 /* 191076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
67616 /* 191079 */ GIM_Try, /*On fail goto*//*Label 4274*/ GIMT_Encode4(191141), // Rule ID 23506 //
67617 /* 191084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67618 /* 191087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67619 /* 191091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67620 /* 191095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67621 /* 191099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67622 /* 191102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67623 /* 191106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67624 /* 191110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67625 /* 191114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67626 /* 191116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67627 /* 191123 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67628 /* 191123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
67629 /* 191126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67630 /* 191128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67631 /* 191130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67632 /* 191134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67633 /* 191139 */ GIR_RootConstrainSelectedInstOperands,
67634 /* 191140 */ // GIR_Coverage, 23506,
67635 /* 191140 */ GIR_EraseRootFromParent_Done,
67636 /* 191141 */ // Label 4274: @191141
67637 /* 191141 */ GIM_Try, /*On fail goto*//*Label 4275*/ GIMT_Encode4(191203), // Rule ID 23966 //
67638 /* 191146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67639 /* 191149 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67640 /* 191153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67641 /* 191157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67642 /* 191161 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67643 /* 191164 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67644 /* 191168 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67645 /* 191172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67646 /* 191176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67647 /* 191178 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67648 /* 191185 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67649 /* 191185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
67650 /* 191188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67651 /* 191190 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67652 /* 191192 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67653 /* 191196 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67654 /* 191201 */ GIR_RootConstrainSelectedInstOperands,
67655 /* 191202 */ // GIR_Coverage, 23966,
67656 /* 191202 */ GIR_EraseRootFromParent_Done,
67657 /* 191203 */ // Label 4275: @191203
67658 /* 191203 */ GIM_Try, /*On fail goto*//*Label 4276*/ GIMT_Encode4(191265), // Rule ID 2658 //
67659 /* 191208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67660 /* 191211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67661 /* 191215 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67662 /* 191219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67663 /* 191223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67664 /* 191227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67665 /* 191230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67666 /* 191234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67667 /* 191238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67668 /* 191240 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67669 /* 191247 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67670 /* 191247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
67671 /* 191250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67672 /* 191252 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67673 /* 191254 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67674 /* 191258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67675 /* 191263 */ GIR_RootConstrainSelectedInstOperands,
67676 /* 191264 */ // GIR_Coverage, 2658,
67677 /* 191264 */ GIR_EraseRootFromParent_Done,
67678 /* 191265 */ // Label 4276: @191265
67679 /* 191265 */ GIM_Try, /*On fail goto*//*Label 4277*/ GIMT_Encode4(191327), // Rule ID 5356 //
67680 /* 191270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67681 /* 191273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67682 /* 191277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67683 /* 191281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67684 /* 191285 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67685 /* 191289 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67686 /* 191292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67687 /* 191296 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67688 /* 191300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67689 /* 191302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67690 /* 191309 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67691 /* 191309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
67692 /* 191312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67693 /* 191314 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67694 /* 191316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67695 /* 191320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67696 /* 191325 */ GIR_RootConstrainSelectedInstOperands,
67697 /* 191326 */ // GIR_Coverage, 5356,
67698 /* 191326 */ GIR_EraseRootFromParent_Done,
67699 /* 191327 */ // Label 4277: @191327
67700 /* 191327 */ GIM_Try, /*On fail goto*//*Label 4278*/ GIMT_Encode4(191354), // Rule ID 2657 //
67701 /* 191332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67702 /* 191335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67703 /* 191339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67704 /* 191343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67705 /* 191347 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
67706 /* 191347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrr),
67707 /* 191352 */ GIR_RootConstrainSelectedInstOperands,
67708 /* 191353 */ // GIR_Coverage, 2657,
67709 /* 191353 */ GIR_Done,
67710 /* 191354 */ // Label 4278: @191354
67711 /* 191354 */ GIM_Try, /*On fail goto*//*Label 4279*/ GIMT_Encode4(191381), // Rule ID 5353 //
67712 /* 191359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67713 /* 191362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67714 /* 191366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67715 /* 191370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67716 /* 191374 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
67717 /* 191374 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rr),
67718 /* 191379 */ GIR_RootConstrainSelectedInstOperands,
67719 /* 191380 */ // GIR_Coverage, 5353,
67720 /* 191380 */ GIR_Done,
67721 /* 191381 */ // Label 4279: @191381
67722 /* 191381 */ GIM_Reject,
67723 /* 191382 */ // Label 4273: @191382
67724 /* 191382 */ GIM_Reject,
67725 /* 191383 */ // Label 4223: @191383
67726 /* 191383 */ GIM_Try, /*On fail goto*//*Label 4280*/ GIMT_Encode4(191538),
67727 /* 191388 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
67728 /* 191391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
67729 /* 191394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67730 /* 191398 */ GIM_Try, /*On fail goto*//*Label 4281*/ GIMT_Encode4(191456), // Rule ID 23972 //
67731 /* 191403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67732 /* 191406 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67733 /* 191410 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67734 /* 191414 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67735 /* 191417 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67736 /* 191421 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67737 /* 191425 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67738 /* 191429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67739 /* 191431 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67740 /* 191438 */ // (smax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67741 /* 191438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
67742 /* 191441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67743 /* 191443 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67744 /* 191445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67745 /* 191449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67746 /* 191454 */ GIR_RootConstrainSelectedInstOperands,
67747 /* 191455 */ // GIR_Coverage, 23972,
67748 /* 191455 */ GIR_EraseRootFromParent_Done,
67749 /* 191456 */ // Label 4281: @191456
67750 /* 191456 */ GIM_Try, /*On fail goto*//*Label 4282*/ GIMT_Encode4(191514), // Rule ID 5368 //
67751 /* 191461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67752 /* 191464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67753 /* 191468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67754 /* 191472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67755 /* 191476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67756 /* 191479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67757 /* 191483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67758 /* 191487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67759 /* 191489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67760 /* 191496 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67761 /* 191496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
67762 /* 191499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67763 /* 191501 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67764 /* 191503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67765 /* 191507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67766 /* 191512 */ GIR_RootConstrainSelectedInstOperands,
67767 /* 191513 */ // GIR_Coverage, 5368,
67768 /* 191513 */ GIR_EraseRootFromParent_Done,
67769 /* 191514 */ // Label 4282: @191514
67770 /* 191514 */ GIM_Try, /*On fail goto*//*Label 4283*/ GIMT_Encode4(191537), // Rule ID 5365 //
67771 /* 191519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67772 /* 191522 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67773 /* 191526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67774 /* 191530 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
67775 /* 191530 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrr),
67776 /* 191535 */ GIR_RootConstrainSelectedInstOperands,
67777 /* 191536 */ // GIR_Coverage, 5365,
67778 /* 191536 */ GIR_Done,
67779 /* 191537 */ // Label 4283: @191537
67780 /* 191537 */ GIM_Reject,
67781 /* 191538 */ // Label 4280: @191538
67782 /* 191538 */ GIM_Reject,
67783 /* 191539 */ // Label 4224: @191539
67784 /* 191539 */ GIM_Try, /*On fail goto*//*Label 4284*/ GIMT_Encode4(191853),
67785 /* 191544 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
67786 /* 191547 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
67787 /* 191550 */ GIM_Try, /*On fail goto*//*Label 4285*/ GIMT_Encode4(191612), // Rule ID 23550 //
67788 /* 191555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67789 /* 191558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67790 /* 191562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67791 /* 191566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67792 /* 191570 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67793 /* 191573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67794 /* 191577 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67795 /* 191581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67796 /* 191585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67797 /* 191587 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67798 /* 191594 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67799 /* 191594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
67800 /* 191597 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67801 /* 191599 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67802 /* 191601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67803 /* 191605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67804 /* 191610 */ GIR_RootConstrainSelectedInstOperands,
67805 /* 191611 */ // GIR_Coverage, 23550,
67806 /* 191611 */ GIR_EraseRootFromParent_Done,
67807 /* 191612 */ // Label 4285: @191612
67808 /* 191612 */ GIM_Try, /*On fail goto*//*Label 4286*/ GIMT_Encode4(191674), // Rule ID 23957 //
67809 /* 191617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67810 /* 191620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67811 /* 191624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67812 /* 191628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67813 /* 191632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67814 /* 191635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67815 /* 191639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67816 /* 191643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67817 /* 191647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67818 /* 191649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67819 /* 191656 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67820 /* 191656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
67821 /* 191659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67822 /* 191661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67823 /* 191663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67824 /* 191667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67825 /* 191672 */ GIR_RootConstrainSelectedInstOperands,
67826 /* 191673 */ // GIR_Coverage, 23957,
67827 /* 191673 */ GIR_EraseRootFromParent_Done,
67828 /* 191674 */ // Label 4286: @191674
67829 /* 191674 */ GIM_Try, /*On fail goto*//*Label 4287*/ GIMT_Encode4(191736), // Rule ID 3217 //
67830 /* 191679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67831 /* 191682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67832 /* 191686 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67833 /* 191690 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67834 /* 191694 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67835 /* 191698 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67836 /* 191701 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67837 /* 191705 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67838 /* 191709 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67839 /* 191711 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67840 /* 191718 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67841 /* 191718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
67842 /* 191721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67843 /* 191723 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67844 /* 191725 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67845 /* 191729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67846 /* 191734 */ GIR_RootConstrainSelectedInstOperands,
67847 /* 191735 */ // GIR_Coverage, 3217,
67848 /* 191735 */ GIR_EraseRootFromParent_Done,
67849 /* 191736 */ // Label 4287: @191736
67850 /* 191736 */ GIM_Try, /*On fail goto*//*Label 4288*/ GIMT_Encode4(191798), // Rule ID 5338 //
67851 /* 191741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67852 /* 191744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67853 /* 191748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67854 /* 191752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67855 /* 191756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67856 /* 191760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67857 /* 191763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67858 /* 191767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67859 /* 191771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67860 /* 191773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67861 /* 191780 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67862 /* 191780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
67863 /* 191783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67864 /* 191785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67865 /* 191787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67866 /* 191791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67867 /* 191796 */ GIR_RootConstrainSelectedInstOperands,
67868 /* 191797 */ // GIR_Coverage, 5338,
67869 /* 191797 */ GIR_EraseRootFromParent_Done,
67870 /* 191798 */ // Label 4288: @191798
67871 /* 191798 */ GIM_Try, /*On fail goto*//*Label 4289*/ GIMT_Encode4(191825), // Rule ID 3216 //
67872 /* 191803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67873 /* 191806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67874 /* 191810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67875 /* 191814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67876 /* 191818 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
67877 /* 191818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrr),
67878 /* 191823 */ GIR_RootConstrainSelectedInstOperands,
67879 /* 191824 */ // GIR_Coverage, 3216,
67880 /* 191824 */ GIR_Done,
67881 /* 191825 */ // Label 4289: @191825
67882 /* 191825 */ GIM_Try, /*On fail goto*//*Label 4290*/ GIMT_Encode4(191852), // Rule ID 5335 //
67883 /* 191830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67884 /* 191833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67885 /* 191837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67886 /* 191841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67887 /* 191845 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
67888 /* 191845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rr),
67889 /* 191850 */ GIR_RootConstrainSelectedInstOperands,
67890 /* 191851 */ // GIR_Coverage, 5335,
67891 /* 191851 */ GIR_Done,
67892 /* 191852 */ // Label 4290: @191852
67893 /* 191852 */ GIM_Reject,
67894 /* 191853 */ // Label 4284: @191853
67895 /* 191853 */ GIM_Reject,
67896 /* 191854 */ // Label 4225: @191854
67897 /* 191854 */ GIM_Try, /*On fail goto*//*Label 4291*/ GIMT_Encode4(192009),
67898 /* 191859 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
67899 /* 191862 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
67900 /* 191865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67901 /* 191869 */ GIM_Try, /*On fail goto*//*Label 4292*/ GIMT_Encode4(191927), // Rule ID 23963 //
67902 /* 191874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67903 /* 191877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67904 /* 191881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67905 /* 191885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67906 /* 191888 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67907 /* 191892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67908 /* 191896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67909 /* 191900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67910 /* 191902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67911 /* 191909 */ // (smax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67912 /* 191909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
67913 /* 191912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67914 /* 191914 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67915 /* 191916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67916 /* 191920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67917 /* 191925 */ GIR_RootConstrainSelectedInstOperands,
67918 /* 191926 */ // GIR_Coverage, 23963,
67919 /* 191926 */ GIR_EraseRootFromParent_Done,
67920 /* 191927 */ // Label 4292: @191927
67921 /* 191927 */ GIM_Try, /*On fail goto*//*Label 4293*/ GIMT_Encode4(191985), // Rule ID 5350 //
67922 /* 191932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67923 /* 191935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67924 /* 191939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67925 /* 191943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67926 /* 191947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67927 /* 191950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67928 /* 191954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67929 /* 191958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67930 /* 191960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67931 /* 191967 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67932 /* 191967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
67933 /* 191970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67934 /* 191972 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67935 /* 191974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67936 /* 191978 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67937 /* 191983 */ GIR_RootConstrainSelectedInstOperands,
67938 /* 191984 */ // GIR_Coverage, 5350,
67939 /* 191984 */ GIR_EraseRootFromParent_Done,
67940 /* 191985 */ // Label 4293: @191985
67941 /* 191985 */ GIM_Try, /*On fail goto*//*Label 4294*/ GIMT_Encode4(192008), // Rule ID 5347 //
67942 /* 191990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67943 /* 191993 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67944 /* 191997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67945 /* 192001 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
67946 /* 192001 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrr),
67947 /* 192006 */ GIR_RootConstrainSelectedInstOperands,
67948 /* 192007 */ // GIR_Coverage, 5347,
67949 /* 192007 */ GIR_Done,
67950 /* 192008 */ // Label 4294: @192008
67951 /* 192008 */ GIM_Reject,
67952 /* 192009 */ // Label 4291: @192009
67953 /* 192009 */ GIM_Reject,
67954 /* 192010 */ // Label 4226: @192010
67955 /* 192010 */ GIM_Try, /*On fail goto*//*Label 4295*/ GIMT_Encode4(192165),
67956 /* 192015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
67957 /* 192018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
67958 /* 192021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67959 /* 192025 */ GIM_Try, /*On fail goto*//*Label 4296*/ GIMT_Encode4(192083), // Rule ID 23954 //
67960 /* 192030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67961 /* 192033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67962 /* 192037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67963 /* 192041 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67964 /* 192044 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67965 /* 192048 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67966 /* 192052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67967 /* 192056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67968 /* 192058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67969 /* 192065 */ // (smax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67970 /* 192065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
67971 /* 192068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67972 /* 192070 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67973 /* 192072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67974 /* 192076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67975 /* 192081 */ GIR_RootConstrainSelectedInstOperands,
67976 /* 192082 */ // GIR_Coverage, 23954,
67977 /* 192082 */ GIR_EraseRootFromParent_Done,
67978 /* 192083 */ // Label 4296: @192083
67979 /* 192083 */ GIM_Try, /*On fail goto*//*Label 4297*/ GIMT_Encode4(192141), // Rule ID 5332 //
67980 /* 192088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67981 /* 192091 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67982 /* 192095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67983 /* 192099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67984 /* 192103 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67985 /* 192106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67986 /* 192110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67987 /* 192114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67988 /* 192116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67989 /* 192123 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67990 /* 192123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
67991 /* 192126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67992 /* 192128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67993 /* 192130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67994 /* 192134 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67995 /* 192139 */ GIR_RootConstrainSelectedInstOperands,
67996 /* 192140 */ // GIR_Coverage, 5332,
67997 /* 192140 */ GIR_EraseRootFromParent_Done,
67998 /* 192141 */ // Label 4297: @192141
67999 /* 192141 */ GIM_Try, /*On fail goto*//*Label 4298*/ GIMT_Encode4(192164), // Rule ID 5329 //
68000 /* 192146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68001 /* 192149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68002 /* 192153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68003 /* 192157 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
68004 /* 192157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrr),
68005 /* 192162 */ GIR_RootConstrainSelectedInstOperands,
68006 /* 192163 */ // GIR_Coverage, 5329,
68007 /* 192163 */ GIR_Done,
68008 /* 192164 */ // Label 4298: @192164
68009 /* 192164 */ GIM_Reject,
68010 /* 192165 */ // Label 4295: @192165
68011 /* 192165 */ GIM_Reject,
68012 /* 192166 */ // Label 4227: @192166
68013 /* 192166 */ GIM_Reject,
68014 /* 192167 */ // Label 57: @192167
68015 /* 192167 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4311*/ GIMT_Encode4(195487),
68016 /* 192178 */ /*GILLT_v2s64*//*Label 4299*/ GIMT_Encode4(192246), GIMT_Encode4(0),
68017 /* 192186 */ /*GILLT_v4s32*//*Label 4300*/ GIMT_Encode4(192575),
68018 /* 192190 */ /*GILLT_v4s64*//*Label 4301*/ GIMT_Encode4(192917), GIMT_Encode4(0),
68019 /* 192198 */ /*GILLT_v8s16*//*Label 4302*/ GIMT_Encode4(193234),
68020 /* 192202 */ /*GILLT_v8s32*//*Label 4303*/ GIMT_Encode4(193576),
68021 /* 192206 */ /*GILLT_v8s64*//*Label 4304*/ GIMT_Encode4(193891), GIMT_Encode4(0),
68022 /* 192214 */ /*GILLT_v16s8*//*Label 4305*/ GIMT_Encode4(194047),
68023 /* 192218 */ /*GILLT_v16s16*//*Label 4306*/ GIMT_Encode4(194389),
68024 /* 192222 */ /*GILLT_v16s32*//*Label 4307*/ GIMT_Encode4(194704), GIMT_Encode4(0),
68025 /* 192230 */ /*GILLT_v32s8*//*Label 4308*/ GIMT_Encode4(194860),
68026 /* 192234 */ /*GILLT_v32s16*//*Label 4309*/ GIMT_Encode4(195175), GIMT_Encode4(0),
68027 /* 192242 */ /*GILLT_v64s8*//*Label 4310*/ GIMT_Encode4(195331),
68028 /* 192246 */ // Label 4299: @192246
68029 /* 192246 */ GIM_Try, /*On fail goto*//*Label 4312*/ GIMT_Encode4(192574),
68030 /* 192251 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
68031 /* 192254 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
68032 /* 192257 */ GIM_Try, /*On fail goto*//*Label 4313*/ GIMT_Encode4(192319), // Rule ID 24164 //
68033 /* 192262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68034 /* 192265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68035 /* 192269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68036 /* 192273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68037 /* 192277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68038 /* 192280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68039 /* 192284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68040 /* 192288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68041 /* 192292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68042 /* 192294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68043 /* 192301 */ // (umin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68044 /* 192301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
68045 /* 192304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68046 /* 192306 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68047 /* 192308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68048 /* 192312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68049 /* 192317 */ GIR_RootConstrainSelectedInstOperands,
68050 /* 192318 */ // GIR_Coverage, 24164,
68051 /* 192318 */ GIR_EraseRootFromParent_Done,
68052 /* 192319 */ // Label 4313: @192319
68053 /* 192319 */ GIM_Try, /*On fail goto*//*Label 4314*/ GIMT_Encode4(192381), // Rule ID 5683 //
68054 /* 192324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68055 /* 192327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68056 /* 192331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68057 /* 192335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68058 /* 192339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68059 /* 192343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68060 /* 192346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68061 /* 192350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68062 /* 192354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68063 /* 192356 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68064 /* 192363 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68065 /* 192363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
68066 /* 192366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68067 /* 192368 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68068 /* 192370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68069 /* 192374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68070 /* 192379 */ GIR_RootConstrainSelectedInstOperands,
68071 /* 192380 */ // GIR_Coverage, 5683,
68072 /* 192380 */ GIR_EraseRootFromParent_Done,
68073 /* 192381 */ // Label 4314: @192381
68074 /* 192381 */ GIM_Try, /*On fail goto*//*Label 4315*/ GIMT_Encode4(192408), // Rule ID 5680 //
68075 /* 192386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68076 /* 192389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68077 /* 192393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68078 /* 192397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68079 /* 192401 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
68080 /* 192401 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rr),
68081 /* 192406 */ GIR_RootConstrainSelectedInstOperands,
68082 /* 192407 */ // GIR_Coverage, 5680,
68083 /* 192407 */ GIR_Done,
68084 /* 192408 */ // Label 4315: @192408
68085 /* 192408 */ GIM_Try, /*On fail goto*//*Label 4316*/ GIMT_Encode4(192573), // Rule ID 20014 //
68086 /* 192413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
68087 /* 192416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
68088 /* 192420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68089 /* 192424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68090 /* 192428 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPMINUQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
68091 /* 192428 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
68092 /* 192431 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68093 /* 192435 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68094 /* 192440 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
68095 /* 192442 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
68096 /* 192445 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68097 /* 192449 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68098 /* 192454 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
68099 /* 192457 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
68100 /* 192461 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
68101 /* 192464 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68102 /* 192469 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68103 /* 192474 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
68104 /* 192479 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68105 /* 192482 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68106 /* 192486 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68107 /* 192491 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68108 /* 192493 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68109 /* 192496 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68110 /* 192500 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68111 /* 192505 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68112 /* 192508 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68113 /* 192512 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
68114 /* 192515 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68115 /* 192520 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68116 /* 192525 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
68117 /* 192530 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68118 /* 192533 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
68119 /* 192537 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68120 /* 192542 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68121 /* 192545 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
68122 /* 192548 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68123 /* 192550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68124 /* 192553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68125 /* 192555 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
68126 /* 192562 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
68127 /* 192567 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68128 /* 192572 */ // GIR_Coverage, 20014,
68129 /* 192572 */ GIR_EraseRootFromParent_Done,
68130 /* 192573 */ // Label 4316: @192573
68131 /* 192573 */ GIM_Reject,
68132 /* 192574 */ // Label 4312: @192574
68133 /* 192574 */ GIM_Reject,
68134 /* 192575 */ // Label 4300: @192575
68135 /* 192575 */ GIM_Try, /*On fail goto*//*Label 4317*/ GIMT_Encode4(192916),
68136 /* 192580 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
68137 /* 192583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
68138 /* 192586 */ GIM_Try, /*On fail goto*//*Label 4318*/ GIMT_Encode4(192648), // Rule ID 23535 //
68139 /* 192591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68140 /* 192594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68141 /* 192598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68142 /* 192602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68143 /* 192606 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68144 /* 192609 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68145 /* 192613 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68146 /* 192617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68147 /* 192621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68148 /* 192623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68149 /* 192630 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68150 /* 192630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
68151 /* 192633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68152 /* 192635 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68153 /* 192637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68154 /* 192641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68155 /* 192646 */ GIR_RootConstrainSelectedInstOperands,
68156 /* 192647 */ // GIR_Coverage, 23535,
68157 /* 192647 */ GIR_EraseRootFromParent_Done,
68158 /* 192648 */ // Label 4318: @192648
68159 /* 192648 */ GIM_Try, /*On fail goto*//*Label 4319*/ GIMT_Encode4(192710), // Rule ID 24146 //
68160 /* 192653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68161 /* 192656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68162 /* 192660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68163 /* 192664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68164 /* 192668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68165 /* 192671 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68166 /* 192675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68167 /* 192679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68168 /* 192683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68169 /* 192685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68170 /* 192692 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68171 /* 192692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
68172 /* 192695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68173 /* 192697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68174 /* 192699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68175 /* 192703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68176 /* 192708 */ GIR_RootConstrainSelectedInstOperands,
68177 /* 192709 */ // GIR_Coverage, 24146,
68178 /* 192709 */ GIR_EraseRootFromParent_Done,
68179 /* 192710 */ // Label 4319: @192710
68180 /* 192710 */ GIM_Try, /*On fail goto*//*Label 4320*/ GIMT_Encode4(192772), // Rule ID 3187 //
68181 /* 192715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68182 /* 192718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68183 /* 192722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68184 /* 192726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68185 /* 192730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68186 /* 192734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68187 /* 192737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68188 /* 192741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68189 /* 192745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68190 /* 192747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68191 /* 192754 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68192 /* 192754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
68193 /* 192757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68194 /* 192759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68195 /* 192761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68196 /* 192765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68197 /* 192770 */ GIR_RootConstrainSelectedInstOperands,
68198 /* 192771 */ // GIR_Coverage, 3187,
68199 /* 192771 */ GIR_EraseRootFromParent_Done,
68200 /* 192772 */ // Label 4320: @192772
68201 /* 192772 */ GIM_Try, /*On fail goto*//*Label 4321*/ GIMT_Encode4(192834), // Rule ID 5656 //
68202 /* 192777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68203 /* 192780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68204 /* 192784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68205 /* 192788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68206 /* 192792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68207 /* 192796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68208 /* 192799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68209 /* 192803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68210 /* 192807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68211 /* 192809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68212 /* 192816 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68213 /* 192816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
68214 /* 192819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68215 /* 192821 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68216 /* 192823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68217 /* 192827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68218 /* 192832 */ GIR_RootConstrainSelectedInstOperands,
68219 /* 192833 */ // GIR_Coverage, 5656,
68220 /* 192833 */ GIR_EraseRootFromParent_Done,
68221 /* 192834 */ // Label 4321: @192834
68222 /* 192834 */ GIM_Try, /*On fail goto*//*Label 4322*/ GIMT_Encode4(192861), // Rule ID 3186 //
68223 /* 192839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68224 /* 192842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68225 /* 192846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68226 /* 192850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68227 /* 192854 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68228 /* 192854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDrr),
68229 /* 192859 */ GIR_RootConstrainSelectedInstOperands,
68230 /* 192860 */ // GIR_Coverage, 3186,
68231 /* 192860 */ GIR_Done,
68232 /* 192861 */ // Label 4322: @192861
68233 /* 192861 */ GIM_Try, /*On fail goto*//*Label 4323*/ GIMT_Encode4(192888), // Rule ID 3224 //
68234 /* 192866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68235 /* 192869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68236 /* 192873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68237 /* 192877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68238 /* 192881 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68239 /* 192881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUDrr),
68240 /* 192886 */ GIR_RootConstrainSelectedInstOperands,
68241 /* 192887 */ // GIR_Coverage, 3224,
68242 /* 192887 */ GIR_Done,
68243 /* 192888 */ // Label 4323: @192888
68244 /* 192888 */ GIM_Try, /*On fail goto*//*Label 4324*/ GIMT_Encode4(192915), // Rule ID 5653 //
68245 /* 192893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68246 /* 192896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68247 /* 192900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68248 /* 192904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68249 /* 192908 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
68250 /* 192908 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rr),
68251 /* 192913 */ GIR_RootConstrainSelectedInstOperands,
68252 /* 192914 */ // GIR_Coverage, 5653,
68253 /* 192914 */ GIR_Done,
68254 /* 192915 */ // Label 4324: @192915
68255 /* 192915 */ GIM_Reject,
68256 /* 192916 */ // Label 4317: @192916
68257 /* 192916 */ GIM_Reject,
68258 /* 192917 */ // Label 4301: @192917
68259 /* 192917 */ GIM_Try, /*On fail goto*//*Label 4325*/ GIMT_Encode4(193233),
68260 /* 192922 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
68261 /* 192925 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
68262 /* 192928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68263 /* 192932 */ GIM_Try, /*On fail goto*//*Label 4326*/ GIMT_Encode4(192990), // Rule ID 24158 //
68264 /* 192937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68265 /* 192940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68266 /* 192944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68267 /* 192948 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68268 /* 192951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68269 /* 192955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68270 /* 192959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68271 /* 192963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68272 /* 192965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68273 /* 192972 */ // (umin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68274 /* 192972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
68275 /* 192975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68276 /* 192977 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68277 /* 192979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68278 /* 192983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68279 /* 192988 */ GIR_RootConstrainSelectedInstOperands,
68280 /* 192989 */ // GIR_Coverage, 24158,
68281 /* 192989 */ GIR_EraseRootFromParent_Done,
68282 /* 192990 */ // Label 4326: @192990
68283 /* 192990 */ GIM_Try, /*On fail goto*//*Label 4327*/ GIMT_Encode4(193048), // Rule ID 5674 //
68284 /* 192995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68285 /* 192998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68286 /* 193002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68287 /* 193006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68288 /* 193010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68289 /* 193013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68290 /* 193017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68291 /* 193021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68292 /* 193023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68293 /* 193030 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68294 /* 193030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
68295 /* 193033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68296 /* 193035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68297 /* 193037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68298 /* 193041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68299 /* 193046 */ GIR_RootConstrainSelectedInstOperands,
68300 /* 193047 */ // GIR_Coverage, 5674,
68301 /* 193047 */ GIR_EraseRootFromParent_Done,
68302 /* 193048 */ // Label 4327: @193048
68303 /* 193048 */ GIM_Try, /*On fail goto*//*Label 4328*/ GIMT_Encode4(193071), // Rule ID 5671 //
68304 /* 193053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68305 /* 193056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68306 /* 193060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68307 /* 193064 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
68308 /* 193064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rr),
68309 /* 193069 */ GIR_RootConstrainSelectedInstOperands,
68310 /* 193070 */ // GIR_Coverage, 5671,
68311 /* 193070 */ GIR_Done,
68312 /* 193071 */ // Label 4328: @193071
68313 /* 193071 */ GIM_Try, /*On fail goto*//*Label 4329*/ GIMT_Encode4(193232), // Rule ID 20012 //
68314 /* 193076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
68315 /* 193079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68316 /* 193083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68317 /* 193087 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPMINUQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
68318 /* 193087 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
68319 /* 193090 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68320 /* 193094 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68321 /* 193099 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
68322 /* 193101 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
68323 /* 193104 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68324 /* 193108 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68325 /* 193113 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
68326 /* 193116 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
68327 /* 193120 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
68328 /* 193123 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68329 /* 193128 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68330 /* 193133 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68331 /* 193138 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68332 /* 193141 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68333 /* 193145 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68334 /* 193150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68335 /* 193152 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68336 /* 193155 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68337 /* 193159 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68338 /* 193164 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68339 /* 193167 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68340 /* 193171 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
68341 /* 193174 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68342 /* 193179 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68343 /* 193184 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68344 /* 193189 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68345 /* 193192 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
68346 /* 193196 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68347 /* 193201 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68348 /* 193204 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
68349 /* 193207 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68350 /* 193209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68351 /* 193212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68352 /* 193214 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
68353 /* 193221 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
68354 /* 193226 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68355 /* 193231 */ // GIR_Coverage, 20012,
68356 /* 193231 */ GIR_EraseRootFromParent_Done,
68357 /* 193232 */ // Label 4329: @193232
68358 /* 193232 */ GIM_Reject,
68359 /* 193233 */ // Label 4325: @193233
68360 /* 193233 */ GIM_Reject,
68361 /* 193234 */ // Label 4302: @193234
68362 /* 193234 */ GIM_Try, /*On fail goto*//*Label 4330*/ GIMT_Encode4(193575),
68363 /* 193239 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
68364 /* 193242 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
68365 /* 193245 */ GIM_Try, /*On fail goto*//*Label 4331*/ GIMT_Encode4(193307), // Rule ID 23540 //
68366 /* 193250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68367 /* 193253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68368 /* 193257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68369 /* 193261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68370 /* 193265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68371 /* 193268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68372 /* 193272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68373 /* 193276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68374 /* 193280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68375 /* 193282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68376 /* 193289 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68377 /* 193289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
68378 /* 193292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68379 /* 193294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68380 /* 193296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68381 /* 193300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68382 /* 193305 */ GIR_RootConstrainSelectedInstOperands,
68383 /* 193306 */ // GIR_Coverage, 23540,
68384 /* 193306 */ GIR_EraseRootFromParent_Done,
68385 /* 193307 */ // Label 4331: @193307
68386 /* 193307 */ GIM_Try, /*On fail goto*//*Label 4332*/ GIMT_Encode4(193369), // Rule ID 24131 //
68387 /* 193312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68388 /* 193315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68389 /* 193319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68390 /* 193323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68391 /* 193327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68392 /* 193330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68393 /* 193334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68394 /* 193338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68395 /* 193342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68396 /* 193344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68397 /* 193351 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68398 /* 193351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
68399 /* 193354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68400 /* 193356 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68401 /* 193358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68402 /* 193362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68403 /* 193367 */ GIR_RootConstrainSelectedInstOperands,
68404 /* 193368 */ // GIR_Coverage, 24131,
68405 /* 193368 */ GIR_EraseRootFromParent_Done,
68406 /* 193369 */ // Label 4332: @193369
68407 /* 193369 */ GIM_Try, /*On fail goto*//*Label 4333*/ GIMT_Encode4(193431), // Rule ID 3197 //
68408 /* 193374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68409 /* 193377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68410 /* 193381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68411 /* 193385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68412 /* 193389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68413 /* 193393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68414 /* 193396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68415 /* 193400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68416 /* 193404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68417 /* 193406 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68418 /* 193413 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68419 /* 193413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
68420 /* 193416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68421 /* 193418 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68422 /* 193420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68423 /* 193424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68424 /* 193429 */ GIR_RootConstrainSelectedInstOperands,
68425 /* 193430 */ // GIR_Coverage, 3197,
68426 /* 193430 */ GIR_EraseRootFromParent_Done,
68427 /* 193431 */ // Label 4333: @193431
68428 /* 193431 */ GIM_Try, /*On fail goto*//*Label 4334*/ GIMT_Encode4(193493), // Rule ID 5632 //
68429 /* 193436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68430 /* 193439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68431 /* 193443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68432 /* 193447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68433 /* 193451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68434 /* 193455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68435 /* 193458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68436 /* 193462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68437 /* 193466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68438 /* 193468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68439 /* 193475 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68440 /* 193475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
68441 /* 193478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68442 /* 193480 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68443 /* 193482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68444 /* 193486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68445 /* 193491 */ GIR_RootConstrainSelectedInstOperands,
68446 /* 193492 */ // GIR_Coverage, 5632,
68447 /* 193492 */ GIR_EraseRootFromParent_Done,
68448 /* 193493 */ // Label 4334: @193493
68449 /* 193493 */ GIM_Try, /*On fail goto*//*Label 4335*/ GIMT_Encode4(193520), // Rule ID 3196 //
68450 /* 193498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68451 /* 193501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68452 /* 193505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68453 /* 193509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68454 /* 193513 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68455 /* 193513 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWrr),
68456 /* 193518 */ GIR_RootConstrainSelectedInstOperands,
68457 /* 193519 */ // GIR_Coverage, 3196,
68458 /* 193519 */ GIR_Done,
68459 /* 193520 */ // Label 4335: @193520
68460 /* 193520 */ GIM_Try, /*On fail goto*//*Label 4336*/ GIMT_Encode4(193547), // Rule ID 3226 //
68461 /* 193525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68462 /* 193528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68463 /* 193532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68464 /* 193536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68465 /* 193540 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68466 /* 193540 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUWrr),
68467 /* 193545 */ GIR_RootConstrainSelectedInstOperands,
68468 /* 193546 */ // GIR_Coverage, 3226,
68469 /* 193546 */ GIR_Done,
68470 /* 193547 */ // Label 4336: @193547
68471 /* 193547 */ GIM_Try, /*On fail goto*//*Label 4337*/ GIMT_Encode4(193574), // Rule ID 5629 //
68472 /* 193552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68473 /* 193555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68474 /* 193559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68475 /* 193563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68476 /* 193567 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
68477 /* 193567 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rr),
68478 /* 193572 */ GIR_RootConstrainSelectedInstOperands,
68479 /* 193573 */ // GIR_Coverage, 5629,
68480 /* 193573 */ GIR_Done,
68481 /* 193574 */ // Label 4337: @193574
68482 /* 193574 */ GIM_Reject,
68483 /* 193575 */ // Label 4330: @193575
68484 /* 193575 */ GIM_Reject,
68485 /* 193576 */ // Label 4303: @193576
68486 /* 193576 */ GIM_Try, /*On fail goto*//*Label 4338*/ GIMT_Encode4(193890),
68487 /* 193581 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
68488 /* 193584 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
68489 /* 193587 */ GIM_Try, /*On fail goto*//*Label 4339*/ GIMT_Encode4(193649), // Rule ID 23544 //
68490 /* 193592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68491 /* 193595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68492 /* 193599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68493 /* 193603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68494 /* 193607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68495 /* 193610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68496 /* 193614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68497 /* 193618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68498 /* 193622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68499 /* 193624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68500 /* 193631 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68501 /* 193631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
68502 /* 193634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68503 /* 193636 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68504 /* 193638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68505 /* 193642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68506 /* 193647 */ GIR_RootConstrainSelectedInstOperands,
68507 /* 193648 */ // GIR_Coverage, 23544,
68508 /* 193648 */ GIR_EraseRootFromParent_Done,
68509 /* 193649 */ // Label 4339: @193649
68510 /* 193649 */ GIM_Try, /*On fail goto*//*Label 4340*/ GIMT_Encode4(193711), // Rule ID 24140 //
68511 /* 193654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68512 /* 193657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68513 /* 193661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68514 /* 193665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68515 /* 193669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68516 /* 193672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68517 /* 193676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68518 /* 193680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68519 /* 193684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68520 /* 193686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68521 /* 193693 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68522 /* 193693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
68523 /* 193696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68524 /* 193698 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68525 /* 193700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68526 /* 193704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68527 /* 193709 */ GIR_RootConstrainSelectedInstOperands,
68528 /* 193710 */ // GIR_Coverage, 24140,
68529 /* 193710 */ GIR_EraseRootFromParent_Done,
68530 /* 193711 */ // Label 4340: @193711
68531 /* 193711 */ GIM_Try, /*On fail goto*//*Label 4341*/ GIMT_Encode4(193773), // Rule ID 3205 //
68532 /* 193716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68533 /* 193719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68534 /* 193723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68535 /* 193727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68536 /* 193731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68537 /* 193735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68538 /* 193738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68539 /* 193742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68540 /* 193746 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68541 /* 193748 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68542 /* 193755 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68543 /* 193755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
68544 /* 193758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68545 /* 193760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68546 /* 193762 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68547 /* 193766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68548 /* 193771 */ GIR_RootConstrainSelectedInstOperands,
68549 /* 193772 */ // GIR_Coverage, 3205,
68550 /* 193772 */ GIR_EraseRootFromParent_Done,
68551 /* 193773 */ // Label 4341: @193773
68552 /* 193773 */ GIM_Try, /*On fail goto*//*Label 4342*/ GIMT_Encode4(193835), // Rule ID 5647 //
68553 /* 193778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68554 /* 193781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68555 /* 193785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68556 /* 193789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68557 /* 193793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68558 /* 193797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68559 /* 193800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68560 /* 193804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68561 /* 193808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68562 /* 193810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68563 /* 193817 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68564 /* 193817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
68565 /* 193820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68566 /* 193822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68567 /* 193824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68568 /* 193828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68569 /* 193833 */ GIR_RootConstrainSelectedInstOperands,
68570 /* 193834 */ // GIR_Coverage, 5647,
68571 /* 193834 */ GIR_EraseRootFromParent_Done,
68572 /* 193835 */ // Label 4342: @193835
68573 /* 193835 */ GIM_Try, /*On fail goto*//*Label 4343*/ GIMT_Encode4(193862), // Rule ID 3204 //
68574 /* 193840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68575 /* 193843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68576 /* 193847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68577 /* 193851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68578 /* 193855 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
68579 /* 193855 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrr),
68580 /* 193860 */ GIR_RootConstrainSelectedInstOperands,
68581 /* 193861 */ // GIR_Coverage, 3204,
68582 /* 193861 */ GIR_Done,
68583 /* 193862 */ // Label 4343: @193862
68584 /* 193862 */ GIM_Try, /*On fail goto*//*Label 4344*/ GIMT_Encode4(193889), // Rule ID 5644 //
68585 /* 193867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68586 /* 193870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68587 /* 193874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68588 /* 193878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68589 /* 193882 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
68590 /* 193882 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rr),
68591 /* 193887 */ GIR_RootConstrainSelectedInstOperands,
68592 /* 193888 */ // GIR_Coverage, 5644,
68593 /* 193888 */ GIR_Done,
68594 /* 193889 */ // Label 4344: @193889
68595 /* 193889 */ GIM_Reject,
68596 /* 193890 */ // Label 4338: @193890
68597 /* 193890 */ GIM_Reject,
68598 /* 193891 */ // Label 4304: @193891
68599 /* 193891 */ GIM_Try, /*On fail goto*//*Label 4345*/ GIMT_Encode4(194046),
68600 /* 193896 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
68601 /* 193899 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
68602 /* 193902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68603 /* 193906 */ GIM_Try, /*On fail goto*//*Label 4346*/ GIMT_Encode4(193964), // Rule ID 24152 //
68604 /* 193911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68605 /* 193914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68606 /* 193918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68607 /* 193922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68608 /* 193925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68609 /* 193929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68610 /* 193933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68611 /* 193937 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68612 /* 193939 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68613 /* 193946 */ // (umin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68614 /* 193946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
68615 /* 193949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68616 /* 193951 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68617 /* 193953 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68618 /* 193957 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68619 /* 193962 */ GIR_RootConstrainSelectedInstOperands,
68620 /* 193963 */ // GIR_Coverage, 24152,
68621 /* 193963 */ GIR_EraseRootFromParent_Done,
68622 /* 193964 */ // Label 4346: @193964
68623 /* 193964 */ GIM_Try, /*On fail goto*//*Label 4347*/ GIMT_Encode4(194022), // Rule ID 5665 //
68624 /* 193969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68625 /* 193972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68626 /* 193976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68627 /* 193980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68628 /* 193984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68629 /* 193987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68630 /* 193991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68631 /* 193995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68632 /* 193997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68633 /* 194004 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68634 /* 194004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
68635 /* 194007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68636 /* 194009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68637 /* 194011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68638 /* 194015 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68639 /* 194020 */ GIR_RootConstrainSelectedInstOperands,
68640 /* 194021 */ // GIR_Coverage, 5665,
68641 /* 194021 */ GIR_EraseRootFromParent_Done,
68642 /* 194022 */ // Label 4347: @194022
68643 /* 194022 */ GIM_Try, /*On fail goto*//*Label 4348*/ GIMT_Encode4(194045), // Rule ID 5662 //
68644 /* 194027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68645 /* 194030 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68646 /* 194034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68647 /* 194038 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
68648 /* 194038 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
68649 /* 194043 */ GIR_RootConstrainSelectedInstOperands,
68650 /* 194044 */ // GIR_Coverage, 5662,
68651 /* 194044 */ GIR_Done,
68652 /* 194045 */ // Label 4348: @194045
68653 /* 194045 */ GIM_Reject,
68654 /* 194046 */ // Label 4345: @194046
68655 /* 194046 */ GIM_Reject,
68656 /* 194047 */ // Label 4305: @194047
68657 /* 194047 */ GIM_Try, /*On fail goto*//*Label 4349*/ GIMT_Encode4(194388),
68658 /* 194052 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
68659 /* 194055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
68660 /* 194058 */ GIM_Try, /*On fail goto*//*Label 4350*/ GIMT_Encode4(194120), // Rule ID 23495 //
68661 /* 194063 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68662 /* 194066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68663 /* 194070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68664 /* 194074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68665 /* 194078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68666 /* 194081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68667 /* 194085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68668 /* 194089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68669 /* 194093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68670 /* 194095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68671 /* 194102 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68672 /* 194102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
68673 /* 194105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68674 /* 194107 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68675 /* 194109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68676 /* 194113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68677 /* 194118 */ GIR_RootConstrainSelectedInstOperands,
68678 /* 194119 */ // GIR_Coverage, 23495,
68679 /* 194119 */ GIR_EraseRootFromParent_Done,
68680 /* 194120 */ // Label 4350: @194120
68681 /* 194120 */ GIM_Try, /*On fail goto*//*Label 4351*/ GIMT_Encode4(194182), // Rule ID 24122 //
68682 /* 194125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68683 /* 194128 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68684 /* 194132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68685 /* 194136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68686 /* 194140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68687 /* 194143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68688 /* 194147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68689 /* 194151 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68690 /* 194155 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68691 /* 194157 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68692 /* 194164 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68693 /* 194164 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
68694 /* 194167 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68695 /* 194169 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68696 /* 194171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68697 /* 194175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68698 /* 194180 */ GIR_RootConstrainSelectedInstOperands,
68699 /* 194181 */ // GIR_Coverage, 24122,
68700 /* 194181 */ GIR_EraseRootFromParent_Done,
68701 /* 194182 */ // Label 4351: @194182
68702 /* 194182 */ GIM_Try, /*On fail goto*//*Label 4352*/ GIMT_Encode4(194244), // Rule ID 2636 //
68703 /* 194187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68704 /* 194190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68705 /* 194194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68706 /* 194198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68707 /* 194202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68708 /* 194206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68709 /* 194209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68710 /* 194213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68711 /* 194217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68712 /* 194219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68713 /* 194226 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68714 /* 194226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
68715 /* 194229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68716 /* 194231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68717 /* 194233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68718 /* 194237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68719 /* 194242 */ GIR_RootConstrainSelectedInstOperands,
68720 /* 194243 */ // GIR_Coverage, 2636,
68721 /* 194243 */ GIR_EraseRootFromParent_Done,
68722 /* 194244 */ // Label 4352: @194244
68723 /* 194244 */ GIM_Try, /*On fail goto*//*Label 4353*/ GIMT_Encode4(194306), // Rule ID 5614 //
68724 /* 194249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68725 /* 194252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68726 /* 194256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68727 /* 194260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68728 /* 194264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68729 /* 194268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68730 /* 194271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68731 /* 194275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68732 /* 194279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68733 /* 194281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68734 /* 194288 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68735 /* 194288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
68736 /* 194291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68737 /* 194293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68738 /* 194295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68739 /* 194299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68740 /* 194304 */ GIR_RootConstrainSelectedInstOperands,
68741 /* 194305 */ // GIR_Coverage, 5614,
68742 /* 194305 */ GIR_EraseRootFromParent_Done,
68743 /* 194306 */ // Label 4353: @194306
68744 /* 194306 */ GIM_Try, /*On fail goto*//*Label 4354*/ GIMT_Encode4(194333), // Rule ID 2635 //
68745 /* 194311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68746 /* 194314 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68747 /* 194318 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68748 /* 194322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68749 /* 194326 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
68750 /* 194326 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBrr),
68751 /* 194331 */ GIR_RootConstrainSelectedInstOperands,
68752 /* 194332 */ // GIR_Coverage, 2635,
68753 /* 194332 */ GIR_Done,
68754 /* 194333 */ // Label 4354: @194333
68755 /* 194333 */ GIM_Try, /*On fail goto*//*Label 4355*/ GIMT_Encode4(194360), // Rule ID 2637 //
68756 /* 194338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
68757 /* 194341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68758 /* 194345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68759 /* 194349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68760 /* 194353 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
68761 /* 194353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUBrr),
68762 /* 194358 */ GIR_RootConstrainSelectedInstOperands,
68763 /* 194359 */ // GIR_Coverage, 2637,
68764 /* 194359 */ GIR_Done,
68765 /* 194360 */ // Label 4355: @194360
68766 /* 194360 */ GIM_Try, /*On fail goto*//*Label 4356*/ GIMT_Encode4(194387), // Rule ID 5611 //
68767 /* 194365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68768 /* 194368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68769 /* 194372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68770 /* 194376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68771 /* 194380 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
68772 /* 194380 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rr),
68773 /* 194385 */ GIR_RootConstrainSelectedInstOperands,
68774 /* 194386 */ // GIR_Coverage, 5611,
68775 /* 194386 */ GIR_Done,
68776 /* 194387 */ // Label 4356: @194387
68777 /* 194387 */ GIM_Reject,
68778 /* 194388 */ // Label 4349: @194388
68779 /* 194388 */ GIM_Reject,
68780 /* 194389 */ // Label 4306: @194389
68781 /* 194389 */ GIM_Try, /*On fail goto*//*Label 4357*/ GIMT_Encode4(194703),
68782 /* 194394 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
68783 /* 194397 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
68784 /* 194400 */ GIM_Try, /*On fail goto*//*Label 4358*/ GIMT_Encode4(194462), // Rule ID 23549 //
68785 /* 194405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68786 /* 194408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68787 /* 194412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68788 /* 194416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68789 /* 194420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68790 /* 194423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68791 /* 194427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68792 /* 194431 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68793 /* 194435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68794 /* 194437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68795 /* 194444 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68796 /* 194444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
68797 /* 194447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68798 /* 194449 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68799 /* 194451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68800 /* 194455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68801 /* 194460 */ GIR_RootConstrainSelectedInstOperands,
68802 /* 194461 */ // GIR_Coverage, 23549,
68803 /* 194461 */ GIR_EraseRootFromParent_Done,
68804 /* 194462 */ // Label 4358: @194462
68805 /* 194462 */ GIM_Try, /*On fail goto*//*Label 4359*/ GIMT_Encode4(194524), // Rule ID 24128 //
68806 /* 194467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68807 /* 194470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68808 /* 194474 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68809 /* 194478 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68810 /* 194482 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68811 /* 194485 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68812 /* 194489 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68813 /* 194493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68814 /* 194497 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68815 /* 194499 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68816 /* 194506 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68817 /* 194506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
68818 /* 194509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68819 /* 194511 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68820 /* 194513 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68821 /* 194517 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68822 /* 194522 */ GIR_RootConstrainSelectedInstOperands,
68823 /* 194523 */ // GIR_Coverage, 24128,
68824 /* 194523 */ GIR_EraseRootFromParent_Done,
68825 /* 194524 */ // Label 4359: @194524
68826 /* 194524 */ GIM_Try, /*On fail goto*//*Label 4360*/ GIMT_Encode4(194586), // Rule ID 3215 //
68827 /* 194529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68828 /* 194532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68829 /* 194536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68830 /* 194540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68831 /* 194544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68832 /* 194548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68833 /* 194551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68834 /* 194555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68835 /* 194559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68836 /* 194561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68837 /* 194568 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68838 /* 194568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
68839 /* 194571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68840 /* 194573 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68841 /* 194575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68842 /* 194579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68843 /* 194584 */ GIR_RootConstrainSelectedInstOperands,
68844 /* 194585 */ // GIR_Coverage, 3215,
68845 /* 194585 */ GIR_EraseRootFromParent_Done,
68846 /* 194586 */ // Label 4360: @194586
68847 /* 194586 */ GIM_Try, /*On fail goto*//*Label 4361*/ GIMT_Encode4(194648), // Rule ID 5626 //
68848 /* 194591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68849 /* 194594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68850 /* 194598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68851 /* 194602 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68852 /* 194606 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68853 /* 194610 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68854 /* 194613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68855 /* 194617 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68856 /* 194621 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68857 /* 194623 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68858 /* 194630 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68859 /* 194630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
68860 /* 194633 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68861 /* 194635 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68862 /* 194637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68863 /* 194641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68864 /* 194646 */ GIR_RootConstrainSelectedInstOperands,
68865 /* 194647 */ // GIR_Coverage, 5626,
68866 /* 194647 */ GIR_EraseRootFromParent_Done,
68867 /* 194648 */ // Label 4361: @194648
68868 /* 194648 */ GIM_Try, /*On fail goto*//*Label 4362*/ GIMT_Encode4(194675), // Rule ID 3214 //
68869 /* 194653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68870 /* 194656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68871 /* 194660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68872 /* 194664 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68873 /* 194668 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
68874 /* 194668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrr),
68875 /* 194673 */ GIR_RootConstrainSelectedInstOperands,
68876 /* 194674 */ // GIR_Coverage, 3214,
68877 /* 194674 */ GIR_Done,
68878 /* 194675 */ // Label 4362: @194675
68879 /* 194675 */ GIM_Try, /*On fail goto*//*Label 4363*/ GIMT_Encode4(194702), // Rule ID 5623 //
68880 /* 194680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68881 /* 194683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68882 /* 194687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68883 /* 194691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68884 /* 194695 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
68885 /* 194695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rr),
68886 /* 194700 */ GIR_RootConstrainSelectedInstOperands,
68887 /* 194701 */ // GIR_Coverage, 5623,
68888 /* 194701 */ GIR_Done,
68889 /* 194702 */ // Label 4363: @194702
68890 /* 194702 */ GIM_Reject,
68891 /* 194703 */ // Label 4357: @194703
68892 /* 194703 */ GIM_Reject,
68893 /* 194704 */ // Label 4307: @194704
68894 /* 194704 */ GIM_Try, /*On fail goto*//*Label 4364*/ GIMT_Encode4(194859),
68895 /* 194709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
68896 /* 194712 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
68897 /* 194715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68898 /* 194719 */ GIM_Try, /*On fail goto*//*Label 4365*/ GIMT_Encode4(194777), // Rule ID 24134 //
68899 /* 194724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68900 /* 194727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68901 /* 194731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68902 /* 194735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68903 /* 194738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68904 /* 194742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68905 /* 194746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68906 /* 194750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68907 /* 194752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68908 /* 194759 */ // (umin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68909 /* 194759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
68910 /* 194762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68911 /* 194764 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68912 /* 194766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68913 /* 194770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68914 /* 194775 */ GIR_RootConstrainSelectedInstOperands,
68915 /* 194776 */ // GIR_Coverage, 24134,
68916 /* 194776 */ GIR_EraseRootFromParent_Done,
68917 /* 194777 */ // Label 4365: @194777
68918 /* 194777 */ GIM_Try, /*On fail goto*//*Label 4366*/ GIMT_Encode4(194835), // Rule ID 5638 //
68919 /* 194782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68920 /* 194785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68921 /* 194789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68922 /* 194793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68923 /* 194797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68924 /* 194800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68925 /* 194804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68926 /* 194808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68927 /* 194810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68928 /* 194817 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68929 /* 194817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
68930 /* 194820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68931 /* 194822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68932 /* 194824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68933 /* 194828 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68934 /* 194833 */ GIR_RootConstrainSelectedInstOperands,
68935 /* 194834 */ // GIR_Coverage, 5638,
68936 /* 194834 */ GIR_EraseRootFromParent_Done,
68937 /* 194835 */ // Label 4366: @194835
68938 /* 194835 */ GIM_Try, /*On fail goto*//*Label 4367*/ GIMT_Encode4(194858), // Rule ID 5635 //
68939 /* 194840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68940 /* 194843 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68941 /* 194847 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68942 /* 194851 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
68943 /* 194851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrr),
68944 /* 194856 */ GIR_RootConstrainSelectedInstOperands,
68945 /* 194857 */ // GIR_Coverage, 5635,
68946 /* 194857 */ GIR_Done,
68947 /* 194858 */ // Label 4367: @194858
68948 /* 194858 */ GIM_Reject,
68949 /* 194859 */ // Label 4364: @194859
68950 /* 194859 */ GIM_Reject,
68951 /* 194860 */ // Label 4308: @194860
68952 /* 194860 */ GIM_Try, /*On fail goto*//*Label 4368*/ GIMT_Encode4(195174),
68953 /* 194865 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
68954 /* 194868 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
68955 /* 194871 */ GIM_Try, /*On fail goto*//*Label 4369*/ GIMT_Encode4(194933), // Rule ID 23497 //
68956 /* 194876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68957 /* 194879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68958 /* 194883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68959 /* 194887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68960 /* 194891 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68961 /* 194894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68962 /* 194898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68963 /* 194902 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68964 /* 194906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68965 /* 194908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68966 /* 194915 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68967 /* 194915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
68968 /* 194918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68969 /* 194920 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68970 /* 194922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68971 /* 194926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68972 /* 194931 */ GIR_RootConstrainSelectedInstOperands,
68973 /* 194932 */ // GIR_Coverage, 23497,
68974 /* 194932 */ GIR_EraseRootFromParent_Done,
68975 /* 194933 */ // Label 4369: @194933
68976 /* 194933 */ GIM_Try, /*On fail goto*//*Label 4370*/ GIMT_Encode4(194995), // Rule ID 24119 //
68977 /* 194938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68978 /* 194941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68979 /* 194945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68980 /* 194949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68981 /* 194953 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68982 /* 194956 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68983 /* 194960 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68984 /* 194964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68985 /* 194968 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68986 /* 194970 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68987 /* 194977 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68988 /* 194977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
68989 /* 194980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68990 /* 194982 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68991 /* 194984 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68992 /* 194988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68993 /* 194993 */ GIR_RootConstrainSelectedInstOperands,
68994 /* 194994 */ // GIR_Coverage, 24119,
68995 /* 194994 */ GIR_EraseRootFromParent_Done,
68996 /* 194995 */ // Label 4370: @194995
68997 /* 194995 */ GIM_Try, /*On fail goto*//*Label 4371*/ GIMT_Encode4(195057), // Rule ID 2640 //
68998 /* 195000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68999 /* 195003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69000 /* 195007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69001 /* 195011 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69002 /* 195015 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69003 /* 195019 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69004 /* 195022 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69005 /* 195026 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69006 /* 195030 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69007 /* 195032 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69008 /* 195039 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69009 /* 195039 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
69010 /* 195042 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69011 /* 195044 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69012 /* 195046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69013 /* 195050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69014 /* 195055 */ GIR_RootConstrainSelectedInstOperands,
69015 /* 195056 */ // GIR_Coverage, 2640,
69016 /* 195056 */ GIR_EraseRootFromParent_Done,
69017 /* 195057 */ // Label 4371: @195057
69018 /* 195057 */ GIM_Try, /*On fail goto*//*Label 4372*/ GIMT_Encode4(195119), // Rule ID 5608 //
69019 /* 195062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69020 /* 195065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69021 /* 195069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69022 /* 195073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69023 /* 195077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69024 /* 195081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69025 /* 195084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69026 /* 195088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69027 /* 195092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69028 /* 195094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69029 /* 195101 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69030 /* 195101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
69031 /* 195104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69032 /* 195106 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69033 /* 195108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69034 /* 195112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69035 /* 195117 */ GIR_RootConstrainSelectedInstOperands,
69036 /* 195118 */ // GIR_Coverage, 5608,
69037 /* 195118 */ GIR_EraseRootFromParent_Done,
69038 /* 195119 */ // Label 4372: @195119
69039 /* 195119 */ GIM_Try, /*On fail goto*//*Label 4373*/ GIMT_Encode4(195146), // Rule ID 2639 //
69040 /* 195124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69041 /* 195127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69042 /* 195131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69043 /* 195135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69044 /* 195139 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
69045 /* 195139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrr),
69046 /* 195144 */ GIR_RootConstrainSelectedInstOperands,
69047 /* 195145 */ // GIR_Coverage, 2639,
69048 /* 195145 */ GIR_Done,
69049 /* 195146 */ // Label 4373: @195146
69050 /* 195146 */ GIM_Try, /*On fail goto*//*Label 4374*/ GIMT_Encode4(195173), // Rule ID 5605 //
69051 /* 195151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69052 /* 195154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69053 /* 195158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69054 /* 195162 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69055 /* 195166 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
69056 /* 195166 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rr),
69057 /* 195171 */ GIR_RootConstrainSelectedInstOperands,
69058 /* 195172 */ // GIR_Coverage, 5605,
69059 /* 195172 */ GIR_Done,
69060 /* 195173 */ // Label 4374: @195173
69061 /* 195173 */ GIM_Reject,
69062 /* 195174 */ // Label 4368: @195174
69063 /* 195174 */ GIM_Reject,
69064 /* 195175 */ // Label 4309: @195175
69065 /* 195175 */ GIM_Try, /*On fail goto*//*Label 4375*/ GIMT_Encode4(195330),
69066 /* 195180 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69067 /* 195183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
69068 /* 195186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69069 /* 195190 */ GIM_Try, /*On fail goto*//*Label 4376*/ GIMT_Encode4(195248), // Rule ID 24125 //
69070 /* 195195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69071 /* 195198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69072 /* 195202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69073 /* 195206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69074 /* 195209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69075 /* 195213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69076 /* 195217 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69077 /* 195221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69078 /* 195223 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69079 /* 195230 */ // (umin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69080 /* 195230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
69081 /* 195233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69082 /* 195235 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69083 /* 195237 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69084 /* 195241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69085 /* 195246 */ GIR_RootConstrainSelectedInstOperands,
69086 /* 195247 */ // GIR_Coverage, 24125,
69087 /* 195247 */ GIR_EraseRootFromParent_Done,
69088 /* 195248 */ // Label 4376: @195248
69089 /* 195248 */ GIM_Try, /*On fail goto*//*Label 4377*/ GIMT_Encode4(195306), // Rule ID 5620 //
69090 /* 195253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69091 /* 195256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69092 /* 195260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69093 /* 195264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69094 /* 195268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69095 /* 195271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69096 /* 195275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69097 /* 195279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69098 /* 195281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69099 /* 195288 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69100 /* 195288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
69101 /* 195291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69102 /* 195293 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69103 /* 195295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69104 /* 195299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69105 /* 195304 */ GIR_RootConstrainSelectedInstOperands,
69106 /* 195305 */ // GIR_Coverage, 5620,
69107 /* 195305 */ GIR_EraseRootFromParent_Done,
69108 /* 195306 */ // Label 4377: @195306
69109 /* 195306 */ GIM_Try, /*On fail goto*//*Label 4378*/ GIMT_Encode4(195329), // Rule ID 5617 //
69110 /* 195311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69111 /* 195314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69112 /* 195318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69113 /* 195322 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
69114 /* 195322 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrr),
69115 /* 195327 */ GIR_RootConstrainSelectedInstOperands,
69116 /* 195328 */ // GIR_Coverage, 5617,
69117 /* 195328 */ GIR_Done,
69118 /* 195329 */ // Label 4378: @195329
69119 /* 195329 */ GIM_Reject,
69120 /* 195330 */ // Label 4375: @195330
69121 /* 195330 */ GIM_Reject,
69122 /* 195331 */ // Label 4310: @195331
69123 /* 195331 */ GIM_Try, /*On fail goto*//*Label 4379*/ GIMT_Encode4(195486),
69124 /* 195336 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69125 /* 195339 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
69126 /* 195342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69127 /* 195346 */ GIM_Try, /*On fail goto*//*Label 4380*/ GIMT_Encode4(195404), // Rule ID 24116 //
69128 /* 195351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69129 /* 195354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69130 /* 195358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69131 /* 195362 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69132 /* 195365 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69133 /* 195369 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69134 /* 195373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69135 /* 195377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69136 /* 195379 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69137 /* 195386 */ // (umin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69138 /* 195386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
69139 /* 195389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69140 /* 195391 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69141 /* 195393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69142 /* 195397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69143 /* 195402 */ GIR_RootConstrainSelectedInstOperands,
69144 /* 195403 */ // GIR_Coverage, 24116,
69145 /* 195403 */ GIR_EraseRootFromParent_Done,
69146 /* 195404 */ // Label 4380: @195404
69147 /* 195404 */ GIM_Try, /*On fail goto*//*Label 4381*/ GIMT_Encode4(195462), // Rule ID 5602 //
69148 /* 195409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69149 /* 195412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69150 /* 195416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69151 /* 195420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69152 /* 195424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69153 /* 195427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69154 /* 195431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69155 /* 195435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69156 /* 195437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69157 /* 195444 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69158 /* 195444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
69159 /* 195447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69160 /* 195449 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69161 /* 195451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69162 /* 195455 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69163 /* 195460 */ GIR_RootConstrainSelectedInstOperands,
69164 /* 195461 */ // GIR_Coverage, 5602,
69165 /* 195461 */ GIR_EraseRootFromParent_Done,
69166 /* 195462 */ // Label 4381: @195462
69167 /* 195462 */ GIM_Try, /*On fail goto*//*Label 4382*/ GIMT_Encode4(195485), // Rule ID 5599 //
69168 /* 195467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69169 /* 195470 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69170 /* 195474 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69171 /* 195478 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
69172 /* 195478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrr),
69173 /* 195483 */ GIR_RootConstrainSelectedInstOperands,
69174 /* 195484 */ // GIR_Coverage, 5599,
69175 /* 195484 */ GIR_Done,
69176 /* 195485 */ // Label 4382: @195485
69177 /* 195485 */ GIM_Reject,
69178 /* 195486 */ // Label 4379: @195486
69179 /* 195486 */ GIM_Reject,
69180 /* 195487 */ // Label 4311: @195487
69181 /* 195487 */ GIM_Reject,
69182 /* 195488 */ // Label 58: @195488
69183 /* 195488 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4395*/ GIMT_Encode4(198808),
69184 /* 195499 */ /*GILLT_v2s64*//*Label 4383*/ GIMT_Encode4(195567), GIMT_Encode4(0),
69185 /* 195507 */ /*GILLT_v4s32*//*Label 4384*/ GIMT_Encode4(195896),
69186 /* 195511 */ /*GILLT_v4s64*//*Label 4385*/ GIMT_Encode4(196238), GIMT_Encode4(0),
69187 /* 195519 */ /*GILLT_v8s16*//*Label 4386*/ GIMT_Encode4(196555),
69188 /* 195523 */ /*GILLT_v8s32*//*Label 4387*/ GIMT_Encode4(196897),
69189 /* 195527 */ /*GILLT_v8s64*//*Label 4388*/ GIMT_Encode4(197212), GIMT_Encode4(0),
69190 /* 195535 */ /*GILLT_v16s8*//*Label 4389*/ GIMT_Encode4(197368),
69191 /* 195539 */ /*GILLT_v16s16*//*Label 4390*/ GIMT_Encode4(197710),
69192 /* 195543 */ /*GILLT_v16s32*//*Label 4391*/ GIMT_Encode4(198025), GIMT_Encode4(0),
69193 /* 195551 */ /*GILLT_v32s8*//*Label 4392*/ GIMT_Encode4(198181),
69194 /* 195555 */ /*GILLT_v32s16*//*Label 4393*/ GIMT_Encode4(198496), GIMT_Encode4(0),
69195 /* 195563 */ /*GILLT_v64s8*//*Label 4394*/ GIMT_Encode4(198652),
69196 /* 195567 */ // Label 4383: @195567
69197 /* 195567 */ GIM_Try, /*On fail goto*//*Label 4396*/ GIMT_Encode4(195895),
69198 /* 195572 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
69199 /* 195575 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
69200 /* 195578 */ GIM_Try, /*On fail goto*//*Label 4397*/ GIMT_Encode4(195640), // Rule ID 24056 //
69201 /* 195583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69202 /* 195586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69203 /* 195590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69204 /* 195594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69205 /* 195598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69206 /* 195601 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69207 /* 195605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69208 /* 195609 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69209 /* 195613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69210 /* 195615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69211 /* 195622 */ // (umax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69212 /* 195622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
69213 /* 195625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69214 /* 195627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69215 /* 195629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69216 /* 195633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69217 /* 195638 */ GIR_RootConstrainSelectedInstOperands,
69218 /* 195639 */ // GIR_Coverage, 24056,
69219 /* 195639 */ GIR_EraseRootFromParent_Done,
69220 /* 195640 */ // Label 4397: @195640
69221 /* 195640 */ GIM_Try, /*On fail goto*//*Label 4398*/ GIMT_Encode4(195702), // Rule ID 5503 //
69222 /* 195645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69223 /* 195648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69224 /* 195652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69225 /* 195656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69226 /* 195660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69227 /* 195664 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69228 /* 195667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69229 /* 195671 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69230 /* 195675 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69231 /* 195677 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69232 /* 195684 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69233 /* 195684 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
69234 /* 195687 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69235 /* 195689 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69236 /* 195691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69237 /* 195695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69238 /* 195700 */ GIR_RootConstrainSelectedInstOperands,
69239 /* 195701 */ // GIR_Coverage, 5503,
69240 /* 195701 */ GIR_EraseRootFromParent_Done,
69241 /* 195702 */ // Label 4398: @195702
69242 /* 195702 */ GIM_Try, /*On fail goto*//*Label 4399*/ GIMT_Encode4(195729), // Rule ID 5500 //
69243 /* 195707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69244 /* 195710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69245 /* 195714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69246 /* 195718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69247 /* 195722 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
69248 /* 195722 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rr),
69249 /* 195727 */ GIR_RootConstrainSelectedInstOperands,
69250 /* 195728 */ // GIR_Coverage, 5500,
69251 /* 195728 */ GIR_Done,
69252 /* 195729 */ // Label 4399: @195729
69253 /* 195729 */ GIM_Try, /*On fail goto*//*Label 4400*/ GIMT_Encode4(195894), // Rule ID 20010 //
69254 /* 195734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69255 /* 195737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69256 /* 195741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69257 /* 195745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69258 /* 195749 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPMAXUQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src2, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
69259 /* 195749 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
69260 /* 195752 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69261 /* 195756 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69262 /* 195761 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
69263 /* 195763 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
69264 /* 195766 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69265 /* 195770 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69266 /* 195775 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
69267 /* 195778 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
69268 /* 195782 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
69269 /* 195785 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69270 /* 195790 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69271 /* 195795 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
69272 /* 195800 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69273 /* 195803 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69274 /* 195807 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69275 /* 195812 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69276 /* 195814 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69277 /* 195817 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69278 /* 195821 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69279 /* 195826 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69280 /* 195829 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
69281 /* 195833 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
69282 /* 195836 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69283 /* 195841 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69284 /* 195846 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
69285 /* 195851 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69286 /* 195854 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
69287 /* 195858 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69288 /* 195863 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69289 /* 195866 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
69290 /* 195869 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69291 /* 195871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69292 /* 195874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69293 /* 195876 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
69294 /* 195883 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69295 /* 195888 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69296 /* 195893 */ // GIR_Coverage, 20010,
69297 /* 195893 */ GIR_EraseRootFromParent_Done,
69298 /* 195894 */ // Label 4400: @195894
69299 /* 195894 */ GIM_Reject,
69300 /* 195895 */ // Label 4396: @195895
69301 /* 195895 */ GIM_Reject,
69302 /* 195896 */ // Label 4384: @195896
69303 /* 195896 */ GIM_Try, /*On fail goto*//*Label 4401*/ GIMT_Encode4(196237),
69304 /* 195901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
69305 /* 195904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
69306 /* 195907 */ GIM_Try, /*On fail goto*//*Label 4402*/ GIMT_Encode4(195969), // Rule ID 23537 //
69307 /* 195912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69308 /* 195915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69309 /* 195919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69310 /* 195923 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69311 /* 195927 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69312 /* 195930 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69313 /* 195934 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69314 /* 195938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69315 /* 195942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69316 /* 195944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69317 /* 195951 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69318 /* 195951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
69319 /* 195954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69320 /* 195956 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69321 /* 195958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69322 /* 195962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69323 /* 195967 */ GIR_RootConstrainSelectedInstOperands,
69324 /* 195968 */ // GIR_Coverage, 23537,
69325 /* 195968 */ GIR_EraseRootFromParent_Done,
69326 /* 195969 */ // Label 4402: @195969
69327 /* 195969 */ GIM_Try, /*On fail goto*//*Label 4403*/ GIMT_Encode4(196031), // Rule ID 24038 //
69328 /* 195974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69329 /* 195977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69330 /* 195981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69331 /* 195985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69332 /* 195989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69333 /* 195992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69334 /* 195996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69335 /* 196000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69336 /* 196004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69337 /* 196006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69338 /* 196013 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69339 /* 196013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
69340 /* 196016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69341 /* 196018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69342 /* 196020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69343 /* 196024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69344 /* 196029 */ GIR_RootConstrainSelectedInstOperands,
69345 /* 196030 */ // GIR_Coverage, 24038,
69346 /* 196030 */ GIR_EraseRootFromParent_Done,
69347 /* 196031 */ // Label 4403: @196031
69348 /* 196031 */ GIM_Try, /*On fail goto*//*Label 4404*/ GIMT_Encode4(196093), // Rule ID 3191 //
69349 /* 196036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69350 /* 196039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69351 /* 196043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69352 /* 196047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69353 /* 196051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69354 /* 196055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69355 /* 196058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69356 /* 196062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69357 /* 196066 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69358 /* 196068 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69359 /* 196075 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69360 /* 196075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
69361 /* 196078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69362 /* 196080 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69363 /* 196082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69364 /* 196086 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69365 /* 196091 */ GIR_RootConstrainSelectedInstOperands,
69366 /* 196092 */ // GIR_Coverage, 3191,
69367 /* 196092 */ GIR_EraseRootFromParent_Done,
69368 /* 196093 */ // Label 4404: @196093
69369 /* 196093 */ GIM_Try, /*On fail goto*//*Label 4405*/ GIMT_Encode4(196155), // Rule ID 5476 //
69370 /* 196098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69371 /* 196101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69372 /* 196105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69373 /* 196109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69374 /* 196113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69375 /* 196117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69376 /* 196120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69377 /* 196124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69378 /* 196128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69379 /* 196130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69380 /* 196137 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69381 /* 196137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
69382 /* 196140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69383 /* 196142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69384 /* 196144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69385 /* 196148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69386 /* 196153 */ GIR_RootConstrainSelectedInstOperands,
69387 /* 196154 */ // GIR_Coverage, 5476,
69388 /* 196154 */ GIR_EraseRootFromParent_Done,
69389 /* 196155 */ // Label 4405: @196155
69390 /* 196155 */ GIM_Try, /*On fail goto*//*Label 4406*/ GIMT_Encode4(196182), // Rule ID 3190 //
69391 /* 196160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69392 /* 196163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69393 /* 196167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69394 /* 196171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69395 /* 196175 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
69396 /* 196175 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrr),
69397 /* 196180 */ GIR_RootConstrainSelectedInstOperands,
69398 /* 196181 */ // GIR_Coverage, 3190,
69399 /* 196181 */ GIR_Done,
69400 /* 196182 */ // Label 4406: @196182
69401 /* 196182 */ GIM_Try, /*On fail goto*//*Label 4407*/ GIMT_Encode4(196209), // Rule ID 3232 //
69402 /* 196187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
69403 /* 196190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69404 /* 196194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69405 /* 196198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69406 /* 196202 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
69407 /* 196202 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUDrr),
69408 /* 196207 */ GIR_RootConstrainSelectedInstOperands,
69409 /* 196208 */ // GIR_Coverage, 3232,
69410 /* 196208 */ GIR_Done,
69411 /* 196209 */ // Label 4407: @196209
69412 /* 196209 */ GIM_Try, /*On fail goto*//*Label 4408*/ GIMT_Encode4(196236), // Rule ID 5473 //
69413 /* 196214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69414 /* 196217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69415 /* 196221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69416 /* 196225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69417 /* 196229 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
69418 /* 196229 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rr),
69419 /* 196234 */ GIR_RootConstrainSelectedInstOperands,
69420 /* 196235 */ // GIR_Coverage, 5473,
69421 /* 196235 */ GIR_Done,
69422 /* 196236 */ // Label 4408: @196236
69423 /* 196236 */ GIM_Reject,
69424 /* 196237 */ // Label 4401: @196237
69425 /* 196237 */ GIM_Reject,
69426 /* 196238 */ // Label 4385: @196238
69427 /* 196238 */ GIM_Try, /*On fail goto*//*Label 4409*/ GIMT_Encode4(196554),
69428 /* 196243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
69429 /* 196246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
69430 /* 196249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69431 /* 196253 */ GIM_Try, /*On fail goto*//*Label 4410*/ GIMT_Encode4(196311), // Rule ID 24050 //
69432 /* 196258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69433 /* 196261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69434 /* 196265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69435 /* 196269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69436 /* 196272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69437 /* 196276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69438 /* 196280 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69439 /* 196284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69440 /* 196286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69441 /* 196293 */ // (umax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69442 /* 196293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
69443 /* 196296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69444 /* 196298 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69445 /* 196300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69446 /* 196304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69447 /* 196309 */ GIR_RootConstrainSelectedInstOperands,
69448 /* 196310 */ // GIR_Coverage, 24050,
69449 /* 196310 */ GIR_EraseRootFromParent_Done,
69450 /* 196311 */ // Label 4410: @196311
69451 /* 196311 */ GIM_Try, /*On fail goto*//*Label 4411*/ GIMT_Encode4(196369), // Rule ID 5494 //
69452 /* 196316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69453 /* 196319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69454 /* 196323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69455 /* 196327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69456 /* 196331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69457 /* 196334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69458 /* 196338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69459 /* 196342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69460 /* 196344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69461 /* 196351 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69462 /* 196351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
69463 /* 196354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69464 /* 196356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69465 /* 196358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69466 /* 196362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69467 /* 196367 */ GIR_RootConstrainSelectedInstOperands,
69468 /* 196368 */ // GIR_Coverage, 5494,
69469 /* 196368 */ GIR_EraseRootFromParent_Done,
69470 /* 196369 */ // Label 4411: @196369
69471 /* 196369 */ GIM_Try, /*On fail goto*//*Label 4412*/ GIMT_Encode4(196392), // Rule ID 5491 //
69472 /* 196374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69473 /* 196377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69474 /* 196381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69475 /* 196385 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
69476 /* 196385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rr),
69477 /* 196390 */ GIR_RootConstrainSelectedInstOperands,
69478 /* 196391 */ // GIR_Coverage, 5491,
69479 /* 196391 */ GIR_Done,
69480 /* 196392 */ // Label 4412: @196392
69481 /* 196392 */ GIM_Try, /*On fail goto*//*Label 4413*/ GIMT_Encode4(196553), // Rule ID 20008 //
69482 /* 196397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69483 /* 196400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69484 /* 196404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69485 /* 196408 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPMAXUQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] }), (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src2, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
69486 /* 196408 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
69487 /* 196411 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69488 /* 196415 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69489 /* 196420 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
69490 /* 196422 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
69491 /* 196425 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69492 /* 196429 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69493 /* 196434 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
69494 /* 196437 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
69495 /* 196441 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
69496 /* 196444 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69497 /* 196449 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69498 /* 196454 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
69499 /* 196459 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69500 /* 196462 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69501 /* 196466 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69502 /* 196471 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69503 /* 196473 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69504 /* 196476 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69505 /* 196480 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69506 /* 196485 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69507 /* 196488 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
69508 /* 196492 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
69509 /* 196495 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69510 /* 196500 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69511 /* 196505 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
69512 /* 196510 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69513 /* 196513 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
69514 /* 196517 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69515 /* 196522 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69516 /* 196525 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
69517 /* 196528 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69518 /* 196530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69519 /* 196533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69520 /* 196535 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
69521 /* 196542 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69522 /* 196547 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69523 /* 196552 */ // GIR_Coverage, 20008,
69524 /* 196552 */ GIR_EraseRootFromParent_Done,
69525 /* 196553 */ // Label 4413: @196553
69526 /* 196553 */ GIM_Reject,
69527 /* 196554 */ // Label 4409: @196554
69528 /* 196554 */ GIM_Reject,
69529 /* 196555 */ // Label 4386: @196555
69530 /* 196555 */ GIM_Try, /*On fail goto*//*Label 4414*/ GIMT_Encode4(196896),
69531 /* 196560 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
69532 /* 196563 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
69533 /* 196566 */ GIM_Try, /*On fail goto*//*Label 4415*/ GIMT_Encode4(196628), // Rule ID 23542 //
69534 /* 196571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69535 /* 196574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69536 /* 196578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69537 /* 196582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69538 /* 196586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69539 /* 196589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69540 /* 196593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69541 /* 196597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69542 /* 196601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69543 /* 196603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69544 /* 196610 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69545 /* 196610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
69546 /* 196613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69547 /* 196615 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69548 /* 196617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69549 /* 196621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69550 /* 196626 */ GIR_RootConstrainSelectedInstOperands,
69551 /* 196627 */ // GIR_Coverage, 23542,
69552 /* 196627 */ GIR_EraseRootFromParent_Done,
69553 /* 196628 */ // Label 4415: @196628
69554 /* 196628 */ GIM_Try, /*On fail goto*//*Label 4416*/ GIMT_Encode4(196690), // Rule ID 24023 //
69555 /* 196633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69556 /* 196636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69557 /* 196640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69558 /* 196644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69559 /* 196648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69560 /* 196651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69561 /* 196655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69562 /* 196659 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69563 /* 196663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69564 /* 196665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69565 /* 196672 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69566 /* 196672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
69567 /* 196675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69568 /* 196677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69569 /* 196679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69570 /* 196683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69571 /* 196688 */ GIR_RootConstrainSelectedInstOperands,
69572 /* 196689 */ // GIR_Coverage, 24023,
69573 /* 196689 */ GIR_EraseRootFromParent_Done,
69574 /* 196690 */ // Label 4416: @196690
69575 /* 196690 */ GIM_Try, /*On fail goto*//*Label 4417*/ GIMT_Encode4(196752), // Rule ID 3201 //
69576 /* 196695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69577 /* 196698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69578 /* 196702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69579 /* 196706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69580 /* 196710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69581 /* 196714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69582 /* 196717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69583 /* 196721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69584 /* 196725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69585 /* 196727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69586 /* 196734 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69587 /* 196734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
69588 /* 196737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69589 /* 196739 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69590 /* 196741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69591 /* 196745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69592 /* 196750 */ GIR_RootConstrainSelectedInstOperands,
69593 /* 196751 */ // GIR_Coverage, 3201,
69594 /* 196751 */ GIR_EraseRootFromParent_Done,
69595 /* 196752 */ // Label 4417: @196752
69596 /* 196752 */ GIM_Try, /*On fail goto*//*Label 4418*/ GIMT_Encode4(196814), // Rule ID 5452 //
69597 /* 196757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69598 /* 196760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69599 /* 196764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69600 /* 196768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69601 /* 196772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69602 /* 196776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69603 /* 196779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69604 /* 196783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69605 /* 196787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69606 /* 196789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69607 /* 196796 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69608 /* 196796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
69609 /* 196799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69610 /* 196801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69611 /* 196803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69612 /* 196807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69613 /* 196812 */ GIR_RootConstrainSelectedInstOperands,
69614 /* 196813 */ // GIR_Coverage, 5452,
69615 /* 196813 */ GIR_EraseRootFromParent_Done,
69616 /* 196814 */ // Label 4418: @196814
69617 /* 196814 */ GIM_Try, /*On fail goto*//*Label 4419*/ GIMT_Encode4(196841), // Rule ID 3200 //
69618 /* 196819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69619 /* 196822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69620 /* 196826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69621 /* 196830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69622 /* 196834 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
69623 /* 196834 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrr),
69624 /* 196839 */ GIR_RootConstrainSelectedInstOperands,
69625 /* 196840 */ // GIR_Coverage, 3200,
69626 /* 196840 */ GIR_Done,
69627 /* 196841 */ // Label 4419: @196841
69628 /* 196841 */ GIM_Try, /*On fail goto*//*Label 4420*/ GIMT_Encode4(196868), // Rule ID 3234 //
69629 /* 196846 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
69630 /* 196849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69631 /* 196853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69632 /* 196857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69633 /* 196861 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
69634 /* 196861 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUWrr),
69635 /* 196866 */ GIR_RootConstrainSelectedInstOperands,
69636 /* 196867 */ // GIR_Coverage, 3234,
69637 /* 196867 */ GIR_Done,
69638 /* 196868 */ // Label 4420: @196868
69639 /* 196868 */ GIM_Try, /*On fail goto*//*Label 4421*/ GIMT_Encode4(196895), // Rule ID 5449 //
69640 /* 196873 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69641 /* 196876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69642 /* 196880 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69643 /* 196884 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69644 /* 196888 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
69645 /* 196888 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rr),
69646 /* 196893 */ GIR_RootConstrainSelectedInstOperands,
69647 /* 196894 */ // GIR_Coverage, 5449,
69648 /* 196894 */ GIR_Done,
69649 /* 196895 */ // Label 4421: @196895
69650 /* 196895 */ GIM_Reject,
69651 /* 196896 */ // Label 4414: @196896
69652 /* 196896 */ GIM_Reject,
69653 /* 196897 */ // Label 4387: @196897
69654 /* 196897 */ GIM_Try, /*On fail goto*//*Label 4422*/ GIMT_Encode4(197211),
69655 /* 196902 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
69656 /* 196905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
69657 /* 196908 */ GIM_Try, /*On fail goto*//*Label 4423*/ GIMT_Encode4(196970), // Rule ID 23546 //
69658 /* 196913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69659 /* 196916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69660 /* 196920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69661 /* 196924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69662 /* 196928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69663 /* 196931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69664 /* 196935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69665 /* 196939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69666 /* 196943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69667 /* 196945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69668 /* 196952 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69669 /* 196952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
69670 /* 196955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69671 /* 196957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69672 /* 196959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69673 /* 196963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69674 /* 196968 */ GIR_RootConstrainSelectedInstOperands,
69675 /* 196969 */ // GIR_Coverage, 23546,
69676 /* 196969 */ GIR_EraseRootFromParent_Done,
69677 /* 196970 */ // Label 4423: @196970
69678 /* 196970 */ GIM_Try, /*On fail goto*//*Label 4424*/ GIMT_Encode4(197032), // Rule ID 24032 //
69679 /* 196975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69680 /* 196978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69681 /* 196982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69682 /* 196986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69683 /* 196990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69684 /* 196993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69685 /* 196997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69686 /* 197001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69687 /* 197005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69688 /* 197007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69689 /* 197014 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69690 /* 197014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
69691 /* 197017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69692 /* 197019 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69693 /* 197021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69694 /* 197025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69695 /* 197030 */ GIR_RootConstrainSelectedInstOperands,
69696 /* 197031 */ // GIR_Coverage, 24032,
69697 /* 197031 */ GIR_EraseRootFromParent_Done,
69698 /* 197032 */ // Label 4424: @197032
69699 /* 197032 */ GIM_Try, /*On fail goto*//*Label 4425*/ GIMT_Encode4(197094), // Rule ID 3209 //
69700 /* 197037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69701 /* 197040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69702 /* 197044 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69703 /* 197048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69704 /* 197052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69705 /* 197056 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69706 /* 197059 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69707 /* 197063 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69708 /* 197067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69709 /* 197069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69710 /* 197076 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69711 /* 197076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
69712 /* 197079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69713 /* 197081 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69714 /* 197083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69715 /* 197087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69716 /* 197092 */ GIR_RootConstrainSelectedInstOperands,
69717 /* 197093 */ // GIR_Coverage, 3209,
69718 /* 197093 */ GIR_EraseRootFromParent_Done,
69719 /* 197094 */ // Label 4425: @197094
69720 /* 197094 */ GIM_Try, /*On fail goto*//*Label 4426*/ GIMT_Encode4(197156), // Rule ID 5467 //
69721 /* 197099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69722 /* 197102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69723 /* 197106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69724 /* 197110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69725 /* 197114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69726 /* 197118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69727 /* 197121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69728 /* 197125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69729 /* 197129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69730 /* 197131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69731 /* 197138 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
69732 /* 197138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
69733 /* 197141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69734 /* 197143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69735 /* 197145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69736 /* 197149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69737 /* 197154 */ GIR_RootConstrainSelectedInstOperands,
69738 /* 197155 */ // GIR_Coverage, 5467,
69739 /* 197155 */ GIR_EraseRootFromParent_Done,
69740 /* 197156 */ // Label 4426: @197156
69741 /* 197156 */ GIM_Try, /*On fail goto*//*Label 4427*/ GIMT_Encode4(197183), // Rule ID 3208 //
69742 /* 197161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69743 /* 197164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69744 /* 197168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69745 /* 197172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69746 /* 197176 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
69747 /* 197176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrr),
69748 /* 197181 */ GIR_RootConstrainSelectedInstOperands,
69749 /* 197182 */ // GIR_Coverage, 3208,
69750 /* 197182 */ GIR_Done,
69751 /* 197183 */ // Label 4427: @197183
69752 /* 197183 */ GIM_Try, /*On fail goto*//*Label 4428*/ GIMT_Encode4(197210), // Rule ID 5464 //
69753 /* 197188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69754 /* 197191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69755 /* 197195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69756 /* 197199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69757 /* 197203 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
69758 /* 197203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rr),
69759 /* 197208 */ GIR_RootConstrainSelectedInstOperands,
69760 /* 197209 */ // GIR_Coverage, 5464,
69761 /* 197209 */ GIR_Done,
69762 /* 197210 */ // Label 4428: @197210
69763 /* 197210 */ GIM_Reject,
69764 /* 197211 */ // Label 4422: @197211
69765 /* 197211 */ GIM_Reject,
69766 /* 197212 */ // Label 4388: @197212
69767 /* 197212 */ GIM_Try, /*On fail goto*//*Label 4429*/ GIMT_Encode4(197367),
69768 /* 197217 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69769 /* 197220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
69770 /* 197223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69771 /* 197227 */ GIM_Try, /*On fail goto*//*Label 4430*/ GIMT_Encode4(197285), // Rule ID 24044 //
69772 /* 197232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69773 /* 197235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69774 /* 197239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69775 /* 197243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69776 /* 197246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69777 /* 197250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69778 /* 197254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69779 /* 197258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69780 /* 197260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69781 /* 197267 */ // (umax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69782 /* 197267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
69783 /* 197270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69784 /* 197272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69785 /* 197274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69786 /* 197278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69787 /* 197283 */ GIR_RootConstrainSelectedInstOperands,
69788 /* 197284 */ // GIR_Coverage, 24044,
69789 /* 197284 */ GIR_EraseRootFromParent_Done,
69790 /* 197285 */ // Label 4430: @197285
69791 /* 197285 */ GIM_Try, /*On fail goto*//*Label 4431*/ GIMT_Encode4(197343), // Rule ID 5485 //
69792 /* 197290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69793 /* 197293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69794 /* 197297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69795 /* 197301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69796 /* 197305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69797 /* 197308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69798 /* 197312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69799 /* 197316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69800 /* 197318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69801 /* 197325 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69802 /* 197325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
69803 /* 197328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69804 /* 197330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69805 /* 197332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69806 /* 197336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69807 /* 197341 */ GIR_RootConstrainSelectedInstOperands,
69808 /* 197342 */ // GIR_Coverage, 5485,
69809 /* 197342 */ GIR_EraseRootFromParent_Done,
69810 /* 197343 */ // Label 4431: @197343
69811 /* 197343 */ GIM_Try, /*On fail goto*//*Label 4432*/ GIMT_Encode4(197366), // Rule ID 5482 //
69812 /* 197348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69813 /* 197351 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69814 /* 197355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69815 /* 197359 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
69816 /* 197359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
69817 /* 197364 */ GIR_RootConstrainSelectedInstOperands,
69818 /* 197365 */ // GIR_Coverage, 5482,
69819 /* 197365 */ GIR_Done,
69820 /* 197366 */ // Label 4432: @197366
69821 /* 197366 */ GIM_Reject,
69822 /* 197367 */ // Label 4429: @197367
69823 /* 197367 */ GIM_Reject,
69824 /* 197368 */ // Label 4389: @197368
69825 /* 197368 */ GIM_Try, /*On fail goto*//*Label 4433*/ GIMT_Encode4(197709),
69826 /* 197373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
69827 /* 197376 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
69828 /* 197379 */ GIM_Try, /*On fail goto*//*Label 4434*/ GIMT_Encode4(197441), // Rule ID 23501 //
69829 /* 197384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69830 /* 197387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69831 /* 197391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69832 /* 197395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69833 /* 197399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69834 /* 197402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69835 /* 197406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69836 /* 197410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69837 /* 197414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69838 /* 197416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69839 /* 197423 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69840 /* 197423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
69841 /* 197426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69842 /* 197428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69843 /* 197430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69844 /* 197434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69845 /* 197439 */ GIR_RootConstrainSelectedInstOperands,
69846 /* 197440 */ // GIR_Coverage, 23501,
69847 /* 197440 */ GIR_EraseRootFromParent_Done,
69848 /* 197441 */ // Label 4434: @197441
69849 /* 197441 */ GIM_Try, /*On fail goto*//*Label 4435*/ GIMT_Encode4(197503), // Rule ID 24014 //
69850 /* 197446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69851 /* 197449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69852 /* 197453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69853 /* 197457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69854 /* 197461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69855 /* 197464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69856 /* 197468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69857 /* 197472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69858 /* 197476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69859 /* 197478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69860 /* 197485 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69861 /* 197485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
69862 /* 197488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69863 /* 197490 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69864 /* 197492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69865 /* 197496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69866 /* 197501 */ GIR_RootConstrainSelectedInstOperands,
69867 /* 197502 */ // GIR_Coverage, 24014,
69868 /* 197502 */ GIR_EraseRootFromParent_Done,
69869 /* 197503 */ // Label 4435: @197503
69870 /* 197503 */ GIM_Try, /*On fail goto*//*Label 4436*/ GIMT_Encode4(197565), // Rule ID 2648 //
69871 /* 197508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69872 /* 197511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69873 /* 197515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69874 /* 197519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69875 /* 197523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69876 /* 197527 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69877 /* 197530 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69878 /* 197534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69879 /* 197538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69880 /* 197540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69881 /* 197547 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69882 /* 197547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
69883 /* 197550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69884 /* 197552 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69885 /* 197554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69886 /* 197558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69887 /* 197563 */ GIR_RootConstrainSelectedInstOperands,
69888 /* 197564 */ // GIR_Coverage, 2648,
69889 /* 197564 */ GIR_EraseRootFromParent_Done,
69890 /* 197565 */ // Label 4436: @197565
69891 /* 197565 */ GIM_Try, /*On fail goto*//*Label 4437*/ GIMT_Encode4(197627), // Rule ID 5434 //
69892 /* 197570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69893 /* 197573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69894 /* 197577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69895 /* 197581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69896 /* 197585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69897 /* 197589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69898 /* 197592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69899 /* 197596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69900 /* 197600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69901 /* 197602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69902 /* 197609 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
69903 /* 197609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
69904 /* 197612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69905 /* 197614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69906 /* 197616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69907 /* 197620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69908 /* 197625 */ GIR_RootConstrainSelectedInstOperands,
69909 /* 197626 */ // GIR_Coverage, 5434,
69910 /* 197626 */ GIR_EraseRootFromParent_Done,
69911 /* 197627 */ // Label 4437: @197627
69912 /* 197627 */ GIM_Try, /*On fail goto*//*Label 4438*/ GIMT_Encode4(197654), // Rule ID 2647 //
69913 /* 197632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69914 /* 197635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69915 /* 197639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69916 /* 197643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69917 /* 197647 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
69918 /* 197647 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrr),
69919 /* 197652 */ GIR_RootConstrainSelectedInstOperands,
69920 /* 197653 */ // GIR_Coverage, 2647,
69921 /* 197653 */ GIR_Done,
69922 /* 197654 */ // Label 4438: @197654
69923 /* 197654 */ GIM_Try, /*On fail goto*//*Label 4439*/ GIMT_Encode4(197681), // Rule ID 2649 //
69924 /* 197659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
69925 /* 197662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69926 /* 197666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69927 /* 197670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69928 /* 197674 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
69929 /* 197674 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUBrr),
69930 /* 197679 */ GIR_RootConstrainSelectedInstOperands,
69931 /* 197680 */ // GIR_Coverage, 2649,
69932 /* 197680 */ GIR_Done,
69933 /* 197681 */ // Label 4439: @197681
69934 /* 197681 */ GIM_Try, /*On fail goto*//*Label 4440*/ GIMT_Encode4(197708), // Rule ID 5431 //
69935 /* 197686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69936 /* 197689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69937 /* 197693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69938 /* 197697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69939 /* 197701 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
69940 /* 197701 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rr),
69941 /* 197706 */ GIR_RootConstrainSelectedInstOperands,
69942 /* 197707 */ // GIR_Coverage, 5431,
69943 /* 197707 */ GIR_Done,
69944 /* 197708 */ // Label 4440: @197708
69945 /* 197708 */ GIM_Reject,
69946 /* 197709 */ // Label 4433: @197709
69947 /* 197709 */ GIM_Reject,
69948 /* 197710 */ // Label 4390: @197710
69949 /* 197710 */ GIM_Try, /*On fail goto*//*Label 4441*/ GIMT_Encode4(198024),
69950 /* 197715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
69951 /* 197718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
69952 /* 197721 */ GIM_Try, /*On fail goto*//*Label 4442*/ GIMT_Encode4(197783), // Rule ID 23551 //
69953 /* 197726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69954 /* 197729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69955 /* 197733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69956 /* 197737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69957 /* 197741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69958 /* 197744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69959 /* 197748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69960 /* 197752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69961 /* 197756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69962 /* 197758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69963 /* 197765 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69964 /* 197765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
69965 /* 197768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69966 /* 197770 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69967 /* 197772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69968 /* 197776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69969 /* 197781 */ GIR_RootConstrainSelectedInstOperands,
69970 /* 197782 */ // GIR_Coverage, 23551,
69971 /* 197782 */ GIR_EraseRootFromParent_Done,
69972 /* 197783 */ // Label 4442: @197783
69973 /* 197783 */ GIM_Try, /*On fail goto*//*Label 4443*/ GIMT_Encode4(197845), // Rule ID 24020 //
69974 /* 197788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69975 /* 197791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69976 /* 197795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69977 /* 197799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69978 /* 197803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69979 /* 197806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69980 /* 197810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69981 /* 197814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69982 /* 197818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69983 /* 197820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69984 /* 197827 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
69985 /* 197827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
69986 /* 197830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69987 /* 197832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69988 /* 197834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69989 /* 197838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69990 /* 197843 */ GIR_RootConstrainSelectedInstOperands,
69991 /* 197844 */ // GIR_Coverage, 24020,
69992 /* 197844 */ GIR_EraseRootFromParent_Done,
69993 /* 197845 */ // Label 4443: @197845
69994 /* 197845 */ GIM_Try, /*On fail goto*//*Label 4444*/ GIMT_Encode4(197907), // Rule ID 3219 //
69995 /* 197850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69996 /* 197853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69997 /* 197857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69998 /* 197861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69999 /* 197865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70000 /* 197869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70001 /* 197872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70002 /* 197876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70003 /* 197880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70004 /* 197882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70005 /* 197889 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
70006 /* 197889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
70007 /* 197892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70008 /* 197894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
70009 /* 197896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70010 /* 197900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70011 /* 197905 */ GIR_RootConstrainSelectedInstOperands,
70012 /* 197906 */ // GIR_Coverage, 3219,
70013 /* 197906 */ GIR_EraseRootFromParent_Done,
70014 /* 197907 */ // Label 4444: @197907
70015 /* 197907 */ GIM_Try, /*On fail goto*//*Label 4445*/ GIMT_Encode4(197969), // Rule ID 5446 //
70016 /* 197912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70017 /* 197915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70018 /* 197919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70019 /* 197923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
70020 /* 197927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70021 /* 197931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70022 /* 197934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70023 /* 197938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70024 /* 197942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70025 /* 197944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70026 /* 197951 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
70027 /* 197951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
70028 /* 197954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70029 /* 197956 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
70030 /* 197958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70031 /* 197962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70032 /* 197967 */ GIR_RootConstrainSelectedInstOperands,
70033 /* 197968 */ // GIR_Coverage, 5446,
70034 /* 197968 */ GIR_EraseRootFromParent_Done,
70035 /* 197969 */ // Label 4445: @197969
70036 /* 197969 */ GIM_Try, /*On fail goto*//*Label 4446*/ GIMT_Encode4(197996), // Rule ID 3218 //
70037 /* 197974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70038 /* 197977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70039 /* 197981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70040 /* 197985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70041 /* 197989 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
70042 /* 197989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrr),
70043 /* 197994 */ GIR_RootConstrainSelectedInstOperands,
70044 /* 197995 */ // GIR_Coverage, 3218,
70045 /* 197995 */ GIR_Done,
70046 /* 197996 */ // Label 4446: @197996
70047 /* 197996 */ GIM_Try, /*On fail goto*//*Label 4447*/ GIMT_Encode4(198023), // Rule ID 5443 //
70048 /* 198001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70049 /* 198004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70050 /* 198008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70051 /* 198012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70052 /* 198016 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
70053 /* 198016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rr),
70054 /* 198021 */ GIR_RootConstrainSelectedInstOperands,
70055 /* 198022 */ // GIR_Coverage, 5443,
70056 /* 198022 */ GIR_Done,
70057 /* 198023 */ // Label 4447: @198023
70058 /* 198023 */ GIM_Reject,
70059 /* 198024 */ // Label 4441: @198024
70060 /* 198024 */ GIM_Reject,
70061 /* 198025 */ // Label 4391: @198025
70062 /* 198025 */ GIM_Try, /*On fail goto*//*Label 4448*/ GIMT_Encode4(198180),
70063 /* 198030 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70064 /* 198033 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
70065 /* 198036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70066 /* 198040 */ GIM_Try, /*On fail goto*//*Label 4449*/ GIMT_Encode4(198098), // Rule ID 24026 //
70067 /* 198045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70068 /* 198048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70069 /* 198052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70070 /* 198056 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70071 /* 198059 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70072 /* 198063 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70073 /* 198067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70074 /* 198071 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70075 /* 198073 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70076 /* 198080 */ // (umax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
70077 /* 198080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
70078 /* 198083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70079 /* 198085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
70080 /* 198087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70081 /* 198091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70082 /* 198096 */ GIR_RootConstrainSelectedInstOperands,
70083 /* 198097 */ // GIR_Coverage, 24026,
70084 /* 198097 */ GIR_EraseRootFromParent_Done,
70085 /* 198098 */ // Label 4449: @198098
70086 /* 198098 */ GIM_Try, /*On fail goto*//*Label 4450*/ GIMT_Encode4(198156), // Rule ID 5458 //
70087 /* 198103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70088 /* 198106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70089 /* 198110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
70090 /* 198114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70091 /* 198118 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70092 /* 198121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70093 /* 198125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70094 /* 198129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70095 /* 198131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70096 /* 198138 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
70097 /* 198138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
70098 /* 198141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70099 /* 198143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
70100 /* 198145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70101 /* 198149 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70102 /* 198154 */ GIR_RootConstrainSelectedInstOperands,
70103 /* 198155 */ // GIR_Coverage, 5458,
70104 /* 198155 */ GIR_EraseRootFromParent_Done,
70105 /* 198156 */ // Label 4450: @198156
70106 /* 198156 */ GIM_Try, /*On fail goto*//*Label 4451*/ GIMT_Encode4(198179), // Rule ID 5455 //
70107 /* 198161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70108 /* 198164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70109 /* 198168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70110 /* 198172 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
70111 /* 198172 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrr),
70112 /* 198177 */ GIR_RootConstrainSelectedInstOperands,
70113 /* 198178 */ // GIR_Coverage, 5455,
70114 /* 198178 */ GIR_Done,
70115 /* 198179 */ // Label 4451: @198179
70116 /* 198179 */ GIM_Reject,
70117 /* 198180 */ // Label 4448: @198180
70118 /* 198180 */ GIM_Reject,
70119 /* 198181 */ // Label 4392: @198181
70120 /* 198181 */ GIM_Try, /*On fail goto*//*Label 4452*/ GIMT_Encode4(198495),
70121 /* 198186 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
70122 /* 198189 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
70123 /* 198192 */ GIM_Try, /*On fail goto*//*Label 4453*/ GIMT_Encode4(198254), // Rule ID 23503 //
70124 /* 198197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70125 /* 198200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70126 /* 198204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70127 /* 198208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70128 /* 198212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70129 /* 198215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70130 /* 198219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70131 /* 198223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70132 /* 198227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70133 /* 198229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70134 /* 198236 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
70135 /* 198236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
70136 /* 198239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70137 /* 198241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
70138 /* 198243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70139 /* 198247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70140 /* 198252 */ GIR_RootConstrainSelectedInstOperands,
70141 /* 198253 */ // GIR_Coverage, 23503,
70142 /* 198253 */ GIR_EraseRootFromParent_Done,
70143 /* 198254 */ // Label 4453: @198254
70144 /* 198254 */ GIM_Try, /*On fail goto*//*Label 4454*/ GIMT_Encode4(198316), // Rule ID 24011 //
70145 /* 198259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70146 /* 198262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70147 /* 198266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70148 /* 198270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70149 /* 198274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70150 /* 198277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70151 /* 198281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70152 /* 198285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70153 /* 198289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70154 /* 198291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70155 /* 198298 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
70156 /* 198298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
70157 /* 198301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70158 /* 198303 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
70159 /* 198305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70160 /* 198309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70161 /* 198314 */ GIR_RootConstrainSelectedInstOperands,
70162 /* 198315 */ // GIR_Coverage, 24011,
70163 /* 198315 */ GIR_EraseRootFromParent_Done,
70164 /* 198316 */ // Label 4454: @198316
70165 /* 198316 */ GIM_Try, /*On fail goto*//*Label 4455*/ GIMT_Encode4(198378), // Rule ID 2652 //
70166 /* 198321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70167 /* 198324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70168 /* 198328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70169 /* 198332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
70170 /* 198336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70171 /* 198340 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70172 /* 198343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70173 /* 198347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70174 /* 198351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70175 /* 198353 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70176 /* 198360 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
70177 /* 198360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
70178 /* 198363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70179 /* 198365 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
70180 /* 198367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70181 /* 198371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70182 /* 198376 */ GIR_RootConstrainSelectedInstOperands,
70183 /* 198377 */ // GIR_Coverage, 2652,
70184 /* 198377 */ GIR_EraseRootFromParent_Done,
70185 /* 198378 */ // Label 4455: @198378
70186 /* 198378 */ GIM_Try, /*On fail goto*//*Label 4456*/ GIMT_Encode4(198440), // Rule ID 5428 //
70187 /* 198383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70188 /* 198386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70189 /* 198390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70190 /* 198394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
70191 /* 198398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70192 /* 198402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70193 /* 198405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70194 /* 198409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70195 /* 198413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70196 /* 198415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70197 /* 198422 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
70198 /* 198422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
70199 /* 198425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70200 /* 198427 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
70201 /* 198429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70202 /* 198433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70203 /* 198438 */ GIR_RootConstrainSelectedInstOperands,
70204 /* 198439 */ // GIR_Coverage, 5428,
70205 /* 198439 */ GIR_EraseRootFromParent_Done,
70206 /* 198440 */ // Label 4456: @198440
70207 /* 198440 */ GIM_Try, /*On fail goto*//*Label 4457*/ GIMT_Encode4(198467), // Rule ID 2651 //
70208 /* 198445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70209 /* 198448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70210 /* 198452 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70211 /* 198456 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70212 /* 198460 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
70213 /* 198460 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrr),
70214 /* 198465 */ GIR_RootConstrainSelectedInstOperands,
70215 /* 198466 */ // GIR_Coverage, 2651,
70216 /* 198466 */ GIR_Done,
70217 /* 198467 */ // Label 4457: @198467
70218 /* 198467 */ GIM_Try, /*On fail goto*//*Label 4458*/ GIMT_Encode4(198494), // Rule ID 5425 //
70219 /* 198472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70220 /* 198475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70221 /* 198479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70222 /* 198483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70223 /* 198487 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
70224 /* 198487 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rr),
70225 /* 198492 */ GIR_RootConstrainSelectedInstOperands,
70226 /* 198493 */ // GIR_Coverage, 5425,
70227 /* 198493 */ GIR_Done,
70228 /* 198494 */ // Label 4458: @198494
70229 /* 198494 */ GIM_Reject,
70230 /* 198495 */ // Label 4452: @198495
70231 /* 198495 */ GIM_Reject,
70232 /* 198496 */ // Label 4393: @198496
70233 /* 198496 */ GIM_Try, /*On fail goto*//*Label 4459*/ GIMT_Encode4(198651),
70234 /* 198501 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70235 /* 198504 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
70236 /* 198507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70237 /* 198511 */ GIM_Try, /*On fail goto*//*Label 4460*/ GIMT_Encode4(198569), // Rule ID 24017 //
70238 /* 198516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70239 /* 198519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70240 /* 198523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70241 /* 198527 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70242 /* 198530 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70243 /* 198534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70244 /* 198538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70245 /* 198542 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70246 /* 198544 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70247 /* 198551 */ // (umax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
70248 /* 198551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
70249 /* 198554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70250 /* 198556 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
70251 /* 198558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70252 /* 198562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70253 /* 198567 */ GIR_RootConstrainSelectedInstOperands,
70254 /* 198568 */ // GIR_Coverage, 24017,
70255 /* 198568 */ GIR_EraseRootFromParent_Done,
70256 /* 198569 */ // Label 4460: @198569
70257 /* 198569 */ GIM_Try, /*On fail goto*//*Label 4461*/ GIMT_Encode4(198627), // Rule ID 5440 //
70258 /* 198574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70259 /* 198577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70260 /* 198581 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
70261 /* 198585 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70262 /* 198589 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70263 /* 198592 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70264 /* 198596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70265 /* 198600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70266 /* 198602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70267 /* 198609 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
70268 /* 198609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
70269 /* 198612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70270 /* 198614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
70271 /* 198616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70272 /* 198620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70273 /* 198625 */ GIR_RootConstrainSelectedInstOperands,
70274 /* 198626 */ // GIR_Coverage, 5440,
70275 /* 198626 */ GIR_EraseRootFromParent_Done,
70276 /* 198627 */ // Label 4461: @198627
70277 /* 198627 */ GIM_Try, /*On fail goto*//*Label 4462*/ GIMT_Encode4(198650), // Rule ID 5437 //
70278 /* 198632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70279 /* 198635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70280 /* 198639 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70281 /* 198643 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
70282 /* 198643 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrr),
70283 /* 198648 */ GIR_RootConstrainSelectedInstOperands,
70284 /* 198649 */ // GIR_Coverage, 5437,
70285 /* 198649 */ GIR_Done,
70286 /* 198650 */ // Label 4462: @198650
70287 /* 198650 */ GIM_Reject,
70288 /* 198651 */ // Label 4459: @198651
70289 /* 198651 */ GIM_Reject,
70290 /* 198652 */ // Label 4394: @198652
70291 /* 198652 */ GIM_Try, /*On fail goto*//*Label 4463*/ GIMT_Encode4(198807),
70292 /* 198657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70293 /* 198660 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
70294 /* 198663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70295 /* 198667 */ GIM_Try, /*On fail goto*//*Label 4464*/ GIMT_Encode4(198725), // Rule ID 24008 //
70296 /* 198672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70297 /* 198675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70298 /* 198679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70299 /* 198683 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70300 /* 198686 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70301 /* 198690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70302 /* 198694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70303 /* 198698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70304 /* 198700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70305 /* 198707 */ // (umax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
70306 /* 198707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
70307 /* 198710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70308 /* 198712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
70309 /* 198714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70310 /* 198718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70311 /* 198723 */ GIR_RootConstrainSelectedInstOperands,
70312 /* 198724 */ // GIR_Coverage, 24008,
70313 /* 198724 */ GIR_EraseRootFromParent_Done,
70314 /* 198725 */ // Label 4464: @198725
70315 /* 198725 */ GIM_Try, /*On fail goto*//*Label 4465*/ GIMT_Encode4(198783), // Rule ID 5422 //
70316 /* 198730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70317 /* 198733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70318 /* 198737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
70319 /* 198741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70320 /* 198745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70321 /* 198748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70322 /* 198752 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70323 /* 198756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70324 /* 198758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70325 /* 198765 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
70326 /* 198765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
70327 /* 198768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70328 /* 198770 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
70329 /* 198772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
70330 /* 198776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70331 /* 198781 */ GIR_RootConstrainSelectedInstOperands,
70332 /* 198782 */ // GIR_Coverage, 5422,
70333 /* 198782 */ GIR_EraseRootFromParent_Done,
70334 /* 198783 */ // Label 4465: @198783
70335 /* 198783 */ GIM_Try, /*On fail goto*//*Label 4466*/ GIMT_Encode4(198806), // Rule ID 5419 //
70336 /* 198788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70337 /* 198791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70338 /* 198795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70339 /* 198799 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
70340 /* 198799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrr),
70341 /* 198804 */ GIR_RootConstrainSelectedInstOperands,
70342 /* 198805 */ // GIR_Coverage, 5419,
70343 /* 198805 */ GIR_Done,
70344 /* 198806 */ // Label 4466: @198806
70345 /* 198806 */ GIM_Reject,
70346 /* 198807 */ // Label 4463: @198807
70347 /* 198807 */ GIM_Reject,
70348 /* 198808 */ // Label 4395: @198808
70349 /* 198808 */ GIM_Reject,
70350 /* 198809 */ // Label 59: @198809
70351 /* 198809 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4479*/ GIMT_Encode4(200689),
70352 /* 198820 */ /*GILLT_v2s64*//*Label 4467*/ GIMT_Encode4(198888), GIMT_Encode4(0),
70353 /* 198828 */ /*GILLT_v4s32*//*Label 4468*/ GIMT_Encode4(199084),
70354 /* 198832 */ /*GILLT_v4s64*//*Label 4469*/ GIMT_Encode4(199275), GIMT_Encode4(0),
70355 /* 198840 */ /*GILLT_v8s16*//*Label 4470*/ GIMT_Encode4(199463),
70356 /* 198844 */ /*GILLT_v8s32*//*Label 4471*/ GIMT_Encode4(199654),
70357 /* 198848 */ /*GILLT_v8s64*//*Label 4472*/ GIMT_Encode4(199822), GIMT_Encode4(0),
70358 /* 198856 */ /*GILLT_v16s8*//*Label 4473*/ GIMT_Encode4(199907),
70359 /* 198860 */ /*GILLT_v16s16*//*Label 4474*/ GIMT_Encode4(200098),
70360 /* 198864 */ /*GILLT_v16s32*//*Label 4475*/ GIMT_Encode4(200266), GIMT_Encode4(0),
70361 /* 198872 */ /*GILLT_v32s8*//*Label 4476*/ GIMT_Encode4(200351),
70362 /* 198876 */ /*GILLT_v32s16*//*Label 4477*/ GIMT_Encode4(200519), GIMT_Encode4(0),
70363 /* 198884 */ /*GILLT_v64s8*//*Label 4478*/ GIMT_Encode4(200604),
70364 /* 198888 */ // Label 4467: @198888
70365 /* 198888 */ GIM_Try, /*On fail goto*//*Label 4480*/ GIMT_Encode4(199083),
70366 /* 198893 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
70367 /* 198896 */ GIM_Try, /*On fail goto*//*Label 4481*/ GIMT_Encode4(198952), // Rule ID 13270 //
70368 /* 198901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70369 /* 198904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70370 /* 198908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70371 /* 198912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70372 /* 198916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70373 /* 198919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70374 /* 198923 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70375 /* 198927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70376 /* 198929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70377 /* 198936 */ // (abs:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
70378 /* 198936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rm),
70379 /* 198939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70380 /* 198941 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70381 /* 198945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70382 /* 198950 */ GIR_RootConstrainSelectedInstOperands,
70383 /* 198951 */ // GIR_Coverage, 13270,
70384 /* 198951 */ GIR_EraseRootFromParent_Done,
70385 /* 198952 */ // Label 4481: @198952
70386 /* 198952 */ GIM_Try, /*On fail goto*//*Label 4482*/ GIMT_Encode4(198975), // Rule ID 13267 //
70387 /* 198957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70388 /* 198960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70389 /* 198964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70390 /* 198968 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPABSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
70391 /* 198968 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rr),
70392 /* 198973 */ GIR_RootConstrainSelectedInstOperands,
70393 /* 198974 */ // GIR_Coverage, 13267,
70394 /* 198974 */ GIR_Done,
70395 /* 198975 */ // Label 4482: @198975
70396 /* 198975 */ GIM_Try, /*On fail goto*//*Label 4483*/ GIMT_Encode4(199082), // Rule ID 21832 //
70397 /* 198980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
70398 /* 198983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70399 /* 198987 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70400 /* 198991 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPABSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
70401 /* 198991 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
70402 /* 198994 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70403 /* 198998 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70404 /* 199003 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
70405 /* 199005 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
70406 /* 199008 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
70407 /* 199012 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70408 /* 199017 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
70409 /* 199020 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
70410 /* 199024 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
70411 /* 199027 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
70412 /* 199032 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70413 /* 199037 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
70414 /* 199042 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
70415 /* 199045 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
70416 /* 199049 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70417 /* 199054 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
70418 /* 199057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70419 /* 199059 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70420 /* 199062 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70421 /* 199064 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
70422 /* 199071 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70423 /* 199076 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70424 /* 199081 */ // GIR_Coverage, 21832,
70425 /* 199081 */ GIR_EraseRootFromParent_Done,
70426 /* 199082 */ // Label 4483: @199082
70427 /* 199082 */ GIM_Reject,
70428 /* 199083 */ // Label 4480: @199083
70429 /* 199083 */ GIM_Reject,
70430 /* 199084 */ // Label 4468: @199084
70431 /* 199084 */ GIM_Try, /*On fail goto*//*Label 4484*/ GIMT_Encode4(199274),
70432 /* 199089 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
70433 /* 199092 */ GIM_Try, /*On fail goto*//*Label 4485*/ GIMT_Encode4(199148), // Rule ID 2994 //
70434 /* 199097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
70435 /* 199100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70436 /* 199104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70437 /* 199108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70438 /* 199112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70439 /* 199115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70440 /* 199119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70441 /* 199123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70442 /* 199125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70443 /* 199132 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
70444 /* 199132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDrm),
70445 /* 199135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70446 /* 199137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70447 /* 199141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70448 /* 199146 */ GIR_RootConstrainSelectedInstOperands,
70449 /* 199147 */ // GIR_Coverage, 2994,
70450 /* 199147 */ GIR_EraseRootFromParent_Done,
70451 /* 199148 */ // Label 4485: @199148
70452 /* 199148 */ GIM_Try, /*On fail goto*//*Label 4486*/ GIMT_Encode4(199204), // Rule ID 13297 //
70453 /* 199153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70454 /* 199156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70455 /* 199160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70456 /* 199164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70457 /* 199168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70458 /* 199171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70459 /* 199175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70460 /* 199179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70461 /* 199181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70462 /* 199188 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
70463 /* 199188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rm),
70464 /* 199191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70465 /* 199193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70466 /* 199197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70467 /* 199202 */ GIR_RootConstrainSelectedInstOperands,
70468 /* 199203 */ // GIR_Coverage, 13297,
70469 /* 199203 */ GIR_EraseRootFromParent_Done,
70470 /* 199204 */ // Label 4486: @199204
70471 /* 199204 */ GIM_Try, /*On fail goto*//*Label 4487*/ GIMT_Encode4(199227), // Rule ID 2993 //
70472 /* 199209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
70473 /* 199212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70474 /* 199216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70475 /* 199220 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (VPABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
70476 /* 199220 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDrr),
70477 /* 199225 */ GIR_RootConstrainSelectedInstOperands,
70478 /* 199226 */ // GIR_Coverage, 2993,
70479 /* 199226 */ GIR_Done,
70480 /* 199227 */ // Label 4487: @199227
70481 /* 199227 */ GIM_Try, /*On fail goto*//*Label 4488*/ GIMT_Encode4(199250), // Rule ID 3005 //
70482 /* 199232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
70483 /* 199235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70484 /* 199239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70485 /* 199243 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (PABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
70486 /* 199243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSDrr),
70487 /* 199248 */ GIR_RootConstrainSelectedInstOperands,
70488 /* 199249 */ // GIR_Coverage, 3005,
70489 /* 199249 */ GIR_Done,
70490 /* 199250 */ // Label 4488: @199250
70491 /* 199250 */ GIM_Try, /*On fail goto*//*Label 4489*/ GIMT_Encode4(199273), // Rule ID 13294 //
70492 /* 199255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70493 /* 199258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70494 /* 199262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70495 /* 199266 */ // (abs:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPABSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
70496 /* 199266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rr),
70497 /* 199271 */ GIR_RootConstrainSelectedInstOperands,
70498 /* 199272 */ // GIR_Coverage, 13294,
70499 /* 199272 */ GIR_Done,
70500 /* 199273 */ // Label 4489: @199273
70501 /* 199273 */ GIM_Reject,
70502 /* 199274 */ // Label 4484: @199274
70503 /* 199274 */ GIM_Reject,
70504 /* 199275 */ // Label 4469: @199275
70505 /* 199275 */ GIM_Try, /*On fail goto*//*Label 4490*/ GIMT_Encode4(199462),
70506 /* 199280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70507 /* 199283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70508 /* 199287 */ GIM_Try, /*On fail goto*//*Label 4491*/ GIMT_Encode4(199339), // Rule ID 13261 //
70509 /* 199292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70510 /* 199295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70511 /* 199299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70512 /* 199303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70513 /* 199306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70514 /* 199310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70515 /* 199314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70516 /* 199316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70517 /* 199323 */ // (abs:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
70518 /* 199323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rm),
70519 /* 199326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70520 /* 199328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70521 /* 199332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70522 /* 199337 */ GIR_RootConstrainSelectedInstOperands,
70523 /* 199338 */ // GIR_Coverage, 13261,
70524 /* 199338 */ GIR_EraseRootFromParent_Done,
70525 /* 199339 */ // Label 4491: @199339
70526 /* 199339 */ GIM_Try, /*On fail goto*//*Label 4492*/ GIMT_Encode4(199358), // Rule ID 13258 //
70527 /* 199344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70528 /* 199347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70529 /* 199351 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPABSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
70530 /* 199351 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rr),
70531 /* 199356 */ GIR_RootConstrainSelectedInstOperands,
70532 /* 199357 */ // GIR_Coverage, 13258,
70533 /* 199357 */ GIR_Done,
70534 /* 199358 */ // Label 4492: @199358
70535 /* 199358 */ GIM_Try, /*On fail goto*//*Label 4493*/ GIMT_Encode4(199461), // Rule ID 21831 //
70536 /* 199363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
70537 /* 199366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70538 /* 199370 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPABSQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
70539 /* 199370 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
70540 /* 199373 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
70541 /* 199377 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70542 /* 199382 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
70543 /* 199384 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
70544 /* 199387 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
70545 /* 199391 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70546 /* 199396 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
70547 /* 199399 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
70548 /* 199403 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
70549 /* 199406 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
70550 /* 199411 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70551 /* 199416 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
70552 /* 199421 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
70553 /* 199424 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
70554 /* 199428 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70555 /* 199433 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
70556 /* 199436 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
70557 /* 199438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70558 /* 199441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70559 /* 199443 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
70560 /* 199450 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70561 /* 199455 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70562 /* 199460 */ // GIR_Coverage, 21831,
70563 /* 199460 */ GIR_EraseRootFromParent_Done,
70564 /* 199461 */ // Label 4493: @199461
70565 /* 199461 */ GIM_Reject,
70566 /* 199462 */ // Label 4490: @199462
70567 /* 199462 */ GIM_Reject,
70568 /* 199463 */ // Label 4470: @199463
70569 /* 199463 */ GIM_Try, /*On fail goto*//*Label 4494*/ GIMT_Encode4(199653),
70570 /* 199468 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
70571 /* 199471 */ GIM_Try, /*On fail goto*//*Label 4495*/ GIMT_Encode4(199527), // Rule ID 2992 //
70572 /* 199476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
70573 /* 199479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70574 /* 199483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70575 /* 199487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70576 /* 199491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70577 /* 199494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70578 /* 199498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70579 /* 199502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70580 /* 199504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70581 /* 199511 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
70582 /* 199511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWrm),
70583 /* 199514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70584 /* 199516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70585 /* 199520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70586 /* 199525 */ GIR_RootConstrainSelectedInstOperands,
70587 /* 199526 */ // GIR_Coverage, 2992,
70588 /* 199526 */ GIR_EraseRootFromParent_Done,
70589 /* 199527 */ // Label 4495: @199527
70590 /* 199527 */ GIM_Try, /*On fail goto*//*Label 4496*/ GIMT_Encode4(199583), // Rule ID 13318 //
70591 /* 199532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70592 /* 199535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70593 /* 199539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70594 /* 199543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70595 /* 199547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70596 /* 199550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70597 /* 199554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70598 /* 199558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70599 /* 199560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70600 /* 199567 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
70601 /* 199567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rm),
70602 /* 199570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70603 /* 199572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70604 /* 199576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70605 /* 199581 */ GIR_RootConstrainSelectedInstOperands,
70606 /* 199582 */ // GIR_Coverage, 13318,
70607 /* 199582 */ GIR_EraseRootFromParent_Done,
70608 /* 199583 */ // Label 4496: @199583
70609 /* 199583 */ GIM_Try, /*On fail goto*//*Label 4497*/ GIMT_Encode4(199606), // Rule ID 2991 //
70610 /* 199588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
70611 /* 199591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70612 /* 199595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70613 /* 199599 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (VPABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
70614 /* 199599 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWrr),
70615 /* 199604 */ GIR_RootConstrainSelectedInstOperands,
70616 /* 199605 */ // GIR_Coverage, 2991,
70617 /* 199605 */ GIR_Done,
70618 /* 199606 */ // Label 4497: @199606
70619 /* 199606 */ GIM_Try, /*On fail goto*//*Label 4498*/ GIMT_Encode4(199629), // Rule ID 3003 //
70620 /* 199611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
70621 /* 199614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70622 /* 199618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70623 /* 199622 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (PABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
70624 /* 199622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSWrr),
70625 /* 199627 */ GIR_RootConstrainSelectedInstOperands,
70626 /* 199628 */ // GIR_Coverage, 3003,
70627 /* 199628 */ GIR_Done,
70628 /* 199629 */ // Label 4498: @199629
70629 /* 199629 */ GIM_Try, /*On fail goto*//*Label 4499*/ GIMT_Encode4(199652), // Rule ID 13315 //
70630 /* 199634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70631 /* 199637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70632 /* 199641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70633 /* 199645 */ // (abs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPABSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
70634 /* 199645 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rr),
70635 /* 199650 */ GIR_RootConstrainSelectedInstOperands,
70636 /* 199651 */ // GIR_Coverage, 13315,
70637 /* 199651 */ GIR_Done,
70638 /* 199652 */ // Label 4499: @199652
70639 /* 199652 */ GIM_Reject,
70640 /* 199653 */ // Label 4494: @199653
70641 /* 199653 */ GIM_Reject,
70642 /* 199654 */ // Label 4471: @199654
70643 /* 199654 */ GIM_Try, /*On fail goto*//*Label 4500*/ GIMT_Encode4(199821),
70644 /* 199659 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70645 /* 199662 */ GIM_Try, /*On fail goto*//*Label 4501*/ GIMT_Encode4(199718), // Rule ID 3000 //
70646 /* 199667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
70647 /* 199670 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70648 /* 199674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70649 /* 199678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70650 /* 199682 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70651 /* 199685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70652 /* 199689 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70653 /* 199693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70654 /* 199695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70655 /* 199702 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
70656 /* 199702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDYrm),
70657 /* 199705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70658 /* 199707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70659 /* 199711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70660 /* 199716 */ GIR_RootConstrainSelectedInstOperands,
70661 /* 199717 */ // GIR_Coverage, 3000,
70662 /* 199717 */ GIR_EraseRootFromParent_Done,
70663 /* 199718 */ // Label 4501: @199718
70664 /* 199718 */ GIM_Try, /*On fail goto*//*Label 4502*/ GIMT_Encode4(199774), // Rule ID 13288 //
70665 /* 199723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70666 /* 199726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70667 /* 199730 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70668 /* 199734 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70669 /* 199738 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70670 /* 199741 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70671 /* 199745 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70672 /* 199749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70673 /* 199751 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70674 /* 199758 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
70675 /* 199758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rm),
70676 /* 199761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70677 /* 199763 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70678 /* 199767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70679 /* 199772 */ GIR_RootConstrainSelectedInstOperands,
70680 /* 199773 */ // GIR_Coverage, 13288,
70681 /* 199773 */ GIR_EraseRootFromParent_Done,
70682 /* 199774 */ // Label 4502: @199774
70683 /* 199774 */ GIM_Try, /*On fail goto*//*Label 4503*/ GIMT_Encode4(199797), // Rule ID 2999 //
70684 /* 199779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
70685 /* 199782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70686 /* 199786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70687 /* 199790 */ // (abs:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src) => (VPABSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src)
70688 /* 199790 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDYrr),
70689 /* 199795 */ GIR_RootConstrainSelectedInstOperands,
70690 /* 199796 */ // GIR_Coverage, 2999,
70691 /* 199796 */ GIR_Done,
70692 /* 199797 */ // Label 4503: @199797
70693 /* 199797 */ GIM_Try, /*On fail goto*//*Label 4504*/ GIMT_Encode4(199820), // Rule ID 13285 //
70694 /* 199802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
70695 /* 199805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70696 /* 199809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70697 /* 199813 */ // (abs:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPABSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
70698 /* 199813 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rr),
70699 /* 199818 */ GIR_RootConstrainSelectedInstOperands,
70700 /* 199819 */ // GIR_Coverage, 13285,
70701 /* 199819 */ GIR_Done,
70702 /* 199820 */ // Label 4504: @199820
70703 /* 199820 */ GIM_Reject,
70704 /* 199821 */ // Label 4500: @199821
70705 /* 199821 */ GIM_Reject,
70706 /* 199822 */ // Label 4472: @199822
70707 /* 199822 */ GIM_Try, /*On fail goto*//*Label 4505*/ GIMT_Encode4(199906),
70708 /* 199827 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70709 /* 199830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70710 /* 199834 */ GIM_Try, /*On fail goto*//*Label 4506*/ GIMT_Encode4(199886), // Rule ID 13252 //
70711 /* 199839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70712 /* 199842 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70713 /* 199846 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70714 /* 199850 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70715 /* 199853 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70716 /* 199857 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70717 /* 199861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70718 /* 199863 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70719 /* 199870 */ // (abs:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
70720 /* 199870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZrm),
70721 /* 199873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70722 /* 199875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70723 /* 199879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70724 /* 199884 */ GIR_RootConstrainSelectedInstOperands,
70725 /* 199885 */ // GIR_Coverage, 13252,
70726 /* 199885 */ GIR_EraseRootFromParent_Done,
70727 /* 199886 */ // Label 4506: @199886
70728 /* 199886 */ GIM_Try, /*On fail goto*//*Label 4507*/ GIMT_Encode4(199905), // Rule ID 13249 //
70729 /* 199891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70730 /* 199894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70731 /* 199898 */ // (abs:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPABSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
70732 /* 199898 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
70733 /* 199903 */ GIR_RootConstrainSelectedInstOperands,
70734 /* 199904 */ // GIR_Coverage, 13249,
70735 /* 199904 */ GIR_Done,
70736 /* 199905 */ // Label 4507: @199905
70737 /* 199905 */ GIM_Reject,
70738 /* 199906 */ // Label 4505: @199906
70739 /* 199906 */ GIM_Reject,
70740 /* 199907 */ // Label 4473: @199907
70741 /* 199907 */ GIM_Try, /*On fail goto*//*Label 4508*/ GIMT_Encode4(200097),
70742 /* 199912 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
70743 /* 199915 */ GIM_Try, /*On fail goto*//*Label 4509*/ GIMT_Encode4(199971), // Rule ID 2990 //
70744 /* 199920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
70745 /* 199923 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70746 /* 199927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70747 /* 199931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70748 /* 199935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70749 /* 199938 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70750 /* 199942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70751 /* 199946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70752 /* 199948 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70753 /* 199955 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
70754 /* 199955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBrm),
70755 /* 199958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70756 /* 199960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70757 /* 199964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70758 /* 199969 */ GIR_RootConstrainSelectedInstOperands,
70759 /* 199970 */ // GIR_Coverage, 2990,
70760 /* 199970 */ GIR_EraseRootFromParent_Done,
70761 /* 199971 */ // Label 4509: @199971
70762 /* 199971 */ GIM_Try, /*On fail goto*//*Label 4510*/ GIMT_Encode4(200027), // Rule ID 13336 //
70763 /* 199976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70764 /* 199979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70765 /* 199983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70766 /* 199987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70767 /* 199991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70768 /* 199994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70769 /* 199998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70770 /* 200002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70771 /* 200004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70772 /* 200011 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
70773 /* 200011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rm),
70774 /* 200014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70775 /* 200016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70776 /* 200020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70777 /* 200025 */ GIR_RootConstrainSelectedInstOperands,
70778 /* 200026 */ // GIR_Coverage, 13336,
70779 /* 200026 */ GIR_EraseRootFromParent_Done,
70780 /* 200027 */ // Label 4510: @200027
70781 /* 200027 */ GIM_Try, /*On fail goto*//*Label 4511*/ GIMT_Encode4(200050), // Rule ID 2989 //
70782 /* 200032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
70783 /* 200035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70784 /* 200039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70785 /* 200043 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (VPABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
70786 /* 200043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBrr),
70787 /* 200048 */ GIR_RootConstrainSelectedInstOperands,
70788 /* 200049 */ // GIR_Coverage, 2989,
70789 /* 200049 */ GIR_Done,
70790 /* 200050 */ // Label 4511: @200050
70791 /* 200050 */ GIM_Try, /*On fail goto*//*Label 4512*/ GIMT_Encode4(200073), // Rule ID 3001 //
70792 /* 200055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
70793 /* 200058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70794 /* 200062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70795 /* 200066 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (PABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
70796 /* 200066 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSBrr),
70797 /* 200071 */ GIR_RootConstrainSelectedInstOperands,
70798 /* 200072 */ // GIR_Coverage, 3001,
70799 /* 200072 */ GIR_Done,
70800 /* 200073 */ // Label 4512: @200073
70801 /* 200073 */ GIM_Try, /*On fail goto*//*Label 4513*/ GIMT_Encode4(200096), // Rule ID 13333 //
70802 /* 200078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70803 /* 200081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70804 /* 200085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70805 /* 200089 */ // (abs:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPABSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
70806 /* 200089 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rr),
70807 /* 200094 */ GIR_RootConstrainSelectedInstOperands,
70808 /* 200095 */ // GIR_Coverage, 13333,
70809 /* 200095 */ GIR_Done,
70810 /* 200096 */ // Label 4513: @200096
70811 /* 200096 */ GIM_Reject,
70812 /* 200097 */ // Label 4508: @200097
70813 /* 200097 */ GIM_Reject,
70814 /* 200098 */ // Label 4474: @200098
70815 /* 200098 */ GIM_Try, /*On fail goto*//*Label 4514*/ GIMT_Encode4(200265),
70816 /* 200103 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
70817 /* 200106 */ GIM_Try, /*On fail goto*//*Label 4515*/ GIMT_Encode4(200162), // Rule ID 2998 //
70818 /* 200111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70819 /* 200114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70820 /* 200118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70821 /* 200122 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70822 /* 200126 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70823 /* 200129 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70824 /* 200133 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70825 /* 200137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70826 /* 200139 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70827 /* 200146 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
70828 /* 200146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWYrm),
70829 /* 200149 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70830 /* 200151 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70831 /* 200155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70832 /* 200160 */ GIR_RootConstrainSelectedInstOperands,
70833 /* 200161 */ // GIR_Coverage, 2998,
70834 /* 200161 */ GIR_EraseRootFromParent_Done,
70835 /* 200162 */ // Label 4515: @200162
70836 /* 200162 */ GIM_Try, /*On fail goto*//*Label 4516*/ GIMT_Encode4(200218), // Rule ID 13312 //
70837 /* 200167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70838 /* 200170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70839 /* 200174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70840 /* 200178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70841 /* 200182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70842 /* 200185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70843 /* 200189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70844 /* 200193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70845 /* 200195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70846 /* 200202 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
70847 /* 200202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rm),
70848 /* 200205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70849 /* 200207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70850 /* 200211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70851 /* 200216 */ GIR_RootConstrainSelectedInstOperands,
70852 /* 200217 */ // GIR_Coverage, 13312,
70853 /* 200217 */ GIR_EraseRootFromParent_Done,
70854 /* 200218 */ // Label 4516: @200218
70855 /* 200218 */ GIM_Try, /*On fail goto*//*Label 4517*/ GIMT_Encode4(200241), // Rule ID 2997 //
70856 /* 200223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70857 /* 200226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70858 /* 200230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70859 /* 200234 */ // (abs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src) => (VPABSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src)
70860 /* 200234 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWYrr),
70861 /* 200239 */ GIR_RootConstrainSelectedInstOperands,
70862 /* 200240 */ // GIR_Coverage, 2997,
70863 /* 200240 */ GIR_Done,
70864 /* 200241 */ // Label 4517: @200241
70865 /* 200241 */ GIM_Try, /*On fail goto*//*Label 4518*/ GIMT_Encode4(200264), // Rule ID 13309 //
70866 /* 200246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70867 /* 200249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70868 /* 200253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70869 /* 200257 */ // (abs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPABSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
70870 /* 200257 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rr),
70871 /* 200262 */ GIR_RootConstrainSelectedInstOperands,
70872 /* 200263 */ // GIR_Coverage, 13309,
70873 /* 200263 */ GIR_Done,
70874 /* 200264 */ // Label 4518: @200264
70875 /* 200264 */ GIM_Reject,
70876 /* 200265 */ // Label 4514: @200265
70877 /* 200265 */ GIM_Reject,
70878 /* 200266 */ // Label 4475: @200266
70879 /* 200266 */ GIM_Try, /*On fail goto*//*Label 4519*/ GIMT_Encode4(200350),
70880 /* 200271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70881 /* 200274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70882 /* 200278 */ GIM_Try, /*On fail goto*//*Label 4520*/ GIMT_Encode4(200330), // Rule ID 13279 //
70883 /* 200283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70884 /* 200286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70885 /* 200290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70886 /* 200294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70887 /* 200297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70888 /* 200301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70889 /* 200305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70890 /* 200307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70891 /* 200314 */ // (abs:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
70892 /* 200314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZrm),
70893 /* 200317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70894 /* 200319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70895 /* 200323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70896 /* 200328 */ GIR_RootConstrainSelectedInstOperands,
70897 /* 200329 */ // GIR_Coverage, 13279,
70898 /* 200329 */ GIR_EraseRootFromParent_Done,
70899 /* 200330 */ // Label 4520: @200330
70900 /* 200330 */ GIM_Try, /*On fail goto*//*Label 4521*/ GIMT_Encode4(200349), // Rule ID 13276 //
70901 /* 200335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
70902 /* 200338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70903 /* 200342 */ // (abs:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPABSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
70904 /* 200342 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZrr),
70905 /* 200347 */ GIR_RootConstrainSelectedInstOperands,
70906 /* 200348 */ // GIR_Coverage, 13276,
70907 /* 200348 */ GIR_Done,
70908 /* 200349 */ // Label 4521: @200349
70909 /* 200349 */ GIM_Reject,
70910 /* 200350 */ // Label 4519: @200350
70911 /* 200350 */ GIM_Reject,
70912 /* 200351 */ // Label 4476: @200351
70913 /* 200351 */ GIM_Try, /*On fail goto*//*Label 4522*/ GIMT_Encode4(200518),
70914 /* 200356 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
70915 /* 200359 */ GIM_Try, /*On fail goto*//*Label 4523*/ GIMT_Encode4(200415), // Rule ID 2996 //
70916 /* 200364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70917 /* 200367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70918 /* 200371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70919 /* 200375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70920 /* 200379 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70921 /* 200382 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70922 /* 200386 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70923 /* 200390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70924 /* 200392 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70925 /* 200399 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
70926 /* 200399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBYrm),
70927 /* 200402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70928 /* 200404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
70929 /* 200408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70930 /* 200413 */ GIR_RootConstrainSelectedInstOperands,
70931 /* 200414 */ // GIR_Coverage, 2996,
70932 /* 200414 */ GIR_EraseRootFromParent_Done,
70933 /* 200415 */ // Label 4523: @200415
70934 /* 200415 */ GIM_Try, /*On fail goto*//*Label 4524*/ GIMT_Encode4(200471), // Rule ID 13330 //
70935 /* 200420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70936 /* 200423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70937 /* 200427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70938 /* 200431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70939 /* 200435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70940 /* 200438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70941 /* 200442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70942 /* 200446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70943 /* 200448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70944 /* 200455 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
70945 /* 200455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rm),
70946 /* 200458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70947 /* 200460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70948 /* 200464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70949 /* 200469 */ GIR_RootConstrainSelectedInstOperands,
70950 /* 200470 */ // GIR_Coverage, 13330,
70951 /* 200470 */ GIR_EraseRootFromParent_Done,
70952 /* 200471 */ // Label 4524: @200471
70953 /* 200471 */ GIM_Try, /*On fail goto*//*Label 4525*/ GIMT_Encode4(200494), // Rule ID 2995 //
70954 /* 200476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
70955 /* 200479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70956 /* 200483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70957 /* 200487 */ // (abs:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src) => (VPABSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src)
70958 /* 200487 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBYrr),
70959 /* 200492 */ GIR_RootConstrainSelectedInstOperands,
70960 /* 200493 */ // GIR_Coverage, 2995,
70961 /* 200493 */ GIR_Done,
70962 /* 200494 */ // Label 4525: @200494
70963 /* 200494 */ GIM_Try, /*On fail goto*//*Label 4526*/ GIMT_Encode4(200517), // Rule ID 13327 //
70964 /* 200499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
70965 /* 200502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70966 /* 200506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70967 /* 200510 */ // (abs:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPABSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
70968 /* 200510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rr),
70969 /* 200515 */ GIR_RootConstrainSelectedInstOperands,
70970 /* 200516 */ // GIR_Coverage, 13327,
70971 /* 200516 */ GIR_Done,
70972 /* 200517 */ // Label 4526: @200517
70973 /* 200517 */ GIM_Reject,
70974 /* 200518 */ // Label 4522: @200518
70975 /* 200518 */ GIM_Reject,
70976 /* 200519 */ // Label 4477: @200519
70977 /* 200519 */ GIM_Try, /*On fail goto*//*Label 4527*/ GIMT_Encode4(200603),
70978 /* 200524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70979 /* 200527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70980 /* 200531 */ GIM_Try, /*On fail goto*//*Label 4528*/ GIMT_Encode4(200583), // Rule ID 13306 //
70981 /* 200536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
70982 /* 200539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
70983 /* 200543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
70984 /* 200547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
70985 /* 200550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
70986 /* 200554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
70987 /* 200558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70988 /* 200560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
70989 /* 200567 */ // (abs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
70990 /* 200567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZrm),
70991 /* 200570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70992 /* 200572 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
70993 /* 200576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
70994 /* 200581 */ GIR_RootConstrainSelectedInstOperands,
70995 /* 200582 */ // GIR_Coverage, 13306,
70996 /* 200582 */ GIR_EraseRootFromParent_Done,
70997 /* 200583 */ // Label 4528: @200583
70998 /* 200583 */ GIM_Try, /*On fail goto*//*Label 4529*/ GIMT_Encode4(200602), // Rule ID 13303 //
70999 /* 200588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
71000 /* 200591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71001 /* 200595 */ // (abs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPABSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
71002 /* 200595 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZrr),
71003 /* 200600 */ GIR_RootConstrainSelectedInstOperands,
71004 /* 200601 */ // GIR_Coverage, 13303,
71005 /* 200601 */ GIR_Done,
71006 /* 200602 */ // Label 4529: @200602
71007 /* 200602 */ GIM_Reject,
71008 /* 200603 */ // Label 4527: @200603
71009 /* 200603 */ GIM_Reject,
71010 /* 200604 */ // Label 4478: @200604
71011 /* 200604 */ GIM_Try, /*On fail goto*//*Label 4530*/ GIMT_Encode4(200688),
71012 /* 200609 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71013 /* 200612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71014 /* 200616 */ GIM_Try, /*On fail goto*//*Label 4531*/ GIMT_Encode4(200668), // Rule ID 13324 //
71015 /* 200621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
71016 /* 200624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71017 /* 200628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71018 /* 200632 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71019 /* 200635 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71020 /* 200639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71021 /* 200643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71022 /* 200645 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71023 /* 200652 */ // (abs:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
71024 /* 200652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZrm),
71025 /* 200655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71026 /* 200657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71027 /* 200661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71028 /* 200666 */ GIR_RootConstrainSelectedInstOperands,
71029 /* 200667 */ // GIR_Coverage, 13324,
71030 /* 200667 */ GIR_EraseRootFromParent_Done,
71031 /* 200668 */ // Label 4531: @200668
71032 /* 200668 */ GIM_Try, /*On fail goto*//*Label 4532*/ GIMT_Encode4(200687), // Rule ID 13321 //
71033 /* 200673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
71034 /* 200676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71035 /* 200680 */ // (abs:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPABSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
71036 /* 200680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZrr),
71037 /* 200685 */ GIR_RootConstrainSelectedInstOperands,
71038 /* 200686 */ // GIR_Coverage, 13321,
71039 /* 200686 */ GIR_Done,
71040 /* 200687 */ // Label 4532: @200687
71041 /* 200687 */ GIM_Reject,
71042 /* 200688 */ // Label 4530: @200688
71043 /* 200688 */ GIM_Reject,
71044 /* 200689 */ // Label 4479: @200689
71045 /* 200689 */ GIM_Reject,
71046 /* 200690 */ // Label 60: @200690
71047 /* 200690 */ GIM_Try, /*On fail goto*//*Label 4533*/ GIMT_Encode4(200705), // Rule ID 629 //
71048 /* 200695 */ // MIs[0] dst
71049 /* 200695 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
71050 /* 200698 */ // (br (bb:{ *:[Other] }):$dst) => (JMP_1 (bb:{ *:[Other] }):$dst)
71051 /* 200698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::JMP_1),
71052 /* 200703 */ GIR_RootConstrainSelectedInstOperands,
71053 /* 200704 */ // GIR_Coverage, 629,
71054 /* 200704 */ GIR_Done,
71055 /* 200705 */ // Label 4533: @200705
71056 /* 200705 */ GIM_Reject,
71057 /* 200706 */ // Label 61: @200706
71058 /* 200706 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(22), /*)*//*default:*//*Label 4548*/ GIMT_Encode4(203634),
71059 /* 200717 */ /*GILLT_s1*//*Label 4534*/ GIMT_Encode4(200805), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
71060 /* 200745 */ /*GILLT_v2s1*//*Label 4535*/ GIMT_Encode4(201046),
71061 /* 200749 */ /*GILLT_v2s64*//*Label 4536*/ GIMT_Encode4(201247),
71062 /* 200753 */ /*GILLT_v4s1*//*Label 4537*/ GIMT_Encode4(201728),
71063 /* 200757 */ /*GILLT_v4s32*//*Label 4538*/ GIMT_Encode4(201889),
71064 /* 200761 */ /*GILLT_v4s64*//*Label 4539*/ GIMT_Encode4(202370),
71065 /* 200765 */ /*GILLT_v8s1*//*Label 4540*/ GIMT_Encode4(202453),
71066 /* 200769 */ /*GILLT_v8s16*//*Label 4541*/ GIMT_Encode4(202574),
71067 /* 200773 */ /*GILLT_v8s32*//*Label 4542*/ GIMT_Encode4(203055), GIMT_Encode4(0),
71068 /* 200781 */ /*GILLT_v16s1*//*Label 4543*/ GIMT_Encode4(203138),
71069 /* 200785 */ /*GILLT_v16s8*//*Label 4544*/ GIMT_Encode4(203219),
71070 /* 200789 */ /*GILLT_v16s16*//*Label 4545*/ GIMT_Encode4(203460), GIMT_Encode4(0),
71071 /* 200797 */ /*GILLT_v32s1*//*Label 4546*/ GIMT_Encode4(203543),
71072 /* 200801 */ /*GILLT_v32s8*//*Label 4547*/ GIMT_Encode4(203584),
71073 /* 200805 */ // Label 4534: @200805
71074 /* 200805 */ GIM_Try, /*On fail goto*//*Label 4549*/ GIMT_Encode4(200845), // Rule ID 19610 //
71075 /* 200810 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
71076 /* 200813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
71077 /* 200817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
71078 /* 200821 */ // MIs[0] Operand 2
71079 /* 200821 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71080 /* 200832 */ // (extract_subvector:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, VK1:{ *:[i32] })
71081 /* 200832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71082 /* 200835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71083 /* 200837 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71084 /* 200839 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
71085 /* 200844 */ // GIR_Coverage, 19610,
71086 /* 200844 */ GIR_EraseRootFromParent_Done,
71087 /* 200845 */ // Label 4549: @200845
71088 /* 200845 */ GIM_Try, /*On fail goto*//*Label 4550*/ GIMT_Encode4(200885), // Rule ID 19612 //
71089 /* 200850 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
71090 /* 200853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
71091 /* 200857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
71092 /* 200861 */ // MIs[0] Operand 2
71093 /* 200861 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71094 /* 200872 */ // (extract_subvector:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, VK1:{ *:[i32] })
71095 /* 200872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71096 /* 200875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71097 /* 200877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71098 /* 200879 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
71099 /* 200884 */ // GIR_Coverage, 19612,
71100 /* 200884 */ GIR_EraseRootFromParent_Done,
71101 /* 200885 */ // Label 4550: @200885
71102 /* 200885 */ GIM_Try, /*On fail goto*//*Label 4551*/ GIMT_Encode4(200925), // Rule ID 19614 //
71103 /* 200890 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
71104 /* 200893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
71105 /* 200897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
71106 /* 200901 */ // MIs[0] Operand 2
71107 /* 200901 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71108 /* 200912 */ // (extract_subvector:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, VK1:{ *:[i32] })
71109 /* 200912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71110 /* 200915 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71111 /* 200917 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71112 /* 200919 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
71113 /* 200924 */ // GIR_Coverage, 19614,
71114 /* 200924 */ GIR_EraseRootFromParent_Done,
71115 /* 200925 */ // Label 4551: @200925
71116 /* 200925 */ GIM_Try, /*On fail goto*//*Label 4552*/ GIMT_Encode4(200965), // Rule ID 19616 //
71117 /* 200930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
71118 /* 200933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
71119 /* 200937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
71120 /* 200941 */ // MIs[0] Operand 2
71121 /* 200941 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71122 /* 200952 */ // (extract_subvector:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, VK1:{ *:[i32] })
71123 /* 200952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71124 /* 200955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71125 /* 200957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71126 /* 200959 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
71127 /* 200964 */ // GIR_Coverage, 19616,
71128 /* 200964 */ GIR_EraseRootFromParent_Done,
71129 /* 200965 */ // Label 4552: @200965
71130 /* 200965 */ GIM_Try, /*On fail goto*//*Label 4553*/ GIMT_Encode4(201005), // Rule ID 19618 //
71131 /* 200970 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
71132 /* 200973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
71133 /* 200977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
71134 /* 200981 */ // MIs[0] Operand 2
71135 /* 200981 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71136 /* 200992 */ // (extract_subvector:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, VK1:{ *:[i32] })
71137 /* 200992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71138 /* 200995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71139 /* 200997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71140 /* 200999 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
71141 /* 201004 */ // GIR_Coverage, 19618,
71142 /* 201004 */ GIR_EraseRootFromParent_Done,
71143 /* 201005 */ // Label 4553: @201005
71144 /* 201005 */ GIM_Try, /*On fail goto*//*Label 4554*/ GIMT_Encode4(201045), // Rule ID 19620 //
71145 /* 201010 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
71146 /* 201013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
71147 /* 201017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
71148 /* 201021 */ // MIs[0] Operand 2
71149 /* 201021 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71150 /* 201032 */ // (extract_subvector:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, VK1:{ *:[i32] })
71151 /* 201032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71152 /* 201035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71153 /* 201037 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71154 /* 201039 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
71155 /* 201044 */ // GIR_Coverage, 19620,
71156 /* 201044 */ GIR_EraseRootFromParent_Done,
71157 /* 201045 */ // Label 4554: @201045
71158 /* 201045 */ GIM_Reject,
71159 /* 201046 */ // Label 4535: @201046
71160 /* 201046 */ GIM_Try, /*On fail goto*//*Label 4555*/ GIMT_Encode4(201086), // Rule ID 19622 //
71161 /* 201051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
71162 /* 201054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
71163 /* 201058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
71164 /* 201062 */ // MIs[0] Operand 2
71165 /* 201062 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71166 /* 201073 */ // (extract_subvector:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, VK2:{ *:[i32] })
71167 /* 201073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71168 /* 201076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71169 /* 201078 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71170 /* 201080 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
71171 /* 201085 */ // GIR_Coverage, 19622,
71172 /* 201085 */ GIR_EraseRootFromParent_Done,
71173 /* 201086 */ // Label 4555: @201086
71174 /* 201086 */ GIM_Try, /*On fail goto*//*Label 4556*/ GIMT_Encode4(201126), // Rule ID 19624 //
71175 /* 201091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
71176 /* 201094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
71177 /* 201098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
71178 /* 201102 */ // MIs[0] Operand 2
71179 /* 201102 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71180 /* 201113 */ // (extract_subvector:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, VK2:{ *:[i32] })
71181 /* 201113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71182 /* 201116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71183 /* 201118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71184 /* 201120 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
71185 /* 201125 */ // GIR_Coverage, 19624,
71186 /* 201125 */ GIR_EraseRootFromParent_Done,
71187 /* 201126 */ // Label 4556: @201126
71188 /* 201126 */ GIM_Try, /*On fail goto*//*Label 4557*/ GIMT_Encode4(201166), // Rule ID 19626 //
71189 /* 201131 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
71190 /* 201134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
71191 /* 201138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
71192 /* 201142 */ // MIs[0] Operand 2
71193 /* 201142 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71194 /* 201153 */ // (extract_subvector:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, VK2:{ *:[i32] })
71195 /* 201153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71196 /* 201156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71197 /* 201158 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71198 /* 201160 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
71199 /* 201165 */ // GIR_Coverage, 19626,
71200 /* 201165 */ GIR_EraseRootFromParent_Done,
71201 /* 201166 */ // Label 4557: @201166
71202 /* 201166 */ GIM_Try, /*On fail goto*//*Label 4558*/ GIMT_Encode4(201206), // Rule ID 19628 //
71203 /* 201171 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
71204 /* 201174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
71205 /* 201178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
71206 /* 201182 */ // MIs[0] Operand 2
71207 /* 201182 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71208 /* 201193 */ // (extract_subvector:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, VK2:{ *:[i32] })
71209 /* 201193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71210 /* 201196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71211 /* 201198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71212 /* 201200 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
71213 /* 201205 */ // GIR_Coverage, 19628,
71214 /* 201205 */ GIR_EraseRootFromParent_Done,
71215 /* 201206 */ // Label 4558: @201206
71216 /* 201206 */ GIM_Try, /*On fail goto*//*Label 4559*/ GIMT_Encode4(201246), // Rule ID 19630 //
71217 /* 201211 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
71218 /* 201214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
71219 /* 201218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
71220 /* 201222 */ // MIs[0] Operand 2
71221 /* 201222 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71222 /* 201233 */ // (extract_subvector:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, VK2:{ *:[i32] })
71223 /* 201233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71224 /* 201236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71225 /* 201238 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71226 /* 201240 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
71227 /* 201245 */ // GIR_Coverage, 19630,
71228 /* 201245 */ GIR_EraseRootFromParent_Done,
71229 /* 201246 */ // Label 4559: @201246
71230 /* 201246 */ GIM_Reject,
71231 /* 201247 */ // Label 4536: @201247
71232 /* 201247 */ GIM_Try, /*On fail goto*//*Label 4560*/ GIMT_Encode4(201318), // Rule ID 19050 //
71233 /* 201252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
71234 /* 201255 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71235 /* 201258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71236 /* 201262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71237 /* 201266 */ // MIs[0] Operand 2
71238 /* 201266 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
71239 /* 201277 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71240 /* 201277 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
71241 /* 201280 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71242 /* 201284 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71243 /* 201289 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71244 /* 201295 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71245 /* 201300 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71246 /* 201305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
71247 /* 201308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71248 /* 201310 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71249 /* 201313 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71250 /* 201316 */ GIR_RootConstrainSelectedInstOperands,
71251 /* 201317 */ // GIR_Coverage, 19050,
71252 /* 201317 */ GIR_EraseRootFromParent_Done,
71253 /* 201318 */ // Label 4560: @201318
71254 /* 201318 */ GIM_Try, /*On fail goto*//*Label 4561*/ GIMT_Encode4(201389), // Rule ID 19051 //
71255 /* 201323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
71256 /* 201326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71257 /* 201329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71258 /* 201333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71259 /* 201337 */ // MIs[0] Operand 2
71260 /* 201337 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
71261 /* 201348 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71262 /* 201348 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
71263 /* 201351 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71264 /* 201355 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71265 /* 201360 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71266 /* 201366 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71267 /* 201371 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71268 /* 201376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
71269 /* 201379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71270 /* 201381 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71271 /* 201384 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71272 /* 201387 */ GIR_RootConstrainSelectedInstOperands,
71273 /* 201388 */ // GIR_Coverage, 19051,
71274 /* 201388 */ GIR_EraseRootFromParent_Done,
71275 /* 201389 */ // Label 4561: @201389
71276 /* 201389 */ GIM_Try, /*On fail goto*//*Label 4562*/ GIMT_Encode4(201460), // Rule ID 19057 //
71277 /* 201394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71278 /* 201397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71279 /* 201400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71280 /* 201404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71281 /* 201408 */ // MIs[0] Operand 2
71282 /* 201408 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
71283 /* 201419 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71284 /* 201419 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
71285 /* 201422 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71286 /* 201426 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71287 /* 201431 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71288 /* 201437 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71289 /* 201442 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71290 /* 201447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
71291 /* 201450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71292 /* 201452 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71293 /* 201455 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71294 /* 201458 */ GIR_RootConstrainSelectedInstOperands,
71295 /* 201459 */ // GIR_Coverage, 19057,
71296 /* 201459 */ GIR_EraseRootFromParent_Done,
71297 /* 201460 */ // Label 4562: @201460
71298 /* 201460 */ GIM_Try, /*On fail goto*//*Label 4563*/ GIMT_Encode4(201531), // Rule ID 19058 //
71299 /* 201465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71300 /* 201468 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71301 /* 201471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71302 /* 201475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71303 /* 201479 */ // MIs[0] Operand 2
71304 /* 201479 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
71305 /* 201490 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71306 /* 201490 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
71307 /* 201493 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71308 /* 201497 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71309 /* 201502 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71310 /* 201508 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71311 /* 201513 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71312 /* 201518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
71313 /* 201521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71314 /* 201523 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71315 /* 201526 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71316 /* 201529 */ GIR_RootConstrainSelectedInstOperands,
71317 /* 201530 */ // GIR_Coverage, 19058,
71318 /* 201530 */ GIR_EraseRootFromParent_Done,
71319 /* 201531 */ // Label 4563: @201531
71320 /* 201531 */ GIM_Try, /*On fail goto*//*Label 4564*/ GIMT_Encode4(201580), // Rule ID 23040 //
71321 /* 201536 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71322 /* 201539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71323 /* 201543 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71324 /* 201547 */ // MIs[0] Operand 2
71325 /* 201547 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71326 /* 201558 */ // (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] })
71327 /* 201558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71328 /* 201561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71329 /* 201563 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71330 /* 201569 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71331 /* 201574 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71332 /* 201579 */ // GIR_Coverage, 23040,
71333 /* 201579 */ GIR_EraseRootFromParent_Done,
71334 /* 201580 */ // Label 4564: @201580
71335 /* 201580 */ GIM_Try, /*On fail goto*//*Label 4565*/ GIMT_Encode4(201629), // Rule ID 23043 //
71336 /* 201585 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71337 /* 201588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71338 /* 201592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71339 /* 201596 */ // MIs[0] Operand 2
71340 /* 201596 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71341 /* 201607 */ // (extract_subvector:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] })
71342 /* 201607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71343 /* 201610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71344 /* 201612 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71345 /* 201618 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71346 /* 201623 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71347 /* 201628 */ // GIR_Coverage, 23043,
71348 /* 201628 */ GIR_EraseRootFromParent_Done,
71349 /* 201629 */ // Label 4565: @201629
71350 /* 201629 */ GIM_Try, /*On fail goto*//*Label 4566*/ GIMT_Encode4(201678), // Rule ID 23061 //
71351 /* 201634 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71352 /* 201637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71353 /* 201641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71354 /* 201645 */ // MIs[0] Operand 2
71355 /* 201645 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71356 /* 201656 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] })
71357 /* 201656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71358 /* 201659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71359 /* 201661 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71360 /* 201667 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71361 /* 201672 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71362 /* 201677 */ // GIR_Coverage, 23061,
71363 /* 201677 */ GIR_EraseRootFromParent_Done,
71364 /* 201678 */ // Label 4566: @201678
71365 /* 201678 */ GIM_Try, /*On fail goto*//*Label 4567*/ GIMT_Encode4(201727), // Rule ID 23064 //
71366 /* 201683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71367 /* 201686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71368 /* 201690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71369 /* 201694 */ // MIs[0] Operand 2
71370 /* 201694 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71371 /* 201705 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] })
71372 /* 201705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71373 /* 201708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71374 /* 201710 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71375 /* 201716 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71376 /* 201721 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71377 /* 201726 */ // GIR_Coverage, 23064,
71378 /* 201726 */ GIR_EraseRootFromParent_Done,
71379 /* 201727 */ // Label 4567: @201727
71380 /* 201727 */ GIM_Reject,
71381 /* 201728 */ // Label 4537: @201728
71382 /* 201728 */ GIM_Try, /*On fail goto*//*Label 4568*/ GIMT_Encode4(201768), // Rule ID 19632 //
71383 /* 201733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
71384 /* 201736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
71385 /* 201740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
71386 /* 201744 */ // MIs[0] Operand 2
71387 /* 201744 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71388 /* 201755 */ // (extract_subvector:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, VK4:{ *:[i32] })
71389 /* 201755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71390 /* 201758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71391 /* 201760 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71392 /* 201762 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
71393 /* 201767 */ // GIR_Coverage, 19632,
71394 /* 201767 */ GIR_EraseRootFromParent_Done,
71395 /* 201768 */ // Label 4568: @201768
71396 /* 201768 */ GIM_Try, /*On fail goto*//*Label 4569*/ GIMT_Encode4(201808), // Rule ID 19634 //
71397 /* 201773 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
71398 /* 201776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
71399 /* 201780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
71400 /* 201784 */ // MIs[0] Operand 2
71401 /* 201784 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71402 /* 201795 */ // (extract_subvector:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, VK4:{ *:[i32] })
71403 /* 201795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71404 /* 201798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71405 /* 201800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71406 /* 201802 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
71407 /* 201807 */ // GIR_Coverage, 19634,
71408 /* 201807 */ GIR_EraseRootFromParent_Done,
71409 /* 201808 */ // Label 4569: @201808
71410 /* 201808 */ GIM_Try, /*On fail goto*//*Label 4570*/ GIMT_Encode4(201848), // Rule ID 19636 //
71411 /* 201813 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
71412 /* 201816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
71413 /* 201820 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
71414 /* 201824 */ // MIs[0] Operand 2
71415 /* 201824 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71416 /* 201835 */ // (extract_subvector:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, VK4:{ *:[i32] })
71417 /* 201835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71418 /* 201838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71419 /* 201840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71420 /* 201842 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
71421 /* 201847 */ // GIR_Coverage, 19636,
71422 /* 201847 */ GIR_EraseRootFromParent_Done,
71423 /* 201848 */ // Label 4570: @201848
71424 /* 201848 */ GIM_Try, /*On fail goto*//*Label 4571*/ GIMT_Encode4(201888), // Rule ID 19638 //
71425 /* 201853 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
71426 /* 201856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
71427 /* 201860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
71428 /* 201864 */ // MIs[0] Operand 2
71429 /* 201864 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71430 /* 201875 */ // (extract_subvector:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, VK4:{ *:[i32] })
71431 /* 201875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71432 /* 201878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71433 /* 201880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71434 /* 201882 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
71435 /* 201887 */ // GIR_Coverage, 19638,
71436 /* 201887 */ GIR_EraseRootFromParent_Done,
71437 /* 201888 */ // Label 4571: @201888
71438 /* 201888 */ GIM_Reject,
71439 /* 201889 */ // Label 4538: @201889
71440 /* 201889 */ GIM_Try, /*On fail goto*//*Label 4572*/ GIMT_Encode4(201960), // Rule ID 19052 //
71441 /* 201894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
71442 /* 201897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71443 /* 201900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71444 /* 201904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71445 /* 201908 */ // MIs[0] Operand 2
71446 /* 201908 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
71447 /* 201919 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71448 /* 201919 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
71449 /* 201922 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71450 /* 201926 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71451 /* 201931 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71452 /* 201937 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71453 /* 201942 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71454 /* 201947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
71455 /* 201950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71456 /* 201952 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71457 /* 201955 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71458 /* 201958 */ GIR_RootConstrainSelectedInstOperands,
71459 /* 201959 */ // GIR_Coverage, 19052,
71460 /* 201959 */ GIR_EraseRootFromParent_Done,
71461 /* 201960 */ // Label 4572: @201960
71462 /* 201960 */ GIM_Try, /*On fail goto*//*Label 4573*/ GIMT_Encode4(202031), // Rule ID 19053 //
71463 /* 201965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
71464 /* 201968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71465 /* 201971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71466 /* 201975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71467 /* 201979 */ // MIs[0] Operand 2
71468 /* 201979 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
71469 /* 201990 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71470 /* 201990 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
71471 /* 201993 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71472 /* 201997 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71473 /* 202002 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71474 /* 202008 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71475 /* 202013 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71476 /* 202018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
71477 /* 202021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71478 /* 202023 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71479 /* 202026 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71480 /* 202029 */ GIR_RootConstrainSelectedInstOperands,
71481 /* 202030 */ // GIR_Coverage, 19053,
71482 /* 202030 */ GIR_EraseRootFromParent_Done,
71483 /* 202031 */ // Label 4573: @202031
71484 /* 202031 */ GIM_Try, /*On fail goto*//*Label 4574*/ GIMT_Encode4(202102), // Rule ID 19059 //
71485 /* 202036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71486 /* 202039 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71487 /* 202042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71488 /* 202046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71489 /* 202050 */ // MIs[0] Operand 2
71490 /* 202050 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
71491 /* 202061 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71492 /* 202061 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
71493 /* 202064 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71494 /* 202068 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71495 /* 202073 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71496 /* 202079 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71497 /* 202084 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71498 /* 202089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
71499 /* 202092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71500 /* 202094 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71501 /* 202097 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71502 /* 202100 */ GIR_RootConstrainSelectedInstOperands,
71503 /* 202101 */ // GIR_Coverage, 19059,
71504 /* 202101 */ GIR_EraseRootFromParent_Done,
71505 /* 202102 */ // Label 4574: @202102
71506 /* 202102 */ GIM_Try, /*On fail goto*//*Label 4575*/ GIMT_Encode4(202173), // Rule ID 19060 //
71507 /* 202107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71508 /* 202110 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71509 /* 202113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71510 /* 202117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71511 /* 202121 */ // MIs[0] Operand 2
71512 /* 202121 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
71513 /* 202132 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71514 /* 202132 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
71515 /* 202135 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71516 /* 202139 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71517 /* 202144 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71518 /* 202150 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71519 /* 202155 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71520 /* 202160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
71521 /* 202163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71522 /* 202165 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71523 /* 202168 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71524 /* 202171 */ GIR_RootConstrainSelectedInstOperands,
71525 /* 202172 */ // GIR_Coverage, 19060,
71526 /* 202172 */ GIR_EraseRootFromParent_Done,
71527 /* 202173 */ // Label 4575: @202173
71528 /* 202173 */ GIM_Try, /*On fail goto*//*Label 4576*/ GIMT_Encode4(202222), // Rule ID 23034 //
71529 /* 202178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71530 /* 202181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71531 /* 202185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71532 /* 202189 */ // MIs[0] Operand 2
71533 /* 202189 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71534 /* 202200 */ // (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] })
71535 /* 202200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71536 /* 202203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71537 /* 202205 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71538 /* 202211 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71539 /* 202216 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71540 /* 202221 */ // GIR_Coverage, 23034,
71541 /* 202221 */ GIR_EraseRootFromParent_Done,
71542 /* 202222 */ // Label 4576: @202222
71543 /* 202222 */ GIM_Try, /*On fail goto*//*Label 4577*/ GIMT_Encode4(202271), // Rule ID 23037 //
71544 /* 202227 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71545 /* 202230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71546 /* 202234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71547 /* 202238 */ // MIs[0] Operand 2
71548 /* 202238 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71549 /* 202249 */ // (extract_subvector:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] })
71550 /* 202249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71551 /* 202252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71552 /* 202254 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71553 /* 202260 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71554 /* 202265 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71555 /* 202270 */ // GIR_Coverage, 23037,
71556 /* 202270 */ GIR_EraseRootFromParent_Done,
71557 /* 202271 */ // Label 4577: @202271
71558 /* 202271 */ GIM_Try, /*On fail goto*//*Label 4578*/ GIMT_Encode4(202320), // Rule ID 23055 //
71559 /* 202276 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71560 /* 202279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71561 /* 202283 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71562 /* 202287 */ // MIs[0] Operand 2
71563 /* 202287 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71564 /* 202298 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] })
71565 /* 202298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71566 /* 202301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71567 /* 202303 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71568 /* 202309 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71569 /* 202314 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71570 /* 202319 */ // GIR_Coverage, 23055,
71571 /* 202319 */ GIR_EraseRootFromParent_Done,
71572 /* 202320 */ // Label 4578: @202320
71573 /* 202320 */ GIM_Try, /*On fail goto*//*Label 4579*/ GIMT_Encode4(202369), // Rule ID 23058 //
71574 /* 202325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71575 /* 202328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71576 /* 202332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71577 /* 202336 */ // MIs[0] Operand 2
71578 /* 202336 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71579 /* 202347 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] })
71580 /* 202347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71581 /* 202350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71582 /* 202352 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71583 /* 202358 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71584 /* 202363 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71585 /* 202368 */ // GIR_Coverage, 23058,
71586 /* 202368 */ GIR_EraseRootFromParent_Done,
71587 /* 202369 */ // Label 4579: @202369
71588 /* 202369 */ GIM_Reject,
71589 /* 202370 */ // Label 4539: @202370
71590 /* 202370 */ GIM_Try, /*On fail goto*//*Label 4580*/ GIMT_Encode4(202452),
71591 /* 202375 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71592 /* 202378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71593 /* 202382 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71594 /* 202386 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71595 /* 202397 */ GIM_Try, /*On fail goto*//*Label 4581*/ GIMT_Encode4(202424), // Rule ID 23082 //
71596 /* 202402 */ // (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] })
71597 /* 202402 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71598 /* 202405 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71599 /* 202407 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71600 /* 202413 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71601 /* 202418 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71602 /* 202423 */ // GIR_Coverage, 23082,
71603 /* 202423 */ GIR_EraseRootFromParent_Done,
71604 /* 202424 */ // Label 4581: @202424
71605 /* 202424 */ GIM_Try, /*On fail goto*//*Label 4582*/ GIMT_Encode4(202451), // Rule ID 23085 //
71606 /* 202429 */ // (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] })
71607 /* 202429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71608 /* 202432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71609 /* 202434 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71610 /* 202440 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71611 /* 202445 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71612 /* 202450 */ // GIR_Coverage, 23085,
71613 /* 202450 */ GIR_EraseRootFromParent_Done,
71614 /* 202451 */ // Label 4582: @202451
71615 /* 202451 */ GIM_Reject,
71616 /* 202452 */ // Label 4580: @202452
71617 /* 202452 */ GIM_Reject,
71618 /* 202453 */ // Label 4540: @202453
71619 /* 202453 */ GIM_Try, /*On fail goto*//*Label 4583*/ GIMT_Encode4(202493), // Rule ID 19640 //
71620 /* 202458 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
71621 /* 202461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
71622 /* 202465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
71623 /* 202469 */ // MIs[0] Operand 2
71624 /* 202469 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71625 /* 202480 */ // (extract_subvector:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, VK8:{ *:[i32] })
71626 /* 202480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71627 /* 202483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71628 /* 202485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71629 /* 202487 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
71630 /* 202492 */ // GIR_Coverage, 19640,
71631 /* 202492 */ GIR_EraseRootFromParent_Done,
71632 /* 202493 */ // Label 4583: @202493
71633 /* 202493 */ GIM_Try, /*On fail goto*//*Label 4584*/ GIMT_Encode4(202533), // Rule ID 19642 //
71634 /* 202498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
71635 /* 202501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
71636 /* 202505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
71637 /* 202509 */ // MIs[0] Operand 2
71638 /* 202509 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71639 /* 202520 */ // (extract_subvector:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, VK8:{ *:[i32] })
71640 /* 202520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71641 /* 202523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71642 /* 202525 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71643 /* 202527 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
71644 /* 202532 */ // GIR_Coverage, 19642,
71645 /* 202532 */ GIR_EraseRootFromParent_Done,
71646 /* 202533 */ // Label 4584: @202533
71647 /* 202533 */ GIM_Try, /*On fail goto*//*Label 4585*/ GIMT_Encode4(202573), // Rule ID 19644 //
71648 /* 202538 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
71649 /* 202541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
71650 /* 202545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
71651 /* 202549 */ // MIs[0] Operand 2
71652 /* 202549 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71653 /* 202560 */ // (extract_subvector:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, VK8:{ *:[i32] })
71654 /* 202560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71655 /* 202563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71656 /* 202565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71657 /* 202567 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
71658 /* 202572 */ // GIR_Coverage, 19644,
71659 /* 202572 */ GIR_EraseRootFromParent_Done,
71660 /* 202573 */ // Label 4585: @202573
71661 /* 202573 */ GIM_Reject,
71662 /* 202574 */ // Label 4541: @202574
71663 /* 202574 */ GIM_Try, /*On fail goto*//*Label 4586*/ GIMT_Encode4(202645), // Rule ID 19054 //
71664 /* 202579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
71665 /* 202582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71666 /* 202585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71667 /* 202589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71668 /* 202593 */ // MIs[0] Operand 2
71669 /* 202593 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
71670 /* 202604 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71671 /* 202604 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
71672 /* 202607 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71673 /* 202611 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71674 /* 202616 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71675 /* 202622 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71676 /* 202627 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71677 /* 202632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
71678 /* 202635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71679 /* 202637 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71680 /* 202640 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71681 /* 202643 */ GIR_RootConstrainSelectedInstOperands,
71682 /* 202644 */ // GIR_Coverage, 19054,
71683 /* 202644 */ GIR_EraseRootFromParent_Done,
71684 /* 202645 */ // Label 4586: @202645
71685 /* 202645 */ GIM_Try, /*On fail goto*//*Label 4587*/ GIMT_Encode4(202716), // Rule ID 19055 //
71686 /* 202650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
71687 /* 202653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71688 /* 202656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71689 /* 202660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71690 /* 202664 */ // MIs[0] Operand 2
71691 /* 202664 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
71692 /* 202675 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71693 /* 202675 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
71694 /* 202678 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71695 /* 202682 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71696 /* 202687 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71697 /* 202693 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71698 /* 202698 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71699 /* 202703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
71700 /* 202706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71701 /* 202708 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71702 /* 202711 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71703 /* 202714 */ GIR_RootConstrainSelectedInstOperands,
71704 /* 202715 */ // GIR_Coverage, 19055,
71705 /* 202715 */ GIR_EraseRootFromParent_Done,
71706 /* 202716 */ // Label 4587: @202716
71707 /* 202716 */ GIM_Try, /*On fail goto*//*Label 4588*/ GIMT_Encode4(202787), // Rule ID 19061 //
71708 /* 202721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71709 /* 202724 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71710 /* 202727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71711 /* 202731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71712 /* 202735 */ // MIs[0] Operand 2
71713 /* 202735 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
71714 /* 202746 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71715 /* 202746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
71716 /* 202749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71717 /* 202753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71718 /* 202758 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71719 /* 202764 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71720 /* 202769 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71721 /* 202774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
71722 /* 202777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71723 /* 202779 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71724 /* 202782 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71725 /* 202785 */ GIR_RootConstrainSelectedInstOperands,
71726 /* 202786 */ // GIR_Coverage, 19061,
71727 /* 202786 */ GIR_EraseRootFromParent_Done,
71728 /* 202787 */ // Label 4588: @202787
71729 /* 202787 */ GIM_Try, /*On fail goto*//*Label 4589*/ GIMT_Encode4(202858), // Rule ID 19062 //
71730 /* 202792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71731 /* 202795 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71732 /* 202798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71733 /* 202802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71734 /* 202806 */ // MIs[0] Operand 2
71735 /* 202806 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
71736 /* 202817 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71737 /* 202817 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
71738 /* 202820 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71739 /* 202824 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71740 /* 202829 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71741 /* 202835 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71742 /* 202840 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71743 /* 202845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
71744 /* 202848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71745 /* 202850 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71746 /* 202853 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71747 /* 202856 */ GIR_RootConstrainSelectedInstOperands,
71748 /* 202857 */ // GIR_Coverage, 19062,
71749 /* 202857 */ GIR_EraseRootFromParent_Done,
71750 /* 202858 */ // Label 4589: @202858
71751 /* 202858 */ GIM_Try, /*On fail goto*//*Label 4590*/ GIMT_Encode4(202907), // Rule ID 23046 //
71752 /* 202863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
71753 /* 202866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71754 /* 202870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71755 /* 202874 */ // MIs[0] Operand 2
71756 /* 202874 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71757 /* 202885 */ // (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] })
71758 /* 202885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71759 /* 202888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71760 /* 202890 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71761 /* 202896 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71762 /* 202901 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71763 /* 202906 */ // GIR_Coverage, 23046,
71764 /* 202906 */ GIR_EraseRootFromParent_Done,
71765 /* 202907 */ // Label 4590: @202907
71766 /* 202907 */ GIM_Try, /*On fail goto*//*Label 4591*/ GIMT_Encode4(202956), // Rule ID 23052 //
71767 /* 202912 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
71768 /* 202915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71769 /* 202919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71770 /* 202923 */ // MIs[0] Operand 2
71771 /* 202923 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71772 /* 202934 */ // (extract_subvector:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, sub_xmm:{ *:[i32] })
71773 /* 202934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71774 /* 202937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71775 /* 202939 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71776 /* 202945 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71777 /* 202950 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71778 /* 202955 */ // GIR_Coverage, 23052,
71779 /* 202955 */ GIR_EraseRootFromParent_Done,
71780 /* 202956 */ // Label 4591: @202956
71781 /* 202956 */ GIM_Try, /*On fail goto*//*Label 4592*/ GIMT_Encode4(203005), // Rule ID 23067 //
71782 /* 202961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71783 /* 202964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71784 /* 202968 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71785 /* 202972 */ // MIs[0] Operand 2
71786 /* 202972 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71787 /* 202983 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] })
71788 /* 202983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71789 /* 202986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71790 /* 202988 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71791 /* 202994 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71792 /* 202999 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71793 /* 203004 */ // GIR_Coverage, 23067,
71794 /* 203004 */ GIR_EraseRootFromParent_Done,
71795 /* 203005 */ // Label 4592: @203005
71796 /* 203005 */ GIM_Try, /*On fail goto*//*Label 4593*/ GIMT_Encode4(203054), // Rule ID 23073 //
71797 /* 203010 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71798 /* 203013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71799 /* 203017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71800 /* 203021 */ // MIs[0] Operand 2
71801 /* 203021 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71802 /* 203032 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, sub_xmm:{ *:[i32] })
71803 /* 203032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71804 /* 203035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71805 /* 203037 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71806 /* 203043 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71807 /* 203048 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71808 /* 203053 */ // GIR_Coverage, 23073,
71809 /* 203053 */ GIR_EraseRootFromParent_Done,
71810 /* 203054 */ // Label 4593: @203054
71811 /* 203054 */ GIM_Reject,
71812 /* 203055 */ // Label 4542: @203055
71813 /* 203055 */ GIM_Try, /*On fail goto*//*Label 4594*/ GIMT_Encode4(203137),
71814 /* 203060 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71815 /* 203063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71816 /* 203067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71817 /* 203071 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71818 /* 203082 */ GIM_Try, /*On fail goto*//*Label 4595*/ GIMT_Encode4(203109), // Rule ID 23076 //
71819 /* 203087 */ // (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] })
71820 /* 203087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71821 /* 203090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71822 /* 203092 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71823 /* 203098 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71824 /* 203103 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71825 /* 203108 */ // GIR_Coverage, 23076,
71826 /* 203108 */ GIR_EraseRootFromParent_Done,
71827 /* 203109 */ // Label 4595: @203109
71828 /* 203109 */ GIM_Try, /*On fail goto*//*Label 4596*/ GIMT_Encode4(203136), // Rule ID 23079 //
71829 /* 203114 */ // (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] })
71830 /* 203114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71831 /* 203117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71832 /* 203119 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71833 /* 203125 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71834 /* 203130 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71835 /* 203135 */ // GIR_Coverage, 23079,
71836 /* 203135 */ GIR_EraseRootFromParent_Done,
71837 /* 203136 */ // Label 4596: @203136
71838 /* 203136 */ GIM_Reject,
71839 /* 203137 */ // Label 4594: @203137
71840 /* 203137 */ GIM_Reject,
71841 /* 203138 */ // Label 4543: @203138
71842 /* 203138 */ GIM_Try, /*On fail goto*//*Label 4597*/ GIMT_Encode4(203178), // Rule ID 19646 //
71843 /* 203143 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
71844 /* 203146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
71845 /* 203150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
71846 /* 203154 */ // MIs[0] Operand 2
71847 /* 203154 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71848 /* 203165 */ // (extract_subvector:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, VK16:{ *:[i32] })
71849 /* 203165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71850 /* 203168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71851 /* 203170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71852 /* 203172 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
71853 /* 203177 */ // GIR_Coverage, 19646,
71854 /* 203177 */ GIR_EraseRootFromParent_Done,
71855 /* 203178 */ // Label 4597: @203178
71856 /* 203178 */ GIM_Try, /*On fail goto*//*Label 4598*/ GIMT_Encode4(203218), // Rule ID 19648 //
71857 /* 203183 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
71858 /* 203186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
71859 /* 203190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
71860 /* 203194 */ // MIs[0] Operand 2
71861 /* 203194 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71862 /* 203205 */ // (extract_subvector:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, VK16:{ *:[i32] })
71863 /* 203205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71864 /* 203208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71865 /* 203210 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71866 /* 203212 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
71867 /* 203217 */ // GIR_Coverage, 19648,
71868 /* 203217 */ GIR_EraseRootFromParent_Done,
71869 /* 203218 */ // Label 4598: @203218
71870 /* 203218 */ GIM_Reject,
71871 /* 203219 */ // Label 4544: @203219
71872 /* 203219 */ GIM_Try, /*On fail goto*//*Label 4599*/ GIMT_Encode4(203290), // Rule ID 19056 //
71873 /* 203224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
71874 /* 203227 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71875 /* 203230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
71876 /* 203234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71877 /* 203238 */ // MIs[0] Operand 2
71878 /* 203238 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
71879 /* 203249 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71880 /* 203249 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
71881 /* 203252 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71882 /* 203256 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71883 /* 203261 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71884 /* 203267 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71885 /* 203272 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71886 /* 203277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
71887 /* 203280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71888 /* 203282 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71889 /* 203285 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71890 /* 203288 */ GIR_RootConstrainSelectedInstOperands,
71891 /* 203289 */ // GIR_Coverage, 19056,
71892 /* 203289 */ GIR_EraseRootFromParent_Done,
71893 /* 203290 */ // Label 4599: @203290
71894 /* 203290 */ GIM_Try, /*On fail goto*//*Label 4600*/ GIMT_Encode4(203361), // Rule ID 19063 //
71895 /* 203295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
71896 /* 203298 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71897 /* 203301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71898 /* 203305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71899 /* 203309 */ // MIs[0] Operand 2
71900 /* 203309 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
71901 /* 203320 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
71902 /* 203320 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
71903 /* 203323 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71904 /* 203327 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71905 /* 203332 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71906 /* 203338 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71907 /* 203343 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71908 /* 203348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
71909 /* 203351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71910 /* 203353 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71911 /* 203356 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
71912 /* 203359 */ GIR_RootConstrainSelectedInstOperands,
71913 /* 203360 */ // GIR_Coverage, 19063,
71914 /* 203360 */ GIR_EraseRootFromParent_Done,
71915 /* 203361 */ // Label 4600: @203361
71916 /* 203361 */ GIM_Try, /*On fail goto*//*Label 4601*/ GIMT_Encode4(203410), // Rule ID 23049 //
71917 /* 203366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
71918 /* 203369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
71919 /* 203373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
71920 /* 203377 */ // MIs[0] Operand 2
71921 /* 203377 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71922 /* 203388 */ // (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] })
71923 /* 203388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71924 /* 203391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71925 /* 203393 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71926 /* 203399 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
71927 /* 203404 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
71928 /* 203409 */ // GIR_Coverage, 23049,
71929 /* 203409 */ GIR_EraseRootFromParent_Done,
71930 /* 203410 */ // Label 4601: @203410
71931 /* 203410 */ GIM_Try, /*On fail goto*//*Label 4602*/ GIMT_Encode4(203459), // Rule ID 23070 //
71932 /* 203415 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71933 /* 203418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
71934 /* 203422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71935 /* 203426 */ // MIs[0] Operand 2
71936 /* 203426 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71937 /* 203437 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] })
71938 /* 203437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71939 /* 203440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71940 /* 203442 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
71941 /* 203448 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
71942 /* 203453 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71943 /* 203458 */ // GIR_Coverage, 23070,
71944 /* 203458 */ GIR_EraseRootFromParent_Done,
71945 /* 203459 */ // Label 4602: @203459
71946 /* 203459 */ GIM_Reject,
71947 /* 203460 */ // Label 4545: @203460
71948 /* 203460 */ GIM_Try, /*On fail goto*//*Label 4603*/ GIMT_Encode4(203542),
71949 /* 203465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71950 /* 203468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71951 /* 203472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71952 /* 203476 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71953 /* 203487 */ GIM_Try, /*On fail goto*//*Label 4604*/ GIMT_Encode4(203514), // Rule ID 23088 //
71954 /* 203492 */ // (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] })
71955 /* 203492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71956 /* 203495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71957 /* 203497 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71958 /* 203503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71959 /* 203508 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71960 /* 203513 */ // GIR_Coverage, 23088,
71961 /* 203513 */ GIR_EraseRootFromParent_Done,
71962 /* 203514 */ // Label 4604: @203514
71963 /* 203514 */ GIM_Try, /*On fail goto*//*Label 4605*/ GIMT_Encode4(203541), // Rule ID 23094 //
71964 /* 203519 */ // (extract_subvector:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] })
71965 /* 203519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71966 /* 203522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71967 /* 203524 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
71968 /* 203530 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
71969 /* 203535 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
71970 /* 203540 */ // GIR_Coverage, 23094,
71971 /* 203540 */ GIR_EraseRootFromParent_Done,
71972 /* 203541 */ // Label 4605: @203541
71973 /* 203541 */ GIM_Reject,
71974 /* 203542 */ // Label 4603: @203542
71975 /* 203542 */ GIM_Reject,
71976 /* 203543 */ // Label 4546: @203543
71977 /* 203543 */ GIM_Try, /*On fail goto*//*Label 4606*/ GIMT_Encode4(203583), // Rule ID 19650 //
71978 /* 203548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
71979 /* 203551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
71980 /* 203555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
71981 /* 203559 */ // MIs[0] Operand 2
71982 /* 203559 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71983 /* 203570 */ // (extract_subvector:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, VK32:{ *:[i32] })
71984 /* 203570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
71985 /* 203573 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71986 /* 203575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71987 /* 203577 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
71988 /* 203582 */ // GIR_Coverage, 19650,
71989 /* 203582 */ GIR_EraseRootFromParent_Done,
71990 /* 203583 */ // Label 4606: @203583
71991 /* 203583 */ GIM_Reject,
71992 /* 203584 */ // Label 4547: @203584
71993 /* 203584 */ GIM_Try, /*On fail goto*//*Label 4607*/ GIMT_Encode4(203633), // Rule ID 23091 //
71994 /* 203589 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71995 /* 203592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71996 /* 203596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71997 /* 203600 */ // MIs[0] Operand 2
71998 /* 203600 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
71999 /* 203611 */ // (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] })
72000 /* 203611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72001 /* 203614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72002 /* 203616 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
72003 /* 203622 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72004 /* 203627 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72005 /* 203632 */ // GIR_Coverage, 23091,
72006 /* 203632 */ GIR_EraseRootFromParent_Done,
72007 /* 203633 */ // Label 4607: @203633
72008 /* 203633 */ GIM_Reject,
72009 /* 203634 */ // Label 4548: @203634
72010 /* 203634 */ GIM_Reject,
72011 /* 203635 */ // Label 62: @203635
72012 /* 203635 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(8), GIMT_Encode2(25), /*)*//*default:*//*Label 4620*/ GIMT_Encode4(205616),
72013 /* 203646 */ /*GILLT_v2s64*//*Label 4608*/ GIMT_Encode4(203714), GIMT_Encode4(0),
72014 /* 203654 */ /*GILLT_v4s32*//*Label 4609*/ GIMT_Encode4(203916),
72015 /* 203658 */ /*GILLT_v4s64*//*Label 4610*/ GIMT_Encode4(204118), GIMT_Encode4(0),
72016 /* 203666 */ /*GILLT_v8s16*//*Label 4611*/ GIMT_Encode4(204320),
72017 /* 203670 */ /*GILLT_v8s32*//*Label 4612*/ GIMT_Encode4(204435),
72018 /* 203674 */ /*GILLT_v8s64*//*Label 4613*/ GIMT_Encode4(204637), GIMT_Encode4(0),
72019 /* 203682 */ /*GILLT_v16s8*//*Label 4614*/ GIMT_Encode4(204839),
72020 /* 203686 */ /*GILLT_v16s16*//*Label 4615*/ GIMT_Encode4(204954),
72021 /* 203690 */ /*GILLT_v16s32*//*Label 4616*/ GIMT_Encode4(205069), GIMT_Encode4(0),
72022 /* 203698 */ /*GILLT_v32s8*//*Label 4617*/ GIMT_Encode4(205271),
72023 /* 203702 */ /*GILLT_v32s16*//*Label 4618*/ GIMT_Encode4(205386), GIMT_Encode4(0),
72024 /* 203710 */ /*GILLT_v64s8*//*Label 4619*/ GIMT_Encode4(205501),
72025 /* 203714 */ // Label 4608: @203714
72026 /* 203714 */ GIM_Try, /*On fail goto*//*Label 4621*/ GIMT_Encode4(203915),
72027 /* 203719 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
72028 /* 203722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
72029 /* 203725 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
72030 /* 203728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72031 /* 203732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72032 /* 203736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
72033 /* 203740 */ GIM_Try, /*On fail goto*//*Label 4622*/ GIMT_Encode4(203773), // Rule ID 21704 //
72034 /* 203745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72035 /* 203748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72036 /* 203752 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72037 /* 203758 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72038 /* 203760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72039 /* 203762 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2i64] }) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
72040 /* 203762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
72041 /* 203765 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72042 /* 203767 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72043 /* 203769 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72044 /* 203771 */ GIR_RootConstrainSelectedInstOperands,
72045 /* 203772 */ // GIR_Coverage, 21704,
72046 /* 203772 */ GIR_EraseRootFromParent_Done,
72047 /* 203773 */ // Label 4622: @203773
72048 /* 203773 */ GIM_Try, /*On fail goto*//*Label 4623*/ GIMT_Encode4(203806), // Rule ID 21740 //
72049 /* 203778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72050 /* 203781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72051 /* 203785 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72052 /* 203791 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72053 /* 203793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72054 /* 203795 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2f64] }) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
72055 /* 203795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
72056 /* 203798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72057 /* 203800 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72058 /* 203802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72059 /* 203804 */ GIR_RootConstrainSelectedInstOperands,
72060 /* 203805 */ // GIR_Coverage, 21740,
72061 /* 203805 */ GIR_EraseRootFromParent_Done,
72062 /* 203806 */ // Label 4623: @203806
72063 /* 203806 */ GIM_Try, /*On fail goto*//*Label 4624*/ GIMT_Encode4(203835), // Rule ID 21703 //
72064 /* 203811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72065 /* 203814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72066 /* 203818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72067 /* 203822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72068 /* 203824 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2i64] })) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
72069 /* 203824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
72070 /* 203827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72071 /* 203829 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72072 /* 203831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72073 /* 203833 */ GIR_RootConstrainSelectedInstOperands,
72074 /* 203834 */ // GIR_Coverage, 21703,
72075 /* 203834 */ GIR_EraseRootFromParent_Done,
72076 /* 203835 */ // Label 4624: @203835
72077 /* 203835 */ GIM_Try, /*On fail goto*//*Label 4625*/ GIMT_Encode4(203864), // Rule ID 21739 //
72078 /* 203840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72079 /* 203843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72080 /* 203847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72081 /* 203851 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72082 /* 203853 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2f64] })) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
72083 /* 203853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
72084 /* 203856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72085 /* 203858 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72086 /* 203860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72087 /* 203862 */ GIR_RootConstrainSelectedInstOperands,
72088 /* 203863 */ // GIR_Coverage, 21739,
72089 /* 203863 */ GIR_EraseRootFromParent_Done,
72090 /* 203864 */ // Label 4625: @203864
72091 /* 203864 */ GIM_Try, /*On fail goto*//*Label 4626*/ GIMT_Encode4(203889), // Rule ID 21705 //
72092 /* 203869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72093 /* 203872 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72094 /* 203876 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$passthru) => (VPCOMPRESSQZ128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
72095 /* 203876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrk),
72096 /* 203879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72097 /* 203881 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72098 /* 203883 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72099 /* 203885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72100 /* 203887 */ GIR_RootConstrainSelectedInstOperands,
72101 /* 203888 */ // GIR_Coverage, 21705,
72102 /* 203888 */ GIR_EraseRootFromParent_Done,
72103 /* 203889 */ // Label 4626: @203889
72104 /* 203889 */ GIM_Try, /*On fail goto*//*Label 4627*/ GIMT_Encode4(203914), // Rule ID 21741 //
72105 /* 203894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72106 /* 203897 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72107 /* 203901 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$passthru) => (VCOMPRESSPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
72108 /* 203901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrk),
72109 /* 203904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72110 /* 203906 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72111 /* 203908 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72112 /* 203910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72113 /* 203912 */ GIR_RootConstrainSelectedInstOperands,
72114 /* 203913 */ // GIR_Coverage, 21741,
72115 /* 203913 */ GIR_EraseRootFromParent_Done,
72116 /* 203914 */ // Label 4627: @203914
72117 /* 203914 */ GIM_Reject,
72118 /* 203915 */ // Label 4621: @203915
72119 /* 203915 */ GIM_Reject,
72120 /* 203916 */ // Label 4609: @203916
72121 /* 203916 */ GIM_Try, /*On fail goto*//*Label 4628*/ GIMT_Encode4(204117),
72122 /* 203921 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72123 /* 203924 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
72124 /* 203927 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
72125 /* 203930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72126 /* 203934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72127 /* 203938 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
72128 /* 203942 */ GIM_Try, /*On fail goto*//*Label 4629*/ GIMT_Encode4(203975), // Rule ID 21686 //
72129 /* 203947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72130 /* 203950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72131 /* 203954 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72132 /* 203960 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72133 /* 203962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72134 /* 203964 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i32] }) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
72135 /* 203964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
72136 /* 203967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72137 /* 203969 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72138 /* 203971 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72139 /* 203973 */ GIR_RootConstrainSelectedInstOperands,
72140 /* 203974 */ // GIR_Coverage, 21686,
72141 /* 203974 */ GIR_EraseRootFromParent_Done,
72142 /* 203975 */ // Label 4629: @203975
72143 /* 203975 */ GIM_Try, /*On fail goto*//*Label 4630*/ GIMT_Encode4(204008), // Rule ID 21722 //
72144 /* 203980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72145 /* 203983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72146 /* 203987 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72147 /* 203993 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72148 /* 203995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72149 /* 203997 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f32] }) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
72150 /* 203997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
72151 /* 204000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72152 /* 204002 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72153 /* 204004 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72154 /* 204006 */ GIR_RootConstrainSelectedInstOperands,
72155 /* 204007 */ // GIR_Coverage, 21722,
72156 /* 204007 */ GIR_EraseRootFromParent_Done,
72157 /* 204008 */ // Label 4630: @204008
72158 /* 204008 */ GIM_Try, /*On fail goto*//*Label 4631*/ GIMT_Encode4(204037), // Rule ID 21685 //
72159 /* 204013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72160 /* 204016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72161 /* 204020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72162 /* 204024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72163 /* 204026 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i32] })) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
72164 /* 204026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
72165 /* 204029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72166 /* 204031 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72167 /* 204033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72168 /* 204035 */ GIR_RootConstrainSelectedInstOperands,
72169 /* 204036 */ // GIR_Coverage, 21685,
72170 /* 204036 */ GIR_EraseRootFromParent_Done,
72171 /* 204037 */ // Label 4631: @204037
72172 /* 204037 */ GIM_Try, /*On fail goto*//*Label 4632*/ GIMT_Encode4(204066), // Rule ID 21721 //
72173 /* 204042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72174 /* 204045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72175 /* 204049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72176 /* 204053 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72177 /* 204055 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f32] })) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
72178 /* 204055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
72179 /* 204058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72180 /* 204060 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72181 /* 204062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72182 /* 204064 */ GIR_RootConstrainSelectedInstOperands,
72183 /* 204065 */ // GIR_Coverage, 21721,
72184 /* 204065 */ GIR_EraseRootFromParent_Done,
72185 /* 204066 */ // Label 4632: @204066
72186 /* 204066 */ GIM_Try, /*On fail goto*//*Label 4633*/ GIMT_Encode4(204091), // Rule ID 21687 //
72187 /* 204071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72188 /* 204074 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72189 /* 204078 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$passthru) => (VPCOMPRESSDZ128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
72190 /* 204078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrk),
72191 /* 204081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72192 /* 204083 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72193 /* 204085 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72194 /* 204087 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72195 /* 204089 */ GIR_RootConstrainSelectedInstOperands,
72196 /* 204090 */ // GIR_Coverage, 21687,
72197 /* 204090 */ GIR_EraseRootFromParent_Done,
72198 /* 204091 */ // Label 4633: @204091
72199 /* 204091 */ GIM_Try, /*On fail goto*//*Label 4634*/ GIMT_Encode4(204116), // Rule ID 21723 //
72200 /* 204096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72201 /* 204099 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72202 /* 204103 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$passthru) => (VCOMPRESSPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
72203 /* 204103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrk),
72204 /* 204106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72205 /* 204108 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72206 /* 204110 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72207 /* 204112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72208 /* 204114 */ GIR_RootConstrainSelectedInstOperands,
72209 /* 204115 */ // GIR_Coverage, 21723,
72210 /* 204115 */ GIR_EraseRootFromParent_Done,
72211 /* 204116 */ // Label 4634: @204116
72212 /* 204116 */ GIM_Reject,
72213 /* 204117 */ // Label 4628: @204117
72214 /* 204117 */ GIM_Reject,
72215 /* 204118 */ // Label 4610: @204118
72216 /* 204118 */ GIM_Try, /*On fail goto*//*Label 4635*/ GIMT_Encode4(204319),
72217 /* 204123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
72218 /* 204126 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
72219 /* 204129 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
72220 /* 204132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72221 /* 204136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72222 /* 204140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
72223 /* 204144 */ GIM_Try, /*On fail goto*//*Label 4636*/ GIMT_Encode4(204177), // Rule ID 21698 //
72224 /* 204149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72225 /* 204152 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72226 /* 204156 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72227 /* 204162 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72228 /* 204164 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72229 /* 204166 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i64] }) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
72230 /* 204166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
72231 /* 204169 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72232 /* 204171 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72233 /* 204173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72234 /* 204175 */ GIR_RootConstrainSelectedInstOperands,
72235 /* 204176 */ // GIR_Coverage, 21698,
72236 /* 204176 */ GIR_EraseRootFromParent_Done,
72237 /* 204177 */ // Label 4636: @204177
72238 /* 204177 */ GIM_Try, /*On fail goto*//*Label 4637*/ GIMT_Encode4(204210), // Rule ID 21734 //
72239 /* 204182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72240 /* 204185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72241 /* 204189 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72242 /* 204195 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72243 /* 204197 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72244 /* 204199 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f64] }) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
72245 /* 204199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
72246 /* 204202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72247 /* 204204 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72248 /* 204206 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72249 /* 204208 */ GIR_RootConstrainSelectedInstOperands,
72250 /* 204209 */ // GIR_Coverage, 21734,
72251 /* 204209 */ GIR_EraseRootFromParent_Done,
72252 /* 204210 */ // Label 4637: @204210
72253 /* 204210 */ GIM_Try, /*On fail goto*//*Label 4638*/ GIMT_Encode4(204239), // Rule ID 21697 //
72254 /* 204215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72255 /* 204218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72256 /* 204222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72257 /* 204226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72258 /* 204228 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i64] })) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
72259 /* 204228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
72260 /* 204231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72261 /* 204233 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72262 /* 204235 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72263 /* 204237 */ GIR_RootConstrainSelectedInstOperands,
72264 /* 204238 */ // GIR_Coverage, 21697,
72265 /* 204238 */ GIR_EraseRootFromParent_Done,
72266 /* 204239 */ // Label 4638: @204239
72267 /* 204239 */ GIM_Try, /*On fail goto*//*Label 4639*/ GIMT_Encode4(204268), // Rule ID 21733 //
72268 /* 204244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72269 /* 204247 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72270 /* 204251 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72271 /* 204255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72272 /* 204257 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f64] })) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
72273 /* 204257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
72274 /* 204260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72275 /* 204262 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72276 /* 204264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72277 /* 204266 */ GIR_RootConstrainSelectedInstOperands,
72278 /* 204267 */ // GIR_Coverage, 21733,
72279 /* 204267 */ GIR_EraseRootFromParent_Done,
72280 /* 204268 */ // Label 4639: @204268
72281 /* 204268 */ GIM_Try, /*On fail goto*//*Label 4640*/ GIMT_Encode4(204293), // Rule ID 21699 //
72282 /* 204273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72283 /* 204276 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72284 /* 204280 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$passthru) => (VPCOMPRESSQZ256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
72285 /* 204280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrk),
72286 /* 204283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72287 /* 204285 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72288 /* 204287 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72289 /* 204289 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72290 /* 204291 */ GIR_RootConstrainSelectedInstOperands,
72291 /* 204292 */ // GIR_Coverage, 21699,
72292 /* 204292 */ GIR_EraseRootFromParent_Done,
72293 /* 204293 */ // Label 4640: @204293
72294 /* 204293 */ GIM_Try, /*On fail goto*//*Label 4641*/ GIMT_Encode4(204318), // Rule ID 21735 //
72295 /* 204298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72296 /* 204301 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72297 /* 204305 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$passthru) => (VCOMPRESSPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
72298 /* 204305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrk),
72299 /* 204308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72300 /* 204310 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72301 /* 204312 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72302 /* 204314 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72303 /* 204316 */ GIR_RootConstrainSelectedInstOperands,
72304 /* 204317 */ // GIR_Coverage, 21735,
72305 /* 204317 */ GIR_EraseRootFromParent_Done,
72306 /* 204318 */ // Label 4641: @204318
72307 /* 204318 */ GIM_Reject,
72308 /* 204319 */ // Label 4635: @204319
72309 /* 204319 */ GIM_Reject,
72310 /* 204320 */ // Label 4611: @204320
72311 /* 204320 */ GIM_Try, /*On fail goto*//*Label 4642*/ GIMT_Encode4(204434),
72312 /* 204325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
72313 /* 204328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
72314 /* 204331 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
72315 /* 204334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72316 /* 204338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72317 /* 204342 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
72318 /* 204346 */ GIM_Try, /*On fail goto*//*Label 4643*/ GIMT_Encode4(204379), // Rule ID 22112 //
72319 /* 204351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72320 /* 204354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72321 /* 204358 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72322 /* 204364 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72323 /* 204366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72324 /* 204368 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i16] }) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
72325 /* 204368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
72326 /* 204371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72327 /* 204373 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72328 /* 204375 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72329 /* 204377 */ GIR_RootConstrainSelectedInstOperands,
72330 /* 204378 */ // GIR_Coverage, 22112,
72331 /* 204378 */ GIR_EraseRootFromParent_Done,
72332 /* 204379 */ // Label 4643: @204379
72333 /* 204379 */ GIM_Try, /*On fail goto*//*Label 4644*/ GIMT_Encode4(204408), // Rule ID 22111 //
72334 /* 204384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72335 /* 204387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72336 /* 204391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72337 /* 204395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72338 /* 204397 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i16] })) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
72339 /* 204397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
72340 /* 204400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72341 /* 204402 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72342 /* 204404 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72343 /* 204406 */ GIR_RootConstrainSelectedInstOperands,
72344 /* 204407 */ // GIR_Coverage, 22111,
72345 /* 204407 */ GIR_EraseRootFromParent_Done,
72346 /* 204408 */ // Label 4644: @204408
72347 /* 204408 */ GIM_Try, /*On fail goto*//*Label 4645*/ GIMT_Encode4(204433), // Rule ID 22113 //
72348 /* 204413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72349 /* 204416 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72350 /* 204420 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$passthru) => (VPCOMPRESSWZ128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
72351 /* 204420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrk),
72352 /* 204423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72353 /* 204425 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72354 /* 204427 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72355 /* 204429 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72356 /* 204431 */ GIR_RootConstrainSelectedInstOperands,
72357 /* 204432 */ // GIR_Coverage, 22113,
72358 /* 204432 */ GIR_EraseRootFromParent_Done,
72359 /* 204433 */ // Label 4645: @204433
72360 /* 204433 */ GIM_Reject,
72361 /* 204434 */ // Label 4642: @204434
72362 /* 204434 */ GIM_Reject,
72363 /* 204435 */ // Label 4612: @204435
72364 /* 204435 */ GIM_Try, /*On fail goto*//*Label 4646*/ GIMT_Encode4(204636),
72365 /* 204440 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
72366 /* 204443 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
72367 /* 204446 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
72368 /* 204449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72369 /* 204453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72370 /* 204457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
72371 /* 204461 */ GIM_Try, /*On fail goto*//*Label 4647*/ GIMT_Encode4(204494), // Rule ID 21680 //
72372 /* 204466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72373 /* 204469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72374 /* 204473 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72375 /* 204479 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72376 /* 204481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72377 /* 204483 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i32] }) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
72378 /* 204483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
72379 /* 204486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72380 /* 204488 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72381 /* 204490 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72382 /* 204492 */ GIR_RootConstrainSelectedInstOperands,
72383 /* 204493 */ // GIR_Coverage, 21680,
72384 /* 204493 */ GIR_EraseRootFromParent_Done,
72385 /* 204494 */ // Label 4647: @204494
72386 /* 204494 */ GIM_Try, /*On fail goto*//*Label 4648*/ GIMT_Encode4(204527), // Rule ID 21716 //
72387 /* 204499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72388 /* 204502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72389 /* 204506 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72390 /* 204512 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72391 /* 204514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72392 /* 204516 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f32] }) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
72393 /* 204516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
72394 /* 204519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72395 /* 204521 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72396 /* 204523 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72397 /* 204525 */ GIR_RootConstrainSelectedInstOperands,
72398 /* 204526 */ // GIR_Coverage, 21716,
72399 /* 204526 */ GIR_EraseRootFromParent_Done,
72400 /* 204527 */ // Label 4648: @204527
72401 /* 204527 */ GIM_Try, /*On fail goto*//*Label 4649*/ GIMT_Encode4(204556), // Rule ID 21679 //
72402 /* 204532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72403 /* 204535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72404 /* 204539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72405 /* 204543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72406 /* 204545 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i32] })) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
72407 /* 204545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
72408 /* 204548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72409 /* 204550 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72410 /* 204552 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72411 /* 204554 */ GIR_RootConstrainSelectedInstOperands,
72412 /* 204555 */ // GIR_Coverage, 21679,
72413 /* 204555 */ GIR_EraseRootFromParent_Done,
72414 /* 204556 */ // Label 4649: @204556
72415 /* 204556 */ GIM_Try, /*On fail goto*//*Label 4650*/ GIMT_Encode4(204585), // Rule ID 21715 //
72416 /* 204561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72417 /* 204564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72418 /* 204568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72419 /* 204572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72420 /* 204574 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f32] })) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
72421 /* 204574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
72422 /* 204577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72423 /* 204579 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72424 /* 204581 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72425 /* 204583 */ GIR_RootConstrainSelectedInstOperands,
72426 /* 204584 */ // GIR_Coverage, 21715,
72427 /* 204584 */ GIR_EraseRootFromParent_Done,
72428 /* 204585 */ // Label 4650: @204585
72429 /* 204585 */ GIM_Try, /*On fail goto*//*Label 4651*/ GIMT_Encode4(204610), // Rule ID 21681 //
72430 /* 204590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72431 /* 204593 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72432 /* 204597 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$passthru) => (VPCOMPRESSDZ256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
72433 /* 204597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrk),
72434 /* 204600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72435 /* 204602 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72436 /* 204604 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72437 /* 204606 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72438 /* 204608 */ GIR_RootConstrainSelectedInstOperands,
72439 /* 204609 */ // GIR_Coverage, 21681,
72440 /* 204609 */ GIR_EraseRootFromParent_Done,
72441 /* 204610 */ // Label 4651: @204610
72442 /* 204610 */ GIM_Try, /*On fail goto*//*Label 4652*/ GIMT_Encode4(204635), // Rule ID 21717 //
72443 /* 204615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
72444 /* 204618 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72445 /* 204622 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$passthru) => (VCOMPRESSPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
72446 /* 204622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrk),
72447 /* 204625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72448 /* 204627 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72449 /* 204629 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72450 /* 204631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72451 /* 204633 */ GIR_RootConstrainSelectedInstOperands,
72452 /* 204634 */ // GIR_Coverage, 21717,
72453 /* 204634 */ GIR_EraseRootFromParent_Done,
72454 /* 204635 */ // Label 4652: @204635
72455 /* 204635 */ GIM_Reject,
72456 /* 204636 */ // Label 4646: @204636
72457 /* 204636 */ GIM_Reject,
72458 /* 204637 */ // Label 4613: @204637
72459 /* 204637 */ GIM_Try, /*On fail goto*//*Label 4653*/ GIMT_Encode4(204838),
72460 /* 204642 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
72461 /* 204645 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
72462 /* 204648 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
72463 /* 204651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72464 /* 204655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72465 /* 204659 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
72466 /* 204663 */ GIM_Try, /*On fail goto*//*Label 4654*/ GIMT_Encode4(204696), // Rule ID 21692 //
72467 /* 204668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72468 /* 204671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72469 /* 204675 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72470 /* 204681 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72471 /* 204683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72472 /* 204685 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i64] }) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
72473 /* 204685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
72474 /* 204688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72475 /* 204690 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72476 /* 204692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72477 /* 204694 */ GIR_RootConstrainSelectedInstOperands,
72478 /* 204695 */ // GIR_Coverage, 21692,
72479 /* 204695 */ GIR_EraseRootFromParent_Done,
72480 /* 204696 */ // Label 4654: @204696
72481 /* 204696 */ GIM_Try, /*On fail goto*//*Label 4655*/ GIMT_Encode4(204729), // Rule ID 21728 //
72482 /* 204701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72483 /* 204704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72484 /* 204708 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72485 /* 204714 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72486 /* 204716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72487 /* 204718 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f64] }) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
72488 /* 204718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
72489 /* 204721 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72490 /* 204723 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72491 /* 204725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72492 /* 204727 */ GIR_RootConstrainSelectedInstOperands,
72493 /* 204728 */ // GIR_Coverage, 21728,
72494 /* 204728 */ GIR_EraseRootFromParent_Done,
72495 /* 204729 */ // Label 4655: @204729
72496 /* 204729 */ GIM_Try, /*On fail goto*//*Label 4656*/ GIMT_Encode4(204758), // Rule ID 21691 //
72497 /* 204734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72498 /* 204737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72499 /* 204741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72500 /* 204745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72501 /* 204747 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i64] })) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
72502 /* 204747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
72503 /* 204750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72504 /* 204752 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72505 /* 204754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72506 /* 204756 */ GIR_RootConstrainSelectedInstOperands,
72507 /* 204757 */ // GIR_Coverage, 21691,
72508 /* 204757 */ GIR_EraseRootFromParent_Done,
72509 /* 204758 */ // Label 4656: @204758
72510 /* 204758 */ GIM_Try, /*On fail goto*//*Label 4657*/ GIMT_Encode4(204787), // Rule ID 21727 //
72511 /* 204763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72512 /* 204766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72513 /* 204770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72514 /* 204774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72515 /* 204776 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f64] })) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
72516 /* 204776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
72517 /* 204779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72518 /* 204781 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72519 /* 204783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72520 /* 204785 */ GIR_RootConstrainSelectedInstOperands,
72521 /* 204786 */ // GIR_Coverage, 21727,
72522 /* 204786 */ GIR_EraseRootFromParent_Done,
72523 /* 204787 */ // Label 4657: @204787
72524 /* 204787 */ GIM_Try, /*On fail goto*//*Label 4658*/ GIMT_Encode4(204812), // Rule ID 21693 //
72525 /* 204792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72526 /* 204795 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72527 /* 204799 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$passthru) => (VPCOMPRESSQZrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
72528 /* 204799 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrk),
72529 /* 204802 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72530 /* 204804 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72531 /* 204806 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72532 /* 204808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72533 /* 204810 */ GIR_RootConstrainSelectedInstOperands,
72534 /* 204811 */ // GIR_Coverage, 21693,
72535 /* 204811 */ GIR_EraseRootFromParent_Done,
72536 /* 204812 */ // Label 4658: @204812
72537 /* 204812 */ GIM_Try, /*On fail goto*//*Label 4659*/ GIMT_Encode4(204837), // Rule ID 21729 //
72538 /* 204817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72539 /* 204820 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72540 /* 204824 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$passthru) => (VCOMPRESSPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
72541 /* 204824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrk),
72542 /* 204827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72543 /* 204829 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72544 /* 204831 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72545 /* 204833 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72546 /* 204835 */ GIR_RootConstrainSelectedInstOperands,
72547 /* 204836 */ // GIR_Coverage, 21729,
72548 /* 204836 */ GIR_EraseRootFromParent_Done,
72549 /* 204837 */ // Label 4659: @204837
72550 /* 204837 */ GIM_Reject,
72551 /* 204838 */ // Label 4653: @204838
72552 /* 204838 */ GIM_Reject,
72553 /* 204839 */ // Label 4614: @204839
72554 /* 204839 */ GIM_Try, /*On fail goto*//*Label 4660*/ GIMT_Encode4(204953),
72555 /* 204844 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
72556 /* 204847 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
72557 /* 204850 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
72558 /* 204853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72559 /* 204857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72560 /* 204861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
72561 /* 204865 */ GIM_Try, /*On fail goto*//*Label 4661*/ GIMT_Encode4(204898), // Rule ID 22094 //
72562 /* 204870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72563 /* 204873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72564 /* 204877 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72565 /* 204883 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72566 /* 204885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72567 /* 204887 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i8] }) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
72568 /* 204887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
72569 /* 204890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72570 /* 204892 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72571 /* 204894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72572 /* 204896 */ GIR_RootConstrainSelectedInstOperands,
72573 /* 204897 */ // GIR_Coverage, 22094,
72574 /* 204897 */ GIR_EraseRootFromParent_Done,
72575 /* 204898 */ // Label 4661: @204898
72576 /* 204898 */ GIM_Try, /*On fail goto*//*Label 4662*/ GIMT_Encode4(204927), // Rule ID 22093 //
72577 /* 204903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72578 /* 204906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72579 /* 204910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72580 /* 204914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72581 /* 204916 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i8] })) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
72582 /* 204916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
72583 /* 204919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72584 /* 204921 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72585 /* 204923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72586 /* 204925 */ GIR_RootConstrainSelectedInstOperands,
72587 /* 204926 */ // GIR_Coverage, 22093,
72588 /* 204926 */ GIR_EraseRootFromParent_Done,
72589 /* 204927 */ // Label 4662: @204927
72590 /* 204927 */ GIM_Try, /*On fail goto*//*Label 4663*/ GIMT_Encode4(204952), // Rule ID 22095 //
72591 /* 204932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72592 /* 204935 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72593 /* 204939 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$passthru) => (VPCOMPRESSBZ128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
72594 /* 204939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrk),
72595 /* 204942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72596 /* 204944 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72597 /* 204946 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72598 /* 204948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72599 /* 204950 */ GIR_RootConstrainSelectedInstOperands,
72600 /* 204951 */ // GIR_Coverage, 22095,
72601 /* 204951 */ GIR_EraseRootFromParent_Done,
72602 /* 204952 */ // Label 4663: @204952
72603 /* 204952 */ GIM_Reject,
72604 /* 204953 */ // Label 4660: @204953
72605 /* 204953 */ GIM_Reject,
72606 /* 204954 */ // Label 4615: @204954
72607 /* 204954 */ GIM_Try, /*On fail goto*//*Label 4664*/ GIMT_Encode4(205068),
72608 /* 204959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
72609 /* 204962 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
72610 /* 204965 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
72611 /* 204968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72612 /* 204972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72613 /* 204976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
72614 /* 204980 */ GIM_Try, /*On fail goto*//*Label 4665*/ GIMT_Encode4(205013), // Rule ID 22106 //
72615 /* 204985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72616 /* 204988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72617 /* 204992 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72618 /* 204998 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72619 /* 205000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72620 /* 205002 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i16] }) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
72621 /* 205002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
72622 /* 205005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72623 /* 205007 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72624 /* 205009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72625 /* 205011 */ GIR_RootConstrainSelectedInstOperands,
72626 /* 205012 */ // GIR_Coverage, 22106,
72627 /* 205012 */ GIR_EraseRootFromParent_Done,
72628 /* 205013 */ // Label 4665: @205013
72629 /* 205013 */ GIM_Try, /*On fail goto*//*Label 4666*/ GIMT_Encode4(205042), // Rule ID 22105 //
72630 /* 205018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72631 /* 205021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72632 /* 205025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72633 /* 205029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72634 /* 205031 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i16] })) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
72635 /* 205031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
72636 /* 205034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72637 /* 205036 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72638 /* 205038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72639 /* 205040 */ GIR_RootConstrainSelectedInstOperands,
72640 /* 205041 */ // GIR_Coverage, 22105,
72641 /* 205041 */ GIR_EraseRootFromParent_Done,
72642 /* 205042 */ // Label 4666: @205042
72643 /* 205042 */ GIM_Try, /*On fail goto*//*Label 4667*/ GIMT_Encode4(205067), // Rule ID 22107 //
72644 /* 205047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72645 /* 205050 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72646 /* 205054 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$passthru) => (VPCOMPRESSWZ256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
72647 /* 205054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrk),
72648 /* 205057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72649 /* 205059 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72650 /* 205061 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72651 /* 205063 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72652 /* 205065 */ GIR_RootConstrainSelectedInstOperands,
72653 /* 205066 */ // GIR_Coverage, 22107,
72654 /* 205066 */ GIR_EraseRootFromParent_Done,
72655 /* 205067 */ // Label 4667: @205067
72656 /* 205067 */ GIM_Reject,
72657 /* 205068 */ // Label 4664: @205068
72658 /* 205068 */ GIM_Reject,
72659 /* 205069 */ // Label 4616: @205069
72660 /* 205069 */ GIM_Try, /*On fail goto*//*Label 4668*/ GIMT_Encode4(205270),
72661 /* 205074 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
72662 /* 205077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
72663 /* 205080 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
72664 /* 205083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72665 /* 205087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72666 /* 205091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
72667 /* 205095 */ GIM_Try, /*On fail goto*//*Label 4669*/ GIMT_Encode4(205128), // Rule ID 21674 //
72668 /* 205100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72669 /* 205103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72670 /* 205107 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72671 /* 205113 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72672 /* 205115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72673 /* 205117 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
72674 /* 205117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
72675 /* 205120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72676 /* 205122 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72677 /* 205124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72678 /* 205126 */ GIR_RootConstrainSelectedInstOperands,
72679 /* 205127 */ // GIR_Coverage, 21674,
72680 /* 205127 */ GIR_EraseRootFromParent_Done,
72681 /* 205128 */ // Label 4669: @205128
72682 /* 205128 */ GIM_Try, /*On fail goto*//*Label 4670*/ GIMT_Encode4(205161), // Rule ID 21710 //
72683 /* 205133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72684 /* 205136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72685 /* 205140 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72686 /* 205146 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72687 /* 205148 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72688 /* 205150 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16f32] }) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
72689 /* 205150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
72690 /* 205153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72691 /* 205155 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72692 /* 205157 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72693 /* 205159 */ GIR_RootConstrainSelectedInstOperands,
72694 /* 205160 */ // GIR_Coverage, 21710,
72695 /* 205160 */ GIR_EraseRootFromParent_Done,
72696 /* 205161 */ // Label 4670: @205161
72697 /* 205161 */ GIM_Try, /*On fail goto*//*Label 4671*/ GIMT_Encode4(205190), // Rule ID 21673 //
72698 /* 205166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72699 /* 205169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72700 /* 205173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72701 /* 205177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72702 /* 205179 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i32] })) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
72703 /* 205179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
72704 /* 205182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72705 /* 205184 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72706 /* 205186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72707 /* 205188 */ GIR_RootConstrainSelectedInstOperands,
72708 /* 205189 */ // GIR_Coverage, 21673,
72709 /* 205189 */ GIR_EraseRootFromParent_Done,
72710 /* 205190 */ // Label 4671: @205190
72711 /* 205190 */ GIM_Try, /*On fail goto*//*Label 4672*/ GIMT_Encode4(205219), // Rule ID 21709 //
72712 /* 205195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72713 /* 205198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72714 /* 205202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72715 /* 205206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72716 /* 205208 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16f32] })) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
72717 /* 205208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
72718 /* 205211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72719 /* 205213 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72720 /* 205215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72721 /* 205217 */ GIR_RootConstrainSelectedInstOperands,
72722 /* 205218 */ // GIR_Coverage, 21709,
72723 /* 205218 */ GIR_EraseRootFromParent_Done,
72724 /* 205219 */ // Label 4672: @205219
72725 /* 205219 */ GIM_Try, /*On fail goto*//*Label 4673*/ GIMT_Encode4(205244), // Rule ID 21675 //
72726 /* 205224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72727 /* 205227 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72728 /* 205231 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$passthru) => (VPCOMPRESSDZrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
72729 /* 205231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrk),
72730 /* 205234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72731 /* 205236 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72732 /* 205238 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72733 /* 205240 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72734 /* 205242 */ GIR_RootConstrainSelectedInstOperands,
72735 /* 205243 */ // GIR_Coverage, 21675,
72736 /* 205243 */ GIR_EraseRootFromParent_Done,
72737 /* 205244 */ // Label 4673: @205244
72738 /* 205244 */ GIM_Try, /*On fail goto*//*Label 4674*/ GIMT_Encode4(205269), // Rule ID 21711 //
72739 /* 205249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
72740 /* 205252 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72741 /* 205256 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$passthru) => (VCOMPRESSPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
72742 /* 205256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrk),
72743 /* 205259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72744 /* 205261 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72745 /* 205263 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72746 /* 205265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72747 /* 205267 */ GIR_RootConstrainSelectedInstOperands,
72748 /* 205268 */ // GIR_Coverage, 21711,
72749 /* 205268 */ GIR_EraseRootFromParent_Done,
72750 /* 205269 */ // Label 4674: @205269
72751 /* 205269 */ GIM_Reject,
72752 /* 205270 */ // Label 4668: @205270
72753 /* 205270 */ GIM_Reject,
72754 /* 205271 */ // Label 4617: @205271
72755 /* 205271 */ GIM_Try, /*On fail goto*//*Label 4675*/ GIMT_Encode4(205385),
72756 /* 205276 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
72757 /* 205279 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
72758 /* 205282 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
72759 /* 205285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72760 /* 205289 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72761 /* 205293 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
72762 /* 205297 */ GIM_Try, /*On fail goto*//*Label 4676*/ GIMT_Encode4(205330), // Rule ID 22088 //
72763 /* 205302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72764 /* 205305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72765 /* 205309 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72766 /* 205315 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72767 /* 205317 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72768 /* 205319 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i8] }) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
72769 /* 205319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
72770 /* 205322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72771 /* 205324 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72772 /* 205326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72773 /* 205328 */ GIR_RootConstrainSelectedInstOperands,
72774 /* 205329 */ // GIR_Coverage, 22088,
72775 /* 205329 */ GIR_EraseRootFromParent_Done,
72776 /* 205330 */ // Label 4676: @205330
72777 /* 205330 */ GIM_Try, /*On fail goto*//*Label 4677*/ GIMT_Encode4(205359), // Rule ID 22087 //
72778 /* 205335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72779 /* 205338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72780 /* 205342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72781 /* 205346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72782 /* 205348 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i8] })) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
72783 /* 205348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
72784 /* 205351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72785 /* 205353 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72786 /* 205355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72787 /* 205357 */ GIR_RootConstrainSelectedInstOperands,
72788 /* 205358 */ // GIR_Coverage, 22087,
72789 /* 205358 */ GIR_EraseRootFromParent_Done,
72790 /* 205359 */ // Label 4677: @205359
72791 /* 205359 */ GIM_Try, /*On fail goto*//*Label 4678*/ GIMT_Encode4(205384), // Rule ID 22089 //
72792 /* 205364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
72793 /* 205367 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72794 /* 205371 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$passthru) => (VPCOMPRESSBZ256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
72795 /* 205371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrk),
72796 /* 205374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72797 /* 205376 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72798 /* 205378 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72799 /* 205380 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72800 /* 205382 */ GIR_RootConstrainSelectedInstOperands,
72801 /* 205383 */ // GIR_Coverage, 22089,
72802 /* 205383 */ GIR_EraseRootFromParent_Done,
72803 /* 205384 */ // Label 4678: @205384
72804 /* 205384 */ GIM_Reject,
72805 /* 205385 */ // Label 4675: @205385
72806 /* 205385 */ GIM_Reject,
72807 /* 205386 */ // Label 4618: @205386
72808 /* 205386 */ GIM_Try, /*On fail goto*//*Label 4679*/ GIMT_Encode4(205500),
72809 /* 205391 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
72810 /* 205394 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
72811 /* 205397 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
72812 /* 205400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72813 /* 205404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72814 /* 205408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
72815 /* 205412 */ GIM_Try, /*On fail goto*//*Label 4680*/ GIMT_Encode4(205445), // Rule ID 22100 //
72816 /* 205417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72817 /* 205420 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72818 /* 205424 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72819 /* 205430 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72820 /* 205432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72821 /* 205434 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i16] }) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
72822 /* 205434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
72823 /* 205437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72824 /* 205439 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72825 /* 205441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72826 /* 205443 */ GIR_RootConstrainSelectedInstOperands,
72827 /* 205444 */ // GIR_Coverage, 22100,
72828 /* 205444 */ GIR_EraseRootFromParent_Done,
72829 /* 205445 */ // Label 4680: @205445
72830 /* 205445 */ GIM_Try, /*On fail goto*//*Label 4681*/ GIMT_Encode4(205474), // Rule ID 22099 //
72831 /* 205450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72832 /* 205453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72833 /* 205457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72834 /* 205461 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72835 /* 205463 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i16] })) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
72836 /* 205463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
72837 /* 205466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72838 /* 205468 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72839 /* 205470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72840 /* 205472 */ GIR_RootConstrainSelectedInstOperands,
72841 /* 205473 */ // GIR_Coverage, 22099,
72842 /* 205473 */ GIR_EraseRootFromParent_Done,
72843 /* 205474 */ // Label 4681: @205474
72844 /* 205474 */ GIM_Try, /*On fail goto*//*Label 4682*/ GIMT_Encode4(205499), // Rule ID 22101 //
72845 /* 205479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72846 /* 205482 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72847 /* 205486 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$passthru) => (VPCOMPRESSWZrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
72848 /* 205486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrk),
72849 /* 205489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72850 /* 205491 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72851 /* 205493 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72852 /* 205495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72853 /* 205497 */ GIR_RootConstrainSelectedInstOperands,
72854 /* 205498 */ // GIR_Coverage, 22101,
72855 /* 205498 */ GIR_EraseRootFromParent_Done,
72856 /* 205499 */ // Label 4682: @205499
72857 /* 205499 */ GIM_Reject,
72858 /* 205500 */ // Label 4679: @205500
72859 /* 205500 */ GIM_Reject,
72860 /* 205501 */ // Label 4619: @205501
72861 /* 205501 */ GIM_Try, /*On fail goto*//*Label 4683*/ GIMT_Encode4(205615),
72862 /* 205506 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
72863 /* 205509 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
72864 /* 205512 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
72865 /* 205515 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72866 /* 205519 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72867 /* 205523 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
72868 /* 205527 */ GIM_Try, /*On fail goto*//*Label 4684*/ GIMT_Encode4(205560), // Rule ID 22082 //
72869 /* 205532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72870 /* 205535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72871 /* 205539 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
72872 /* 205545 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
72873 /* 205547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72874 /* 205549 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, immAllZerosV:{ *:[v64i8] }) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
72875 /* 205549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
72876 /* 205552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72877 /* 205554 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72878 /* 205556 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72879 /* 205558 */ GIR_RootConstrainSelectedInstOperands,
72880 /* 205559 */ // GIR_Coverage, 22082,
72881 /* 205559 */ GIR_EraseRootFromParent_Done,
72882 /* 205560 */ // Label 4684: @205560
72883 /* 205560 */ GIM_Try, /*On fail goto*//*Label 4685*/ GIMT_Encode4(205589), // Rule ID 22081 //
72884 /* 205565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72885 /* 205568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
72886 /* 205572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
72887 /* 205576 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72888 /* 205578 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, (undef:{ *:[v64i8] })) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
72889 /* 205578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
72890 /* 205581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72891 /* 205583 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72892 /* 205585 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72893 /* 205587 */ GIR_RootConstrainSelectedInstOperands,
72894 /* 205588 */ // GIR_Coverage, 22081,
72895 /* 205588 */ GIR_EraseRootFromParent_Done,
72896 /* 205589 */ // Label 4685: @205589
72897 /* 205589 */ GIM_Try, /*On fail goto*//*Label 4686*/ GIMT_Encode4(205614), // Rule ID 22083 //
72898 /* 205594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
72899 /* 205597 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72900 /* 205601 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$passthru) => (VPCOMPRESSBZrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$passthru, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
72901 /* 205601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrk),
72902 /* 205604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72903 /* 205606 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
72904 /* 205608 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
72905 /* 205610 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72906 /* 205612 */ GIR_RootConstrainSelectedInstOperands,
72907 /* 205613 */ // GIR_Coverage, 22083,
72908 /* 205613 */ GIR_EraseRootFromParent_Done,
72909 /* 205614 */ // Label 4686: @205614
72910 /* 205614 */ GIM_Reject,
72911 /* 205615 */ // Label 4683: @205615
72912 /* 205615 */ GIM_Reject,
72913 /* 205616 */ // Label 4620: @205616
72914 /* 205616 */ GIM_Reject,
72915 /* 205617 */ // Label 63: @205617
72916 /* 205617 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4690*/ GIMT_Encode4(205922),
72917 /* 205628 */ /*GILLT_s16*//*Label 4687*/ GIMT_Encode4(205640),
72918 /* 205632 */ /*GILLT_s32*//*Label 4688*/ GIMT_Encode4(205734),
72919 /* 205636 */ /*GILLT_s64*//*Label 4689*/ GIMT_Encode4(205828),
72920 /* 205640 */ // Label 4687: @205640
72921 /* 205640 */ GIM_Try, /*On fail goto*//*Label 4691*/ GIMT_Encode4(205733),
72922 /* 205645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72923 /* 205648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72924 /* 205652 */ GIM_Try, /*On fail goto*//*Label 4692*/ GIMT_Encode4(205707), // Rule ID 77 //
72925 /* 205657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72926 /* 205660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72927 /* 205664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72928 /* 205668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72929 /* 205671 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72930 /* 205675 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72931 /* 205679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72932 /* 205681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72933 /* 205688 */ // (cttz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (TZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72934 /* 205688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT16rm),
72935 /* 205691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72936 /* 205693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72937 /* 205697 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72938 /* 205700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72939 /* 205705 */ GIR_RootConstrainSelectedInstOperands,
72940 /* 205706 */ // GIR_Coverage, 77,
72941 /* 205706 */ GIR_EraseRootFromParent_Done,
72942 /* 205707 */ // Label 4692: @205707
72943 /* 205707 */ GIM_Try, /*On fail goto*//*Label 4693*/ GIMT_Encode4(205732), // Rule ID 76 //
72944 /* 205712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72945 /* 205715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72946 /* 205719 */ // (cttz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (TZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
72947 /* 205719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT16rr),
72948 /* 205724 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72949 /* 205730 */ GIR_RootConstrainSelectedInstOperands,
72950 /* 205731 */ // GIR_Coverage, 76,
72951 /* 205731 */ GIR_Done,
72952 /* 205732 */ // Label 4693: @205732
72953 /* 205732 */ GIM_Reject,
72954 /* 205733 */ // Label 4691: @205733
72955 /* 205733 */ GIM_Reject,
72956 /* 205734 */ // Label 4688: @205734
72957 /* 205734 */ GIM_Try, /*On fail goto*//*Label 4694*/ GIMT_Encode4(205827),
72958 /* 205739 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72959 /* 205742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72960 /* 205746 */ GIM_Try, /*On fail goto*//*Label 4695*/ GIMT_Encode4(205801), // Rule ID 79 //
72961 /* 205751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72962 /* 205754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72963 /* 205758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72964 /* 205762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72965 /* 205765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72966 /* 205769 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72967 /* 205773 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72968 /* 205775 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72969 /* 205782 */ // (cttz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (TZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72970 /* 205782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT32rm),
72971 /* 205785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72972 /* 205787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72973 /* 205791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72974 /* 205794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72975 /* 205799 */ GIR_RootConstrainSelectedInstOperands,
72976 /* 205800 */ // GIR_Coverage, 79,
72977 /* 205800 */ GIR_EraseRootFromParent_Done,
72978 /* 205801 */ // Label 4695: @205801
72979 /* 205801 */ GIM_Try, /*On fail goto*//*Label 4696*/ GIMT_Encode4(205826), // Rule ID 78 //
72980 /* 205806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72981 /* 205809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72982 /* 205813 */ // (cttz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (TZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72983 /* 205813 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT32rr),
72984 /* 205818 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72985 /* 205824 */ GIR_RootConstrainSelectedInstOperands,
72986 /* 205825 */ // GIR_Coverage, 78,
72987 /* 205825 */ GIR_Done,
72988 /* 205826 */ // Label 4696: @205826
72989 /* 205826 */ GIM_Reject,
72990 /* 205827 */ // Label 4694: @205827
72991 /* 205827 */ GIM_Reject,
72992 /* 205828 */ // Label 4689: @205828
72993 /* 205828 */ GIM_Try, /*On fail goto*//*Label 4697*/ GIMT_Encode4(205921),
72994 /* 205833 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72995 /* 205836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72996 /* 205840 */ GIM_Try, /*On fail goto*//*Label 4698*/ GIMT_Encode4(205895), // Rule ID 81 //
72997 /* 205845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
72998 /* 205848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72999 /* 205852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73000 /* 205856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73001 /* 205859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73002 /* 205863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73003 /* 205867 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73004 /* 205869 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73005 /* 205876 */ // (cttz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (TZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73006 /* 205876 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT64rm),
73007 /* 205879 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73008 /* 205881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73009 /* 205885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73010 /* 205888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73011 /* 205893 */ GIR_RootConstrainSelectedInstOperands,
73012 /* 205894 */ // GIR_Coverage, 81,
73013 /* 205894 */ GIR_EraseRootFromParent_Done,
73014 /* 205895 */ // Label 4698: @205895
73015 /* 205895 */ GIM_Try, /*On fail goto*//*Label 4699*/ GIMT_Encode4(205920), // Rule ID 80 //
73016 /* 205900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
73017 /* 205903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73018 /* 205907 */ // (cttz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (TZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
73019 /* 205907 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT64rr),
73020 /* 205912 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73021 /* 205918 */ GIR_RootConstrainSelectedInstOperands,
73022 /* 205919 */ // GIR_Coverage, 80,
73023 /* 205919 */ GIR_Done,
73024 /* 205920 */ // Label 4699: @205920
73025 /* 205920 */ GIM_Reject,
73026 /* 205921 */ // Label 4697: @205921
73027 /* 205921 */ GIM_Reject,
73028 /* 205922 */ // Label 4690: @205922
73029 /* 205922 */ GIM_Reject,
73030 /* 205923 */ // Label 64: @205923
73031 /* 205923 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4703*/ GIMT_Encode4(206309),
73032 /* 205934 */ /*GILLT_s16*//*Label 4700*/ GIMT_Encode4(205946),
73033 /* 205938 */ /*GILLT_s32*//*Label 4701*/ GIMT_Encode4(206067),
73034 /* 205942 */ /*GILLT_s64*//*Label 4702*/ GIMT_Encode4(206188),
73035 /* 205946 */ // Label 4700: @205946
73036 /* 205946 */ GIM_Try, /*On fail goto*//*Label 4704*/ GIMT_Encode4(206066),
73037 /* 205951 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73038 /* 205954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73039 /* 205958 */ GIM_Try, /*On fail goto*//*Label 4705*/ GIMT_Encode4(206027), // Rule ID 23018 //
73040 /* 205963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73041 /* 205967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73042 /* 205971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73043 /* 205974 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73044 /* 205978 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73045 /* 205982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73046 /* 205984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73047 /* 205991 */ // (cttz_zero_undef:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (BSF16rm:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), addr:{ *:[iPTR] }:$src)
73048 /* 205991 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73049 /* 205994 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73050 /* 205998 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73051 /* 206003 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73052 /* 206005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rm),
73053 /* 206008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73054 /* 206010 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73055 /* 206013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73056 /* 206017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73057 /* 206020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73058 /* 206025 */ GIR_RootConstrainSelectedInstOperands,
73059 /* 206026 */ // GIR_Coverage, 23018,
73060 /* 206026 */ GIR_EraseRootFromParent_Done,
73061 /* 206027 */ // Label 4705: @206027
73062 /* 206027 */ GIM_Try, /*On fail goto*//*Label 4706*/ GIMT_Encode4(206065), // Rule ID 23015 //
73063 /* 206032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73064 /* 206036 */ // (cttz_zero_undef:{ *:[i16] } GR16:{ *:[i16] }:$src) => (BSF16rr:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), GR16:{ *:[i16] }:$src)
73065 /* 206036 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73066 /* 206039 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73067 /* 206043 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73068 /* 206048 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73069 /* 206050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rr),
73070 /* 206053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73071 /* 206055 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73072 /* 206058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73073 /* 206060 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73074 /* 206063 */ GIR_RootConstrainSelectedInstOperands,
73075 /* 206064 */ // GIR_Coverage, 23015,
73076 /* 206064 */ GIR_EraseRootFromParent_Done,
73077 /* 206065 */ // Label 4706: @206065
73078 /* 206065 */ GIM_Reject,
73079 /* 206066 */ // Label 4704: @206066
73080 /* 206066 */ GIM_Reject,
73081 /* 206067 */ // Label 4701: @206067
73082 /* 206067 */ GIM_Try, /*On fail goto*//*Label 4707*/ GIMT_Encode4(206187),
73083 /* 206072 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73084 /* 206075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73085 /* 206079 */ GIM_Try, /*On fail goto*//*Label 4708*/ GIMT_Encode4(206148), // Rule ID 23019 //
73086 /* 206084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73087 /* 206088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73088 /* 206092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73089 /* 206095 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73090 /* 206099 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73091 /* 206103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73092 /* 206105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73093 /* 206112 */ // (cttz_zero_undef:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (BSF32rm:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), addr:{ *:[iPTR] }:$src)
73094 /* 206112 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73095 /* 206115 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73096 /* 206119 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73097 /* 206124 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73098 /* 206126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rm),
73099 /* 206129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73100 /* 206131 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73101 /* 206134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73102 /* 206138 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73103 /* 206141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73104 /* 206146 */ GIR_RootConstrainSelectedInstOperands,
73105 /* 206147 */ // GIR_Coverage, 23019,
73106 /* 206147 */ GIR_EraseRootFromParent_Done,
73107 /* 206148 */ // Label 4708: @206148
73108 /* 206148 */ GIM_Try, /*On fail goto*//*Label 4709*/ GIMT_Encode4(206186), // Rule ID 23016 //
73109 /* 206153 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73110 /* 206157 */ // (cttz_zero_undef:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSF32rr:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR32:{ *:[i32] }:$src)
73111 /* 206157 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73112 /* 206160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73113 /* 206164 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73114 /* 206169 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73115 /* 206171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rr),
73116 /* 206174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73117 /* 206176 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73118 /* 206179 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73119 /* 206181 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73120 /* 206184 */ GIR_RootConstrainSelectedInstOperands,
73121 /* 206185 */ // GIR_Coverage, 23016,
73122 /* 206185 */ GIR_EraseRootFromParent_Done,
73123 /* 206186 */ // Label 4709: @206186
73124 /* 206186 */ GIM_Reject,
73125 /* 206187 */ // Label 4707: @206187
73126 /* 206187 */ GIM_Reject,
73127 /* 206188 */ // Label 4702: @206188
73128 /* 206188 */ GIM_Try, /*On fail goto*//*Label 4710*/ GIMT_Encode4(206308),
73129 /* 206193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73130 /* 206196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73131 /* 206200 */ GIM_Try, /*On fail goto*//*Label 4711*/ GIMT_Encode4(206269), // Rule ID 23020 //
73132 /* 206205 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73133 /* 206209 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73134 /* 206213 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73135 /* 206216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73136 /* 206220 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73137 /* 206224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73138 /* 206226 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73139 /* 206233 */ // (cttz_zero_undef:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (BSF64rm:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), addr:{ *:[iPTR] }:$src)
73140 /* 206233 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73141 /* 206236 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73142 /* 206240 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73143 /* 206245 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73144 /* 206247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rm),
73145 /* 206250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73146 /* 206252 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73147 /* 206255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73148 /* 206259 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73149 /* 206262 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73150 /* 206267 */ GIR_RootConstrainSelectedInstOperands,
73151 /* 206268 */ // GIR_Coverage, 23020,
73152 /* 206268 */ GIR_EraseRootFromParent_Done,
73153 /* 206269 */ // Label 4711: @206269
73154 /* 206269 */ GIM_Try, /*On fail goto*//*Label 4712*/ GIMT_Encode4(206307), // Rule ID 23017 //
73155 /* 206274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73156 /* 206278 */ // (cttz_zero_undef:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSF64rr:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), GR64:{ *:[i64] }:$src)
73157 /* 206278 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73158 /* 206281 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73159 /* 206285 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73160 /* 206290 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73161 /* 206292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rr),
73162 /* 206295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73163 /* 206297 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73164 /* 206300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73165 /* 206302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73166 /* 206305 */ GIR_RootConstrainSelectedInstOperands,
73167 /* 206306 */ // GIR_Coverage, 23017,
73168 /* 206306 */ GIR_EraseRootFromParent_Done,
73169 /* 206307 */ // Label 4712: @206307
73170 /* 206307 */ GIM_Reject,
73171 /* 206308 */ // Label 4710: @206308
73172 /* 206308 */ GIM_Reject,
73173 /* 206309 */ // Label 4703: @206309
73174 /* 206309 */ GIM_Reject,
73175 /* 206310 */ // Label 65: @206310
73176 /* 206310 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(20), /*)*//*default:*//*Label 4722*/ GIMT_Encode4(207613),
73177 /* 206321 */ /*GILLT_s16*//*Label 4713*/ GIMT_Encode4(206393),
73178 /* 206325 */ /*GILLT_s32*//*Label 4714*/ GIMT_Encode4(206487),
73179 /* 206329 */ /*GILLT_s64*//*Label 4715*/ GIMT_Encode4(206581), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
73180 /* 206345 */ /*GILLT_v2s64*//*Label 4716*/ GIMT_Encode4(206675), GIMT_Encode4(0),
73181 /* 206353 */ /*GILLT_v4s32*//*Label 4717*/ GIMT_Encode4(206871),
73182 /* 206357 */ /*GILLT_v4s64*//*Label 4718*/ GIMT_Encode4(207067), GIMT_Encode4(0), GIMT_Encode4(0),
73183 /* 206369 */ /*GILLT_v8s32*//*Label 4719*/ GIMT_Encode4(207255),
73184 /* 206373 */ /*GILLT_v8s64*//*Label 4720*/ GIMT_Encode4(207443), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
73185 /* 206389 */ /*GILLT_v16s32*//*Label 4721*/ GIMT_Encode4(207528),
73186 /* 206393 */ // Label 4713: @206393
73187 /* 206393 */ GIM_Try, /*On fail goto*//*Label 4723*/ GIMT_Encode4(206486),
73188 /* 206398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73189 /* 206401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73190 /* 206405 */ GIM_Try, /*On fail goto*//*Label 4724*/ GIMT_Encode4(206460), // Rule ID 71 //
73191 /* 206410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
73192 /* 206413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73193 /* 206417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73194 /* 206421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73195 /* 206424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73196 /* 206428 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73197 /* 206432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73198 /* 206434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73199 /* 206441 */ // (ctlz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (LZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73200 /* 206441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT16rm),
73201 /* 206444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73202 /* 206446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73203 /* 206450 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73204 /* 206453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73205 /* 206458 */ GIR_RootConstrainSelectedInstOperands,
73206 /* 206459 */ // GIR_Coverage, 71,
73207 /* 206459 */ GIR_EraseRootFromParent_Done,
73208 /* 206460 */ // Label 4724: @206460
73209 /* 206460 */ GIM_Try, /*On fail goto*//*Label 4725*/ GIMT_Encode4(206485), // Rule ID 70 //
73210 /* 206465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
73211 /* 206468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73212 /* 206472 */ // (ctlz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (LZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
73213 /* 206472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT16rr),
73214 /* 206477 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73215 /* 206483 */ GIR_RootConstrainSelectedInstOperands,
73216 /* 206484 */ // GIR_Coverage, 70,
73217 /* 206484 */ GIR_Done,
73218 /* 206485 */ // Label 4725: @206485
73219 /* 206485 */ GIM_Reject,
73220 /* 206486 */ // Label 4723: @206486
73221 /* 206486 */ GIM_Reject,
73222 /* 206487 */ // Label 4714: @206487
73223 /* 206487 */ GIM_Try, /*On fail goto*//*Label 4726*/ GIMT_Encode4(206580),
73224 /* 206492 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73225 /* 206495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73226 /* 206499 */ GIM_Try, /*On fail goto*//*Label 4727*/ GIMT_Encode4(206554), // Rule ID 73 //
73227 /* 206504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
73228 /* 206507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73229 /* 206511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73230 /* 206515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73231 /* 206518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73232 /* 206522 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73233 /* 206526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73234 /* 206528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73235 /* 206535 */ // (ctlz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (LZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73236 /* 206535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT32rm),
73237 /* 206538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73238 /* 206540 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73239 /* 206544 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73240 /* 206547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73241 /* 206552 */ GIR_RootConstrainSelectedInstOperands,
73242 /* 206553 */ // GIR_Coverage, 73,
73243 /* 206553 */ GIR_EraseRootFromParent_Done,
73244 /* 206554 */ // Label 4727: @206554
73245 /* 206554 */ GIM_Try, /*On fail goto*//*Label 4728*/ GIMT_Encode4(206579), // Rule ID 72 //
73246 /* 206559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
73247 /* 206562 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73248 /* 206566 */ // (ctlz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (LZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
73249 /* 206566 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT32rr),
73250 /* 206571 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73251 /* 206577 */ GIR_RootConstrainSelectedInstOperands,
73252 /* 206578 */ // GIR_Coverage, 72,
73253 /* 206578 */ GIR_Done,
73254 /* 206579 */ // Label 4728: @206579
73255 /* 206579 */ GIM_Reject,
73256 /* 206580 */ // Label 4726: @206580
73257 /* 206580 */ GIM_Reject,
73258 /* 206581 */ // Label 4715: @206581
73259 /* 206581 */ GIM_Try, /*On fail goto*//*Label 4729*/ GIMT_Encode4(206674),
73260 /* 206586 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73261 /* 206589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73262 /* 206593 */ GIM_Try, /*On fail goto*//*Label 4730*/ GIMT_Encode4(206648), // Rule ID 75 //
73263 /* 206598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
73264 /* 206601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73265 /* 206605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73266 /* 206609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73267 /* 206612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73268 /* 206616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73269 /* 206620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73270 /* 206622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73271 /* 206629 */ // (ctlz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (LZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73272 /* 206629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT64rm),
73273 /* 206632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73274 /* 206634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73275 /* 206638 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73276 /* 206641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73277 /* 206646 */ GIR_RootConstrainSelectedInstOperands,
73278 /* 206647 */ // GIR_Coverage, 75,
73279 /* 206647 */ GIR_EraseRootFromParent_Done,
73280 /* 206648 */ // Label 4730: @206648
73281 /* 206648 */ GIM_Try, /*On fail goto*//*Label 4731*/ GIMT_Encode4(206673), // Rule ID 74 //
73282 /* 206653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
73283 /* 206656 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73284 /* 206660 */ // (ctlz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (LZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
73285 /* 206660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT64rr),
73286 /* 206665 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73287 /* 206671 */ GIR_RootConstrainSelectedInstOperands,
73288 /* 206672 */ // GIR_Coverage, 74,
73289 /* 206672 */ GIR_Done,
73290 /* 206673 */ // Label 4731: @206673
73291 /* 206673 */ GIM_Reject,
73292 /* 206674 */ // Label 4729: @206674
73293 /* 206674 */ GIM_Reject,
73294 /* 206675 */ // Label 4716: @206675
73295 /* 206675 */ GIM_Try, /*On fail goto*//*Label 4732*/ GIMT_Encode4(206870),
73296 /* 206680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
73297 /* 206683 */ GIM_Try, /*On fail goto*//*Label 4733*/ GIMT_Encode4(206739), // Rule ID 13360 //
73298 /* 206688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73299 /* 206691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73300 /* 206695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73301 /* 206699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73302 /* 206703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73303 /* 206706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73304 /* 206710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73305 /* 206714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73306 /* 206716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73307 /* 206723 */ // (ctlz:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
73308 /* 206723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rm),
73309 /* 206726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73310 /* 206728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73311 /* 206732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73312 /* 206737 */ GIR_RootConstrainSelectedInstOperands,
73313 /* 206738 */ // GIR_Coverage, 13360,
73314 /* 206738 */ GIR_EraseRootFromParent_Done,
73315 /* 206739 */ // Label 4733: @206739
73316 /* 206739 */ GIM_Try, /*On fail goto*//*Label 4734*/ GIMT_Encode4(206762), // Rule ID 13357 //
73317 /* 206744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73318 /* 206747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73319 /* 206751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73320 /* 206755 */ // (ctlz:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPLZCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
73321 /* 206755 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rr),
73322 /* 206760 */ GIR_RootConstrainSelectedInstOperands,
73323 /* 206761 */ // GIR_Coverage, 13357,
73324 /* 206761 */ GIR_Done,
73325 /* 206762 */ // Label 4734: @206762
73326 /* 206762 */ GIM_Try, /*On fail goto*//*Label 4735*/ GIMT_Encode4(206869), // Rule ID 21834 //
73327 /* 206767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
73328 /* 206770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73329 /* 206774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73330 /* 206778 */ // (ctlz:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPLZCNTQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
73331 /* 206778 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
73332 /* 206781 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73333 /* 206785 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73334 /* 206790 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73335 /* 206792 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
73336 /* 206795 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73337 /* 206799 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73338 /* 206804 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73339 /* 206807 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73340 /* 206811 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
73341 /* 206814 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73342 /* 206819 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73343 /* 206824 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73344 /* 206829 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73345 /* 206832 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
73346 /* 206836 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73347 /* 206841 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73348 /* 206844 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73349 /* 206846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73350 /* 206849 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73351 /* 206851 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73352 /* 206858 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73353 /* 206863 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73354 /* 206868 */ // GIR_Coverage, 21834,
73355 /* 206868 */ GIR_EraseRootFromParent_Done,
73356 /* 206869 */ // Label 4735: @206869
73357 /* 206869 */ GIM_Reject,
73358 /* 206870 */ // Label 4732: @206870
73359 /* 206870 */ GIM_Reject,
73360 /* 206871 */ // Label 4717: @206871
73361 /* 206871 */ GIM_Try, /*On fail goto*//*Label 4736*/ GIMT_Encode4(207066),
73362 /* 206876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
73363 /* 206879 */ GIM_Try, /*On fail goto*//*Label 4737*/ GIMT_Encode4(206935), // Rule ID 13387 //
73364 /* 206884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73365 /* 206887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73366 /* 206891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73367 /* 206895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73368 /* 206899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73369 /* 206902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73370 /* 206906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73371 /* 206910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73372 /* 206912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73373 /* 206919 */ // (ctlz:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
73374 /* 206919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rm),
73375 /* 206922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73376 /* 206924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73377 /* 206928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73378 /* 206933 */ GIR_RootConstrainSelectedInstOperands,
73379 /* 206934 */ // GIR_Coverage, 13387,
73380 /* 206934 */ GIR_EraseRootFromParent_Done,
73381 /* 206935 */ // Label 4737: @206935
73382 /* 206935 */ GIM_Try, /*On fail goto*//*Label 4738*/ GIMT_Encode4(206958), // Rule ID 13384 //
73383 /* 206940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73384 /* 206943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73385 /* 206947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73386 /* 206951 */ // (ctlz:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPLZCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
73387 /* 206951 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rr),
73388 /* 206956 */ GIR_RootConstrainSelectedInstOperands,
73389 /* 206957 */ // GIR_Coverage, 13384,
73390 /* 206957 */ GIR_Done,
73391 /* 206958 */ // Label 4738: @206958
73392 /* 206958 */ GIM_Try, /*On fail goto*//*Label 4739*/ GIMT_Encode4(207065), // Rule ID 21836 //
73393 /* 206963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
73394 /* 206966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73395 /* 206970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73396 /* 206974 */ // (ctlz:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPLZCNTDZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
73397 /* 206974 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
73398 /* 206977 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73399 /* 206981 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73400 /* 206986 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73401 /* 206988 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
73402 /* 206991 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73403 /* 206995 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73404 /* 207000 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73405 /* 207003 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73406 /* 207007 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
73407 /* 207010 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73408 /* 207015 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73409 /* 207020 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73410 /* 207025 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73411 /* 207028 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
73412 /* 207032 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73413 /* 207037 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73414 /* 207040 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73415 /* 207042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73416 /* 207045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73417 /* 207047 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73418 /* 207054 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73419 /* 207059 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73420 /* 207064 */ // GIR_Coverage, 21836,
73421 /* 207064 */ GIR_EraseRootFromParent_Done,
73422 /* 207065 */ // Label 4739: @207065
73423 /* 207065 */ GIM_Reject,
73424 /* 207066 */ // Label 4736: @207066
73425 /* 207066 */ GIM_Reject,
73426 /* 207067 */ // Label 4718: @207067
73427 /* 207067 */ GIM_Try, /*On fail goto*//*Label 4740*/ GIMT_Encode4(207254),
73428 /* 207072 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
73429 /* 207075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73430 /* 207079 */ GIM_Try, /*On fail goto*//*Label 4741*/ GIMT_Encode4(207131), // Rule ID 13351 //
73431 /* 207084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73432 /* 207087 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73433 /* 207091 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73434 /* 207095 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73435 /* 207098 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73436 /* 207102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73437 /* 207106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73438 /* 207108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73439 /* 207115 */ // (ctlz:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
73440 /* 207115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rm),
73441 /* 207118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73442 /* 207120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73443 /* 207124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73444 /* 207129 */ GIR_RootConstrainSelectedInstOperands,
73445 /* 207130 */ // GIR_Coverage, 13351,
73446 /* 207130 */ GIR_EraseRootFromParent_Done,
73447 /* 207131 */ // Label 4741: @207131
73448 /* 207131 */ GIM_Try, /*On fail goto*//*Label 4742*/ GIMT_Encode4(207150), // Rule ID 13348 //
73449 /* 207136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73450 /* 207139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73451 /* 207143 */ // (ctlz:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPLZCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
73452 /* 207143 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rr),
73453 /* 207148 */ GIR_RootConstrainSelectedInstOperands,
73454 /* 207149 */ // GIR_Coverage, 13348,
73455 /* 207149 */ GIR_Done,
73456 /* 207150 */ // Label 4742: @207150
73457 /* 207150 */ GIM_Try, /*On fail goto*//*Label 4743*/ GIMT_Encode4(207253), // Rule ID 21833 //
73458 /* 207155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
73459 /* 207158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73460 /* 207162 */ // (ctlz:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPLZCNTQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
73461 /* 207162 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
73462 /* 207165 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73463 /* 207169 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73464 /* 207174 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73465 /* 207176 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
73466 /* 207179 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73467 /* 207183 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73468 /* 207188 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73469 /* 207191 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73470 /* 207195 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
73471 /* 207198 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73472 /* 207203 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73473 /* 207208 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73474 /* 207213 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73475 /* 207216 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
73476 /* 207220 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73477 /* 207225 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73478 /* 207228 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73479 /* 207230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73480 /* 207233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73481 /* 207235 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73482 /* 207242 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73483 /* 207247 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73484 /* 207252 */ // GIR_Coverage, 21833,
73485 /* 207252 */ GIR_EraseRootFromParent_Done,
73486 /* 207253 */ // Label 4743: @207253
73487 /* 207253 */ GIM_Reject,
73488 /* 207254 */ // Label 4740: @207254
73489 /* 207254 */ GIM_Reject,
73490 /* 207255 */ // Label 4719: @207255
73491 /* 207255 */ GIM_Try, /*On fail goto*//*Label 4744*/ GIMT_Encode4(207442),
73492 /* 207260 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
73493 /* 207263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73494 /* 207267 */ GIM_Try, /*On fail goto*//*Label 4745*/ GIMT_Encode4(207319), // Rule ID 13378 //
73495 /* 207272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73496 /* 207275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73497 /* 207279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73498 /* 207283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73499 /* 207286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73500 /* 207290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73501 /* 207294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73502 /* 207296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73503 /* 207303 */ // (ctlz:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
73504 /* 207303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rm),
73505 /* 207306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73506 /* 207308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73507 /* 207312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73508 /* 207317 */ GIR_RootConstrainSelectedInstOperands,
73509 /* 207318 */ // GIR_Coverage, 13378,
73510 /* 207318 */ GIR_EraseRootFromParent_Done,
73511 /* 207319 */ // Label 4745: @207319
73512 /* 207319 */ GIM_Try, /*On fail goto*//*Label 4746*/ GIMT_Encode4(207338), // Rule ID 13375 //
73513 /* 207324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
73514 /* 207327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73515 /* 207331 */ // (ctlz:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPLZCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
73516 /* 207331 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rr),
73517 /* 207336 */ GIR_RootConstrainSelectedInstOperands,
73518 /* 207337 */ // GIR_Coverage, 13375,
73519 /* 207337 */ GIR_Done,
73520 /* 207338 */ // Label 4746: @207338
73521 /* 207338 */ GIM_Try, /*On fail goto*//*Label 4747*/ GIMT_Encode4(207441), // Rule ID 21835 //
73522 /* 207343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
73523 /* 207346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73524 /* 207350 */ // (ctlz:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (EXTRACT_SUBREG:{ *:[v8i32] } (VPLZCNTDZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
73525 /* 207350 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
73526 /* 207353 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73527 /* 207357 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73528 /* 207362 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73529 /* 207364 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
73530 /* 207367 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73531 /* 207371 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73532 /* 207376 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73533 /* 207379 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73534 /* 207383 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
73535 /* 207386 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73536 /* 207391 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73537 /* 207396 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73538 /* 207401 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73539 /* 207404 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
73540 /* 207408 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73541 /* 207413 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73542 /* 207416 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73543 /* 207418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73544 /* 207421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73545 /* 207423 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73546 /* 207430 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73547 /* 207435 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73548 /* 207440 */ // GIR_Coverage, 21835,
73549 /* 207440 */ GIR_EraseRootFromParent_Done,
73550 /* 207441 */ // Label 4747: @207441
73551 /* 207441 */ GIM_Reject,
73552 /* 207442 */ // Label 4744: @207442
73553 /* 207442 */ GIM_Reject,
73554 /* 207443 */ // Label 4720: @207443
73555 /* 207443 */ GIM_Try, /*On fail goto*//*Label 4748*/ GIMT_Encode4(207527),
73556 /* 207448 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
73557 /* 207451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73558 /* 207455 */ GIM_Try, /*On fail goto*//*Label 4749*/ GIMT_Encode4(207507), // Rule ID 13342 //
73559 /* 207460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
73560 /* 207463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73561 /* 207467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73562 /* 207471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73563 /* 207474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73564 /* 207478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73565 /* 207482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73566 /* 207484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73567 /* 207491 */ // (ctlz:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
73568 /* 207491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrm),
73569 /* 207494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73570 /* 207496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73571 /* 207500 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73572 /* 207505 */ GIR_RootConstrainSelectedInstOperands,
73573 /* 207506 */ // GIR_Coverage, 13342,
73574 /* 207506 */ GIR_EraseRootFromParent_Done,
73575 /* 207507 */ // Label 4749: @207507
73576 /* 207507 */ GIM_Try, /*On fail goto*//*Label 4750*/ GIMT_Encode4(207526), // Rule ID 13339 //
73577 /* 207512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
73578 /* 207515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73579 /* 207519 */ // (ctlz:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPLZCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
73580 /* 207519 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
73581 /* 207524 */ GIR_RootConstrainSelectedInstOperands,
73582 /* 207525 */ // GIR_Coverage, 13339,
73583 /* 207525 */ GIR_Done,
73584 /* 207526 */ // Label 4750: @207526
73585 /* 207526 */ GIM_Reject,
73586 /* 207527 */ // Label 4748: @207527
73587 /* 207527 */ GIM_Reject,
73588 /* 207528 */ // Label 4721: @207528
73589 /* 207528 */ GIM_Try, /*On fail goto*//*Label 4751*/ GIMT_Encode4(207612),
73590 /* 207533 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
73591 /* 207536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73592 /* 207540 */ GIM_Try, /*On fail goto*//*Label 4752*/ GIMT_Encode4(207592), // Rule ID 13369 //
73593 /* 207545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
73594 /* 207548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73595 /* 207552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73596 /* 207556 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73597 /* 207559 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73598 /* 207563 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73599 /* 207567 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73600 /* 207569 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73601 /* 207576 */ // (ctlz:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
73602 /* 207576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrm),
73603 /* 207579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73604 /* 207581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73605 /* 207585 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73606 /* 207590 */ GIR_RootConstrainSelectedInstOperands,
73607 /* 207591 */ // GIR_Coverage, 13369,
73608 /* 207591 */ GIR_EraseRootFromParent_Done,
73609 /* 207592 */ // Label 4752: @207592
73610 /* 207592 */ GIM_Try, /*On fail goto*//*Label 4753*/ GIMT_Encode4(207611), // Rule ID 13366 //
73611 /* 207597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
73612 /* 207600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73613 /* 207604 */ // (ctlz:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPLZCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
73614 /* 207604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
73615 /* 207609 */ GIR_RootConstrainSelectedInstOperands,
73616 /* 207610 */ // GIR_Coverage, 13366,
73617 /* 207610 */ GIR_Done,
73618 /* 207611 */ // Label 4753: @207611
73619 /* 207611 */ GIM_Reject,
73620 /* 207612 */ // Label 4751: @207612
73621 /* 207612 */ GIM_Reject,
73622 /* 207613 */ // Label 4722: @207613
73623 /* 207613 */ GIM_Reject,
73624 /* 207614 */ // Label 66: @207614
73625 /* 207614 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4769*/ GIMT_Encode4(209875),
73626 /* 207625 */ /*GILLT_s16*//*Label 4754*/ GIMT_Encode4(207717),
73627 /* 207629 */ /*GILLT_s32*//*Label 4755*/ GIMT_Encode4(207811),
73628 /* 207633 */ /*GILLT_s64*//*Label 4756*/ GIMT_Encode4(207905), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
73629 /* 207649 */ /*GILLT_v2s64*//*Label 4757*/ GIMT_Encode4(207999), GIMT_Encode4(0),
73630 /* 207657 */ /*GILLT_v4s32*//*Label 4758*/ GIMT_Encode4(208195),
73631 /* 207661 */ /*GILLT_v4s64*//*Label 4759*/ GIMT_Encode4(208391), GIMT_Encode4(0),
73632 /* 207669 */ /*GILLT_v8s16*//*Label 4760*/ GIMT_Encode4(208579),
73633 /* 207673 */ /*GILLT_v8s32*//*Label 4761*/ GIMT_Encode4(208775),
73634 /* 207677 */ /*GILLT_v8s64*//*Label 4762*/ GIMT_Encode4(208963), GIMT_Encode4(0),
73635 /* 207685 */ /*GILLT_v16s8*//*Label 4763*/ GIMT_Encode4(209048),
73636 /* 207689 */ /*GILLT_v16s16*//*Label 4764*/ GIMT_Encode4(209244),
73637 /* 207693 */ /*GILLT_v16s32*//*Label 4765*/ GIMT_Encode4(209432), GIMT_Encode4(0),
73638 /* 207701 */ /*GILLT_v32s8*//*Label 4766*/ GIMT_Encode4(209517),
73639 /* 207705 */ /*GILLT_v32s16*//*Label 4767*/ GIMT_Encode4(209705), GIMT_Encode4(0),
73640 /* 207713 */ /*GILLT_v64s8*//*Label 4768*/ GIMT_Encode4(209790),
73641 /* 207717 */ // Label 4754: @207717
73642 /* 207717 */ GIM_Try, /*On fail goto*//*Label 4770*/ GIMT_Encode4(207810),
73643 /* 207722 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73644 /* 207725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73645 /* 207729 */ GIM_Try, /*On fail goto*//*Label 4771*/ GIMT_Encode4(207784), // Rule ID 3175 //
73646 /* 207734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
73647 /* 207737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73648 /* 207741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73649 /* 207745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73650 /* 207748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73651 /* 207752 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73652 /* 207756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73653 /* 207758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73654 /* 207765 */ // (ctpop:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (POPCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73655 /* 207765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT16rm),
73656 /* 207768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73657 /* 207770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73658 /* 207774 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73659 /* 207777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73660 /* 207782 */ GIR_RootConstrainSelectedInstOperands,
73661 /* 207783 */ // GIR_Coverage, 3175,
73662 /* 207783 */ GIR_EraseRootFromParent_Done,
73663 /* 207784 */ // Label 4771: @207784
73664 /* 207784 */ GIM_Try, /*On fail goto*//*Label 4772*/ GIMT_Encode4(207809), // Rule ID 3174 //
73665 /* 207789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
73666 /* 207792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73667 /* 207796 */ // (ctpop:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (POPCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
73668 /* 207796 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT16rr),
73669 /* 207801 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73670 /* 207807 */ GIR_RootConstrainSelectedInstOperands,
73671 /* 207808 */ // GIR_Coverage, 3174,
73672 /* 207808 */ GIR_Done,
73673 /* 207809 */ // Label 4772: @207809
73674 /* 207809 */ GIM_Reject,
73675 /* 207810 */ // Label 4770: @207810
73676 /* 207810 */ GIM_Reject,
73677 /* 207811 */ // Label 4755: @207811
73678 /* 207811 */ GIM_Try, /*On fail goto*//*Label 4773*/ GIMT_Encode4(207904),
73679 /* 207816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73680 /* 207819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73681 /* 207823 */ GIM_Try, /*On fail goto*//*Label 4774*/ GIMT_Encode4(207878), // Rule ID 3177 //
73682 /* 207828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
73683 /* 207831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73684 /* 207835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73685 /* 207839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73686 /* 207842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73687 /* 207846 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73688 /* 207850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73689 /* 207852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73690 /* 207859 */ // (ctpop:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (POPCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73691 /* 207859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT32rm),
73692 /* 207862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73693 /* 207864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73694 /* 207868 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73695 /* 207871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73696 /* 207876 */ GIR_RootConstrainSelectedInstOperands,
73697 /* 207877 */ // GIR_Coverage, 3177,
73698 /* 207877 */ GIR_EraseRootFromParent_Done,
73699 /* 207878 */ // Label 4774: @207878
73700 /* 207878 */ GIM_Try, /*On fail goto*//*Label 4775*/ GIMT_Encode4(207903), // Rule ID 3176 //
73701 /* 207883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
73702 /* 207886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73703 /* 207890 */ // (ctpop:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (POPCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
73704 /* 207890 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT32rr),
73705 /* 207895 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73706 /* 207901 */ GIR_RootConstrainSelectedInstOperands,
73707 /* 207902 */ // GIR_Coverage, 3176,
73708 /* 207902 */ GIR_Done,
73709 /* 207903 */ // Label 4775: @207903
73710 /* 207903 */ GIM_Reject,
73711 /* 207904 */ // Label 4773: @207904
73712 /* 207904 */ GIM_Reject,
73713 /* 207905 */ // Label 4756: @207905
73714 /* 207905 */ GIM_Try, /*On fail goto*//*Label 4776*/ GIMT_Encode4(207998),
73715 /* 207910 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73716 /* 207913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73717 /* 207917 */ GIM_Try, /*On fail goto*//*Label 4777*/ GIMT_Encode4(207972), // Rule ID 3179 //
73718 /* 207922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
73719 /* 207925 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73720 /* 207929 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73721 /* 207933 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73722 /* 207936 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73723 /* 207940 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73724 /* 207944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73725 /* 207946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73726 /* 207953 */ // (ctpop:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (POPCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73727 /* 207953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT64rm),
73728 /* 207956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73729 /* 207958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73730 /* 207962 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73731 /* 207965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73732 /* 207970 */ GIR_RootConstrainSelectedInstOperands,
73733 /* 207971 */ // GIR_Coverage, 3179,
73734 /* 207971 */ GIR_EraseRootFromParent_Done,
73735 /* 207972 */ // Label 4777: @207972
73736 /* 207972 */ GIM_Try, /*On fail goto*//*Label 4778*/ GIMT_Encode4(207997), // Rule ID 3178 //
73737 /* 207977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
73738 /* 207980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73739 /* 207984 */ // (ctpop:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (POPCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
73740 /* 207984 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT64rr),
73741 /* 207989 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73742 /* 207995 */ GIR_RootConstrainSelectedInstOperands,
73743 /* 207996 */ // GIR_Coverage, 3178,
73744 /* 207996 */ GIR_Done,
73745 /* 207997 */ // Label 4778: @207997
73746 /* 207997 */ GIM_Reject,
73747 /* 207998 */ // Label 4776: @207998
73748 /* 207998 */ GIM_Reject,
73749 /* 207999 */ // Label 4757: @207999
73750 /* 207999 */ GIM_Try, /*On fail goto*//*Label 4779*/ GIMT_Encode4(208194),
73751 /* 208004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
73752 /* 208007 */ GIM_Try, /*On fail goto*//*Label 4780*/ GIMT_Encode4(208063), // Rule ID 13468 //
73753 /* 208012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73754 /* 208015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73755 /* 208019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73756 /* 208023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73757 /* 208027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73758 /* 208030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73759 /* 208034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73760 /* 208038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73761 /* 208040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73762 /* 208047 */ // (ctpop:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
73763 /* 208047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rm),
73764 /* 208050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73765 /* 208052 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73766 /* 208056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73767 /* 208061 */ GIR_RootConstrainSelectedInstOperands,
73768 /* 208062 */ // GIR_Coverage, 13468,
73769 /* 208062 */ GIR_EraseRootFromParent_Done,
73770 /* 208063 */ // Label 4780: @208063
73771 /* 208063 */ GIM_Try, /*On fail goto*//*Label 4781*/ GIMT_Encode4(208086), // Rule ID 13465 //
73772 /* 208068 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73773 /* 208071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73774 /* 208075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73775 /* 208079 */ // (ctpop:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPOPCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
73776 /* 208079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rr),
73777 /* 208084 */ GIR_RootConstrainSelectedInstOperands,
73778 /* 208085 */ // GIR_Coverage, 13465,
73779 /* 208085 */ GIR_Done,
73780 /* 208086 */ // Label 4781: @208086
73781 /* 208086 */ GIM_Try, /*On fail goto*//*Label 4782*/ GIMT_Encode4(208193), // Rule ID 21838 //
73782 /* 208091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
73783 /* 208094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73784 /* 208098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73785 /* 208102 */ // (ctpop:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (EXTRACT_SUBREG:{ *:[v2i64] } (VPOPCNTQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR128X:{ *:[v2i64] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
73786 /* 208102 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
73787 /* 208105 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73788 /* 208109 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73789 /* 208114 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73790 /* 208116 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
73791 /* 208119 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73792 /* 208123 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73793 /* 208128 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73794 /* 208131 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73795 /* 208135 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
73796 /* 208138 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73797 /* 208143 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73798 /* 208148 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73799 /* 208153 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73800 /* 208156 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
73801 /* 208160 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73802 /* 208165 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73803 /* 208168 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73804 /* 208170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73805 /* 208173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73806 /* 208175 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73807 /* 208182 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73808 /* 208187 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73809 /* 208192 */ // GIR_Coverage, 21838,
73810 /* 208192 */ GIR_EraseRootFromParent_Done,
73811 /* 208193 */ // Label 4782: @208193
73812 /* 208193 */ GIM_Reject,
73813 /* 208194 */ // Label 4779: @208194
73814 /* 208194 */ GIM_Reject,
73815 /* 208195 */ // Label 4758: @208195
73816 /* 208195 */ GIM_Try, /*On fail goto*//*Label 4783*/ GIMT_Encode4(208390),
73817 /* 208200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
73818 /* 208203 */ GIM_Try, /*On fail goto*//*Label 4784*/ GIMT_Encode4(208259), // Rule ID 13495 //
73819 /* 208208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73820 /* 208211 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73821 /* 208215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73822 /* 208219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73823 /* 208223 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73824 /* 208226 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73825 /* 208230 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73826 /* 208234 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73827 /* 208236 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73828 /* 208243 */ // (ctpop:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
73829 /* 208243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rm),
73830 /* 208246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73831 /* 208248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73832 /* 208252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73833 /* 208257 */ GIR_RootConstrainSelectedInstOperands,
73834 /* 208258 */ // GIR_Coverage, 13495,
73835 /* 208258 */ GIR_EraseRootFromParent_Done,
73836 /* 208259 */ // Label 4784: @208259
73837 /* 208259 */ GIM_Try, /*On fail goto*//*Label 4785*/ GIMT_Encode4(208282), // Rule ID 13492 //
73838 /* 208264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73839 /* 208267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73840 /* 208271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73841 /* 208275 */ // (ctpop:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPOPCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
73842 /* 208275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rr),
73843 /* 208280 */ GIR_RootConstrainSelectedInstOperands,
73844 /* 208281 */ // GIR_Coverage, 13492,
73845 /* 208281 */ GIR_Done,
73846 /* 208282 */ // Label 4785: @208282
73847 /* 208282 */ GIM_Try, /*On fail goto*//*Label 4786*/ GIMT_Encode4(208389), // Rule ID 21840 //
73848 /* 208287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
73849 /* 208290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73850 /* 208294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73851 /* 208298 */ // (ctpop:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (EXTRACT_SUBREG:{ *:[v4i32] } (VPOPCNTDZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR128X:{ *:[v4i32] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
73852 /* 208298 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
73853 /* 208301 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73854 /* 208305 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73855 /* 208310 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73856 /* 208312 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
73857 /* 208315 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73858 /* 208319 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73859 /* 208324 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73860 /* 208327 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73861 /* 208331 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
73862 /* 208334 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73863 /* 208339 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73864 /* 208344 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73865 /* 208349 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73866 /* 208352 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
73867 /* 208356 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73868 /* 208361 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73869 /* 208364 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73870 /* 208366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73871 /* 208369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73872 /* 208371 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73873 /* 208378 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73874 /* 208383 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73875 /* 208388 */ // GIR_Coverage, 21840,
73876 /* 208388 */ GIR_EraseRootFromParent_Done,
73877 /* 208389 */ // Label 4786: @208389
73878 /* 208389 */ GIM_Reject,
73879 /* 208390 */ // Label 4783: @208390
73880 /* 208390 */ GIM_Reject,
73881 /* 208391 */ // Label 4759: @208391
73882 /* 208391 */ GIM_Try, /*On fail goto*//*Label 4787*/ GIMT_Encode4(208578),
73883 /* 208396 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
73884 /* 208399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73885 /* 208403 */ GIM_Try, /*On fail goto*//*Label 4788*/ GIMT_Encode4(208455), // Rule ID 13459 //
73886 /* 208408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73887 /* 208411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73888 /* 208415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73889 /* 208419 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73890 /* 208422 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73891 /* 208426 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73892 /* 208430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73893 /* 208432 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73894 /* 208439 */ // (ctpop:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
73895 /* 208439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rm),
73896 /* 208442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73897 /* 208444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73898 /* 208448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73899 /* 208453 */ GIR_RootConstrainSelectedInstOperands,
73900 /* 208454 */ // GIR_Coverage, 13459,
73901 /* 208454 */ GIR_EraseRootFromParent_Done,
73902 /* 208455 */ // Label 4788: @208455
73903 /* 208455 */ GIM_Try, /*On fail goto*//*Label 4789*/ GIMT_Encode4(208474), // Rule ID 13456 //
73904 /* 208460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73905 /* 208463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73906 /* 208467 */ // (ctpop:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPOPCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
73907 /* 208467 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rr),
73908 /* 208472 */ GIR_RootConstrainSelectedInstOperands,
73909 /* 208473 */ // GIR_Coverage, 13456,
73910 /* 208473 */ GIR_Done,
73911 /* 208474 */ // Label 4789: @208474
73912 /* 208474 */ GIM_Try, /*On fail goto*//*Label 4790*/ GIMT_Encode4(208577), // Rule ID 21837 //
73913 /* 208479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
73914 /* 208482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73915 /* 208486 */ // (ctpop:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (EXTRACT_SUBREG:{ *:[v4i64] } (VPOPCNTQZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v8i64] } (IMPLICIT_DEF:{ *:[v8i64] }), VR256X:{ *:[v4i64] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
73916 /* 208486 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
73917 /* 208489 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73918 /* 208493 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73919 /* 208498 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73920 /* 208500 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
73921 /* 208503 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73922 /* 208507 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73923 /* 208512 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73924 /* 208515 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73925 /* 208519 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
73926 /* 208522 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73927 /* 208527 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73928 /* 208532 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73929 /* 208537 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73930 /* 208540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
73931 /* 208544 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73932 /* 208549 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73933 /* 208552 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73934 /* 208554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73935 /* 208557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73936 /* 208559 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73937 /* 208566 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73938 /* 208571 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73939 /* 208576 */ // GIR_Coverage, 21837,
73940 /* 208576 */ GIR_EraseRootFromParent_Done,
73941 /* 208577 */ // Label 4790: @208577
73942 /* 208577 */ GIM_Reject,
73943 /* 208578 */ // Label 4787: @208578
73944 /* 208578 */ GIM_Reject,
73945 /* 208579 */ // Label 4760: @208579
73946 /* 208579 */ GIM_Try, /*On fail goto*//*Label 4791*/ GIMT_Encode4(208774),
73947 /* 208584 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
73948 /* 208587 */ GIM_Try, /*On fail goto*//*Label 4792*/ GIMT_Encode4(208643), // Rule ID 14522 //
73949 /* 208592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73950 /* 208595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73951 /* 208599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73952 /* 208603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73953 /* 208607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73954 /* 208610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73955 /* 208614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73956 /* 208618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73957 /* 208620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73958 /* 208627 */ // (ctpop:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
73959 /* 208627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rm),
73960 /* 208630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73961 /* 208632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73962 /* 208636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73963 /* 208641 */ GIR_RootConstrainSelectedInstOperands,
73964 /* 208642 */ // GIR_Coverage, 14522,
73965 /* 208642 */ GIR_EraseRootFromParent_Done,
73966 /* 208643 */ // Label 4792: @208643
73967 /* 208643 */ GIM_Try, /*On fail goto*//*Label 4793*/ GIMT_Encode4(208666), // Rule ID 14519 //
73968 /* 208648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
73969 /* 208651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73970 /* 208655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73971 /* 208659 */ // (ctpop:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPOPCNTWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
73972 /* 208659 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rr),
73973 /* 208664 */ GIR_RootConstrainSelectedInstOperands,
73974 /* 208665 */ // GIR_Coverage, 14519,
73975 /* 208665 */ GIR_Done,
73976 /* 208666 */ // Label 4793: @208666
73977 /* 208666 */ GIM_Try, /*On fail goto*//*Label 4794*/ GIMT_Encode4(208773), // Rule ID 22153 //
73978 /* 208671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
73979 /* 208674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73980 /* 208678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73981 /* 208682 */ // (ctpop:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (EXTRACT_SUBREG:{ *:[v8i16] } (VPOPCNTWZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR128X:{ *:[v8i16] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
73982 /* 208682 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
73983 /* 208685 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73984 /* 208689 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73985 /* 208694 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73986 /* 208696 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
73987 /* 208699 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73988 /* 208703 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73989 /* 208708 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73990 /* 208711 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73991 /* 208715 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
73992 /* 208718 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73993 /* 208723 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73994 /* 208728 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73995 /* 208733 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73996 /* 208736 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
73997 /* 208740 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73998 /* 208745 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73999 /* 208748 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74000 /* 208750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
74001 /* 208753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74002 /* 208755 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
74003 /* 208762 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
74004 /* 208767 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74005 /* 208772 */ // GIR_Coverage, 22153,
74006 /* 208772 */ GIR_EraseRootFromParent_Done,
74007 /* 208773 */ // Label 4794: @208773
74008 /* 208773 */ GIM_Reject,
74009 /* 208774 */ // Label 4791: @208774
74010 /* 208774 */ GIM_Reject,
74011 /* 208775 */ // Label 4761: @208775
74012 /* 208775 */ GIM_Try, /*On fail goto*//*Label 4795*/ GIMT_Encode4(208962),
74013 /* 208780 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
74014 /* 208783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74015 /* 208787 */ GIM_Try, /*On fail goto*//*Label 4796*/ GIMT_Encode4(208839), // Rule ID 13486 //
74016 /* 208792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
74017 /* 208795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74018 /* 208799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74019 /* 208803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74020 /* 208806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74021 /* 208810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74022 /* 208814 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74023 /* 208816 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74024 /* 208823 */ // (ctpop:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
74025 /* 208823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rm),
74026 /* 208826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74027 /* 208828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74028 /* 208832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74029 /* 208837 */ GIR_RootConstrainSelectedInstOperands,
74030 /* 208838 */ // GIR_Coverage, 13486,
74031 /* 208838 */ GIR_EraseRootFromParent_Done,
74032 /* 208839 */ // Label 4796: @208839
74033 /* 208839 */ GIM_Try, /*On fail goto*//*Label 4797*/ GIMT_Encode4(208858), // Rule ID 13483 //
74034 /* 208844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
74035 /* 208847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74036 /* 208851 */ // (ctpop:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPOPCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
74037 /* 208851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rr),
74038 /* 208856 */ GIR_RootConstrainSelectedInstOperands,
74039 /* 208857 */ // GIR_Coverage, 13483,
74040 /* 208857 */ GIR_Done,
74041 /* 208858 */ // Label 4797: @208858
74042 /* 208858 */ GIM_Try, /*On fail goto*//*Label 4798*/ GIMT_Encode4(208961), // Rule ID 21839 //
74043 /* 208863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
74044 /* 208866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74045 /* 208870 */ // (ctpop:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (EXTRACT_SUBREG:{ *:[v8i32] } (VPOPCNTDZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v16i32] } (IMPLICIT_DEF:{ *:[v16i32] }), VR256X:{ *:[v8i32] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
74046 /* 208870 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
74047 /* 208873 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74048 /* 208877 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74049 /* 208882 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
74050 /* 208884 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
74051 /* 208887 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
74052 /* 208891 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74053 /* 208896 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
74054 /* 208899 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
74055 /* 208903 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
74056 /* 208906 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
74057 /* 208911 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74058 /* 208916 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
74059 /* 208921 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
74060 /* 208924 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
74061 /* 208928 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74062 /* 208933 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
74063 /* 208936 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74064 /* 208938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
74065 /* 208941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74066 /* 208943 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
74067 /* 208950 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
74068 /* 208955 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74069 /* 208960 */ // GIR_Coverage, 21839,
74070 /* 208960 */ GIR_EraseRootFromParent_Done,
74071 /* 208961 */ // Label 4798: @208961
74072 /* 208961 */ GIM_Reject,
74073 /* 208962 */ // Label 4795: @208962
74074 /* 208962 */ GIM_Reject,
74075 /* 208963 */ // Label 4762: @208963
74076 /* 208963 */ GIM_Try, /*On fail goto*//*Label 4799*/ GIMT_Encode4(209047),
74077 /* 208968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
74078 /* 208971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74079 /* 208975 */ GIM_Try, /*On fail goto*//*Label 4800*/ GIMT_Encode4(209027), // Rule ID 13450 //
74080 /* 208980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
74081 /* 208983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74082 /* 208987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74083 /* 208991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74084 /* 208994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74085 /* 208998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74086 /* 209002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74087 /* 209004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74088 /* 209011 */ // (ctpop:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
74089 /* 209011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrm),
74090 /* 209014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74091 /* 209016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74092 /* 209020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74093 /* 209025 */ GIR_RootConstrainSelectedInstOperands,
74094 /* 209026 */ // GIR_Coverage, 13450,
74095 /* 209026 */ GIR_EraseRootFromParent_Done,
74096 /* 209027 */ // Label 4800: @209027
74097 /* 209027 */ GIM_Try, /*On fail goto*//*Label 4801*/ GIMT_Encode4(209046), // Rule ID 13447 //
74098 /* 209032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
74099 /* 209035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74100 /* 209039 */ // (ctpop:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPOPCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
74101 /* 209039 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
74102 /* 209044 */ GIR_RootConstrainSelectedInstOperands,
74103 /* 209045 */ // GIR_Coverage, 13447,
74104 /* 209045 */ GIR_Done,
74105 /* 209046 */ // Label 4801: @209046
74106 /* 209046 */ GIM_Reject,
74107 /* 209047 */ // Label 4799: @209047
74108 /* 209047 */ GIM_Reject,
74109 /* 209048 */ // Label 4763: @209048
74110 /* 209048 */ GIM_Try, /*On fail goto*//*Label 4802*/ GIMT_Encode4(209243),
74111 /* 209053 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
74112 /* 209056 */ GIM_Try, /*On fail goto*//*Label 4803*/ GIMT_Encode4(209112), // Rule ID 14504 //
74113 /* 209061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
74114 /* 209064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74115 /* 209068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74116 /* 209072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74117 /* 209076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74118 /* 209079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74119 /* 209083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74120 /* 209087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74121 /* 209089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74122 /* 209096 */ // (ctpop:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
74123 /* 209096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rm),
74124 /* 209099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74125 /* 209101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74126 /* 209105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74127 /* 209110 */ GIR_RootConstrainSelectedInstOperands,
74128 /* 209111 */ // GIR_Coverage, 14504,
74129 /* 209111 */ GIR_EraseRootFromParent_Done,
74130 /* 209112 */ // Label 4803: @209112
74131 /* 209112 */ GIM_Try, /*On fail goto*//*Label 4804*/ GIMT_Encode4(209135), // Rule ID 14501 //
74132 /* 209117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
74133 /* 209120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74134 /* 209124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74135 /* 209128 */ // (ctpop:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPOPCNTBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
74136 /* 209128 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rr),
74137 /* 209133 */ GIR_RootConstrainSelectedInstOperands,
74138 /* 209134 */ // GIR_Coverage, 14501,
74139 /* 209134 */ GIR_Done,
74140 /* 209135 */ // Label 4804: @209135
74141 /* 209135 */ GIM_Try, /*On fail goto*//*Label 4805*/ GIMT_Encode4(209242), // Rule ID 22151 //
74142 /* 209140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
74143 /* 209143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74144 /* 209147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74145 /* 209151 */ // (ctpop:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (EXTRACT_SUBREG:{ *:[v16i8] } (VPOPCNTBZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR128X:{ *:[v16i8] }:$src1, sub_xmm:{ *:[i32] })), sub_xmm:{ *:[i32] })
74146 /* 209151 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
74147 /* 209154 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74148 /* 209158 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74149 /* 209163 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
74150 /* 209165 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
74151 /* 209168 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
74152 /* 209172 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74153 /* 209177 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
74154 /* 209180 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
74155 /* 209184 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
74156 /* 209187 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
74157 /* 209192 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74158 /* 209197 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
74159 /* 209202 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
74160 /* 209205 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
74161 /* 209209 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74162 /* 209214 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
74163 /* 209217 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74164 /* 209219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
74165 /* 209222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74166 /* 209224 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
74167 /* 209231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
74168 /* 209236 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74169 /* 209241 */ // GIR_Coverage, 22151,
74170 /* 209241 */ GIR_EraseRootFromParent_Done,
74171 /* 209242 */ // Label 4805: @209242
74172 /* 209242 */ GIM_Reject,
74173 /* 209243 */ // Label 4802: @209243
74174 /* 209243 */ GIM_Reject,
74175 /* 209244 */ // Label 4764: @209244
74176 /* 209244 */ GIM_Try, /*On fail goto*//*Label 4806*/ GIMT_Encode4(209431),
74177 /* 209249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
74178 /* 209252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74179 /* 209256 */ GIM_Try, /*On fail goto*//*Label 4807*/ GIMT_Encode4(209308), // Rule ID 14516 //
74180 /* 209261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
74181 /* 209264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74182 /* 209268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74183 /* 209272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74184 /* 209275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74185 /* 209279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74186 /* 209283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74187 /* 209285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74188 /* 209292 */ // (ctpop:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
74189 /* 209292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rm),
74190 /* 209295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74191 /* 209297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74192 /* 209301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74193 /* 209306 */ GIR_RootConstrainSelectedInstOperands,
74194 /* 209307 */ // GIR_Coverage, 14516,
74195 /* 209307 */ GIR_EraseRootFromParent_Done,
74196 /* 209308 */ // Label 4807: @209308
74197 /* 209308 */ GIM_Try, /*On fail goto*//*Label 4808*/ GIMT_Encode4(209327), // Rule ID 14513 //
74198 /* 209313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
74199 /* 209316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74200 /* 209320 */ // (ctpop:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPOPCNTWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
74201 /* 209320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rr),
74202 /* 209325 */ GIR_RootConstrainSelectedInstOperands,
74203 /* 209326 */ // GIR_Coverage, 14513,
74204 /* 209326 */ GIR_Done,
74205 /* 209327 */ // Label 4808: @209327
74206 /* 209327 */ GIM_Try, /*On fail goto*//*Label 4809*/ GIMT_Encode4(209430), // Rule ID 22152 //
74207 /* 209332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
74208 /* 209335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74209 /* 209339 */ // (ctpop:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (EXTRACT_SUBREG:{ *:[v16i16] } (VPOPCNTWZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v32i16] } (IMPLICIT_DEF:{ *:[v32i16] }), VR256X:{ *:[v16i16] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
74210 /* 209339 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
74211 /* 209342 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74212 /* 209346 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74213 /* 209351 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
74214 /* 209353 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
74215 /* 209356 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
74216 /* 209360 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74217 /* 209365 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
74218 /* 209368 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
74219 /* 209372 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
74220 /* 209375 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
74221 /* 209380 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74222 /* 209385 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
74223 /* 209390 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
74224 /* 209393 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
74225 /* 209397 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74226 /* 209402 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
74227 /* 209405 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74228 /* 209407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
74229 /* 209410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74230 /* 209412 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
74231 /* 209419 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
74232 /* 209424 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74233 /* 209429 */ // GIR_Coverage, 22152,
74234 /* 209429 */ GIR_EraseRootFromParent_Done,
74235 /* 209430 */ // Label 4809: @209430
74236 /* 209430 */ GIM_Reject,
74237 /* 209431 */ // Label 4806: @209431
74238 /* 209431 */ GIM_Reject,
74239 /* 209432 */ // Label 4765: @209432
74240 /* 209432 */ GIM_Try, /*On fail goto*//*Label 4810*/ GIMT_Encode4(209516),
74241 /* 209437 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
74242 /* 209440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74243 /* 209444 */ GIM_Try, /*On fail goto*//*Label 4811*/ GIMT_Encode4(209496), // Rule ID 13477 //
74244 /* 209449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
74245 /* 209452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74246 /* 209456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74247 /* 209460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74248 /* 209463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74249 /* 209467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74250 /* 209471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74251 /* 209473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74252 /* 209480 */ // (ctpop:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
74253 /* 209480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrm),
74254 /* 209483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74255 /* 209485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74256 /* 209489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74257 /* 209494 */ GIR_RootConstrainSelectedInstOperands,
74258 /* 209495 */ // GIR_Coverage, 13477,
74259 /* 209495 */ GIR_EraseRootFromParent_Done,
74260 /* 209496 */ // Label 4811: @209496
74261 /* 209496 */ GIM_Try, /*On fail goto*//*Label 4812*/ GIMT_Encode4(209515), // Rule ID 13474 //
74262 /* 209501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
74263 /* 209504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74264 /* 209508 */ // (ctpop:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPOPCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
74265 /* 209508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
74266 /* 209513 */ GIR_RootConstrainSelectedInstOperands,
74267 /* 209514 */ // GIR_Coverage, 13474,
74268 /* 209514 */ GIR_Done,
74269 /* 209515 */ // Label 4812: @209515
74270 /* 209515 */ GIM_Reject,
74271 /* 209516 */ // Label 4810: @209516
74272 /* 209516 */ GIM_Reject,
74273 /* 209517 */ // Label 4766: @209517
74274 /* 209517 */ GIM_Try, /*On fail goto*//*Label 4813*/ GIMT_Encode4(209704),
74275 /* 209522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
74276 /* 209525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74277 /* 209529 */ GIM_Try, /*On fail goto*//*Label 4814*/ GIMT_Encode4(209581), // Rule ID 14498 //
74278 /* 209534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
74279 /* 209537 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74280 /* 209541 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74281 /* 209545 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74282 /* 209548 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74283 /* 209552 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74284 /* 209556 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74285 /* 209558 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74286 /* 209565 */ // (ctpop:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
74287 /* 209565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rm),
74288 /* 209568 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74289 /* 209570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74290 /* 209574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74291 /* 209579 */ GIR_RootConstrainSelectedInstOperands,
74292 /* 209580 */ // GIR_Coverage, 14498,
74293 /* 209580 */ GIR_EraseRootFromParent_Done,
74294 /* 209581 */ // Label 4814: @209581
74295 /* 209581 */ GIM_Try, /*On fail goto*//*Label 4815*/ GIMT_Encode4(209600), // Rule ID 14495 //
74296 /* 209586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
74297 /* 209589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74298 /* 209593 */ // (ctpop:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPOPCNTBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
74299 /* 209593 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rr),
74300 /* 209598 */ GIR_RootConstrainSelectedInstOperands,
74301 /* 209599 */ // GIR_Coverage, 14495,
74302 /* 209599 */ GIR_Done,
74303 /* 209600 */ // Label 4815: @209600
74304 /* 209600 */ GIM_Try, /*On fail goto*//*Label 4816*/ GIMT_Encode4(209703), // Rule ID 22150 //
74305 /* 209605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
74306 /* 209608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74307 /* 209612 */ // (ctpop:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (EXTRACT_SUBREG:{ *:[v32i8] } (VPOPCNTBZrr:{ *:[v64i8] } (INSERT_SUBREG:{ *:[v64i8] } (IMPLICIT_DEF:{ *:[v64i8] }), VR256X:{ *:[v32i8] }:$src1, sub_ymm:{ *:[i32] })), sub_ymm:{ *:[i32] })
74308 /* 209612 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
74309 /* 209615 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74310 /* 209619 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74311 /* 209624 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
74312 /* 209626 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
74313 /* 209629 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
74314 /* 209633 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74315 /* 209638 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
74316 /* 209641 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
74317 /* 209645 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
74318 /* 209648 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
74319 /* 209653 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74320 /* 209658 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
74321 /* 209663 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
74322 /* 209666 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
74323 /* 209670 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74324 /* 209675 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
74325 /* 209678 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74326 /* 209680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
74327 /* 209683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74328 /* 209685 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
74329 /* 209692 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
74330 /* 209697 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
74331 /* 209702 */ // GIR_Coverage, 22150,
74332 /* 209702 */ GIR_EraseRootFromParent_Done,
74333 /* 209703 */ // Label 4816: @209703
74334 /* 209703 */ GIM_Reject,
74335 /* 209704 */ // Label 4813: @209704
74336 /* 209704 */ GIM_Reject,
74337 /* 209705 */ // Label 4767: @209705
74338 /* 209705 */ GIM_Try, /*On fail goto*//*Label 4817*/ GIMT_Encode4(209789),
74339 /* 209710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
74340 /* 209713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74341 /* 209717 */ GIM_Try, /*On fail goto*//*Label 4818*/ GIMT_Encode4(209769), // Rule ID 14510 //
74342 /* 209722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
74343 /* 209725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74344 /* 209729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74345 /* 209733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74346 /* 209736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74347 /* 209740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74348 /* 209744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74349 /* 209746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74350 /* 209753 */ // (ctpop:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
74351 /* 209753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrm),
74352 /* 209756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74353 /* 209758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74354 /* 209762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74355 /* 209767 */ GIR_RootConstrainSelectedInstOperands,
74356 /* 209768 */ // GIR_Coverage, 14510,
74357 /* 209768 */ GIR_EraseRootFromParent_Done,
74358 /* 209769 */ // Label 4818: @209769
74359 /* 209769 */ GIM_Try, /*On fail goto*//*Label 4819*/ GIMT_Encode4(209788), // Rule ID 14507 //
74360 /* 209774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
74361 /* 209777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74362 /* 209781 */ // (ctpop:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPOPCNTWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
74363 /* 209781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
74364 /* 209786 */ GIR_RootConstrainSelectedInstOperands,
74365 /* 209787 */ // GIR_Coverage, 14507,
74366 /* 209787 */ GIR_Done,
74367 /* 209788 */ // Label 4819: @209788
74368 /* 209788 */ GIM_Reject,
74369 /* 209789 */ // Label 4817: @209789
74370 /* 209789 */ GIM_Reject,
74371 /* 209790 */ // Label 4768: @209790
74372 /* 209790 */ GIM_Try, /*On fail goto*//*Label 4820*/ GIMT_Encode4(209874),
74373 /* 209795 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
74374 /* 209798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74375 /* 209802 */ GIM_Try, /*On fail goto*//*Label 4821*/ GIMT_Encode4(209854), // Rule ID 14492 //
74376 /* 209807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
74377 /* 209810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74378 /* 209814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74379 /* 209818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74380 /* 209821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74381 /* 209825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74382 /* 209829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74383 /* 209831 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74384 /* 209838 */ // (ctpop:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
74385 /* 209838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrm),
74386 /* 209841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74387 /* 209843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74388 /* 209847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74389 /* 209852 */ GIR_RootConstrainSelectedInstOperands,
74390 /* 209853 */ // GIR_Coverage, 14492,
74391 /* 209853 */ GIR_EraseRootFromParent_Done,
74392 /* 209854 */ // Label 4821: @209854
74393 /* 209854 */ GIM_Try, /*On fail goto*//*Label 4822*/ GIMT_Encode4(209873), // Rule ID 14489 //
74394 /* 209859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
74395 /* 209862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74396 /* 209866 */ // (ctpop:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPOPCNTBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
74397 /* 209866 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
74398 /* 209871 */ GIR_RootConstrainSelectedInstOperands,
74399 /* 209872 */ // GIR_Coverage, 14489,
74400 /* 209872 */ GIR_Done,
74401 /* 209873 */ // Label 4822: @209873
74402 /* 209873 */ GIM_Reject,
74403 /* 209874 */ // Label 4820: @209874
74404 /* 209874 */ GIM_Reject,
74405 /* 209875 */ // Label 4769: @209875
74406 /* 209875 */ GIM_Reject,
74407 /* 209876 */ // Label 67: @209876
74408 /* 209876 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4826*/ GIMT_Encode4(210375),
74409 /* 209887 */ /*GILLT_s16*//*Label 4823*/ GIMT_Encode4(209899),
74410 /* 209891 */ /*GILLT_s32*//*Label 4824*/ GIMT_Encode4(210063),
74411 /* 209895 */ /*GILLT_s64*//*Label 4825*/ GIMT_Encode4(210219),
74412 /* 209899 */ // Label 4823: @209899
74413 /* 209899 */ GIM_Try, /*On fail goto*//*Label 4827*/ GIMT_Encode4(210062),
74414 /* 209904 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
74415 /* 209907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
74416 /* 209911 */ GIM_Try, /*On fail goto*//*Label 4828*/ GIMT_Encode4(209963), // Rule ID 49 //
74417 /* 209916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
74418 /* 209919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74419 /* 209923 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74420 /* 209927 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74421 /* 209930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74422 /* 209934 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
74423 /* 209938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74424 /* 209940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74425 /* 209947 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
74426 /* 209947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm),
74427 /* 209950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74428 /* 209952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74429 /* 209956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74430 /* 209961 */ GIR_RootConstrainSelectedInstOperands,
74431 /* 209962 */ // GIR_Coverage, 49,
74432 /* 209962 */ GIR_EraseRootFromParent_Done,
74433 /* 209963 */ // Label 4828: @209963
74434 /* 209963 */ GIM_Try, /*On fail goto*//*Label 4829*/ GIMT_Encode4(210015), // Rule ID 55 //
74435 /* 209968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
74436 /* 209971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74437 /* 209975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74438 /* 209979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74439 /* 209982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74440 /* 209986 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
74441 /* 209990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74442 /* 209992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74443 /* 209999 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
74444 /* 209999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm_EVEX),
74445 /* 210002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74446 /* 210004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74447 /* 210008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74448 /* 210013 */ GIR_RootConstrainSelectedInstOperands,
74449 /* 210014 */ // GIR_Coverage, 55,
74450 /* 210014 */ GIR_EraseRootFromParent_Done,
74451 /* 210015 */ // Label 4829: @210015
74452 /* 210015 */ GIM_Try, /*On fail goto*//*Label 4830*/ GIMT_Encode4(210034), // Rule ID 61 //
74453 /* 210020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
74454 /* 210023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
74455 /* 210027 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (MOVBE16rr:{ *:[i16] } GR16:{ *:[i16] }:$src1)
74456 /* 210027 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE16rr),
74457 /* 210032 */ GIR_RootConstrainSelectedInstOperands,
74458 /* 210033 */ // GIR_Coverage, 61,
74459 /* 210033 */ GIR_Done,
74460 /* 210034 */ // Label 4830: @210034
74461 /* 210034 */ GIM_Try, /*On fail goto*//*Label 4831*/ GIMT_Encode4(210061), // Rule ID 23021 //
74462 /* 210039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE),
74463 /* 210042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
74464 /* 210046 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src, 8:{ *:[i8] })
74465 /* 210046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
74466 /* 210049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74467 /* 210051 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74468 /* 210053 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/8,
74469 /* 210056 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
74470 /* 210059 */ GIR_RootConstrainSelectedInstOperands,
74471 /* 210060 */ // GIR_Coverage, 23021,
74472 /* 210060 */ GIR_EraseRootFromParent_Done,
74473 /* 210061 */ // Label 4831: @210061
74474 /* 210061 */ GIM_Reject,
74475 /* 210062 */ // Label 4827: @210062
74476 /* 210062 */ GIM_Reject,
74477 /* 210063 */ // Label 4824: @210063
74478 /* 210063 */ GIM_Try, /*On fail goto*//*Label 4832*/ GIMT_Encode4(210218),
74479 /* 210068 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
74480 /* 210071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
74481 /* 210075 */ GIM_Try, /*On fail goto*//*Label 4833*/ GIMT_Encode4(210127), // Rule ID 51 //
74482 /* 210080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
74483 /* 210083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74484 /* 210087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74485 /* 210091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74486 /* 210094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74487 /* 210098 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
74488 /* 210102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74489 /* 210104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74490 /* 210111 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
74491 /* 210111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm),
74492 /* 210114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74493 /* 210116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74494 /* 210120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74495 /* 210125 */ GIR_RootConstrainSelectedInstOperands,
74496 /* 210126 */ // GIR_Coverage, 51,
74497 /* 210126 */ GIR_EraseRootFromParent_Done,
74498 /* 210127 */ // Label 4833: @210127
74499 /* 210127 */ GIM_Try, /*On fail goto*//*Label 4834*/ GIMT_Encode4(210179), // Rule ID 57 //
74500 /* 210132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
74501 /* 210135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74502 /* 210139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74503 /* 210143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74504 /* 210146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74505 /* 210150 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
74506 /* 210154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74507 /* 210156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74508 /* 210163 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
74509 /* 210163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm_EVEX),
74510 /* 210166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74511 /* 210168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74512 /* 210172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74513 /* 210177 */ GIR_RootConstrainSelectedInstOperands,
74514 /* 210178 */ // GIR_Coverage, 57,
74515 /* 210178 */ GIR_EraseRootFromParent_Done,
74516 /* 210179 */ // Label 4834: @210179
74517 /* 210179 */ GIM_Try, /*On fail goto*//*Label 4835*/ GIMT_Encode4(210198), // Rule ID 5 //
74518 /* 210184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
74519 /* 210187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
74520 /* 210191 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSWAP32r:{ *:[i32] } GR32:{ *:[i32] }:$src)
74521 /* 210191 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP32r),
74522 /* 210196 */ GIR_RootConstrainSelectedInstOperands,
74523 /* 210197 */ // GIR_Coverage, 5,
74524 /* 210197 */ GIR_Done,
74525 /* 210198 */ // Label 4835: @210198
74526 /* 210198 */ GIM_Try, /*On fail goto*//*Label 4836*/ GIMT_Encode4(210217), // Rule ID 62 //
74527 /* 210203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
74528 /* 210206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
74529 /* 210210 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (MOVBE32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1)
74530 /* 210210 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE32rr),
74531 /* 210215 */ GIR_RootConstrainSelectedInstOperands,
74532 /* 210216 */ // GIR_Coverage, 62,
74533 /* 210216 */ GIR_Done,
74534 /* 210217 */ // Label 4836: @210217
74535 /* 210217 */ GIM_Reject,
74536 /* 210218 */ // Label 4832: @210218
74537 /* 210218 */ GIM_Reject,
74538 /* 210219 */ // Label 4825: @210219
74539 /* 210219 */ GIM_Try, /*On fail goto*//*Label 4837*/ GIMT_Encode4(210374),
74540 /* 210224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
74541 /* 210227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
74542 /* 210231 */ GIM_Try, /*On fail goto*//*Label 4838*/ GIMT_Encode4(210283), // Rule ID 53 //
74543 /* 210236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
74544 /* 210239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74545 /* 210243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74546 /* 210247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74547 /* 210250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74548 /* 210254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74549 /* 210258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74550 /* 210260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74551 /* 210267 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
74552 /* 210267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm),
74553 /* 210270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74554 /* 210272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74555 /* 210276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74556 /* 210281 */ GIR_RootConstrainSelectedInstOperands,
74557 /* 210282 */ // GIR_Coverage, 53,
74558 /* 210282 */ GIR_EraseRootFromParent_Done,
74559 /* 210283 */ // Label 4838: @210283
74560 /* 210283 */ GIM_Try, /*On fail goto*//*Label 4839*/ GIMT_Encode4(210335), // Rule ID 59 //
74561 /* 210288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
74562 /* 210291 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74563 /* 210295 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74564 /* 210299 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74565 /* 210302 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74566 /* 210306 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74567 /* 210310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74568 /* 210312 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74569 /* 210319 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
74570 /* 210319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm_EVEX),
74571 /* 210322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74572 /* 210324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74573 /* 210328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74574 /* 210333 */ GIR_RootConstrainSelectedInstOperands,
74575 /* 210334 */ // GIR_Coverage, 59,
74576 /* 210334 */ GIR_EraseRootFromParent_Done,
74577 /* 210335 */ // Label 4839: @210335
74578 /* 210335 */ GIM_Try, /*On fail goto*//*Label 4840*/ GIMT_Encode4(210354), // Rule ID 6 //
74579 /* 210340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
74580 /* 210343 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
74581 /* 210347 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSWAP64r:{ *:[i64] } GR64:{ *:[i64] }:$src)
74582 /* 210347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP64r),
74583 /* 210352 */ GIR_RootConstrainSelectedInstOperands,
74584 /* 210353 */ // GIR_Coverage, 6,
74585 /* 210353 */ GIR_Done,
74586 /* 210354 */ // Label 4840: @210354
74587 /* 210354 */ GIM_Try, /*On fail goto*//*Label 4841*/ GIMT_Encode4(210373), // Rule ID 63 //
74588 /* 210359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
74589 /* 210362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
74590 /* 210366 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (MOVBE64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1)
74591 /* 210366 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE64rr),
74592 /* 210371 */ GIR_RootConstrainSelectedInstOperands,
74593 /* 210372 */ // GIR_Coverage, 63,
74594 /* 210372 */ GIR_Done,
74595 /* 210373 */ // Label 4841: @210373
74596 /* 210373 */ GIM_Reject,
74597 /* 210374 */ // Label 4837: @210374
74598 /* 210374 */ GIM_Reject,
74599 /* 210375 */ // Label 4826: @210375
74600 /* 210375 */ GIM_Reject,
74601 /* 210376 */ // Label 68: @210376
74602 /* 210376 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4855*/ GIMT_Encode4(212544),
74603 /* 210387 */ /*GILLT_s16*//*Label 4842*/ GIMT_Encode4(210471),
74604 /* 210391 */ /*GILLT_s32*//*Label 4843*/ GIMT_Encode4(210592),
74605 /* 210395 */ /*GILLT_s64*//*Label 4844*/ GIMT_Encode4(210948),
74606 /* 210399 */ /*GILLT_s80*//*Label 4845*/ GIMT_Encode4(211304), GIMT_Encode4(0), GIMT_Encode4(0),
74607 /* 210411 */ /*GILLT_v2s64*//*Label 4846*/ GIMT_Encode4(211341), GIMT_Encode4(0),
74608 /* 210419 */ /*GILLT_v4s32*//*Label 4847*/ GIMT_Encode4(211544),
74609 /* 210423 */ /*GILLT_v4s64*//*Label 4848*/ GIMT_Encode4(211747), GIMT_Encode4(0),
74610 /* 210431 */ /*GILLT_v8s16*//*Label 4849*/ GIMT_Encode4(211923),
74611 /* 210435 */ /*GILLT_v8s32*//*Label 4850*/ GIMT_Encode4(212012),
74612 /* 210439 */ /*GILLT_v8s64*//*Label 4851*/ GIMT_Encode4(212188), GIMT_Encode4(0), GIMT_Encode4(0),
74613 /* 210451 */ /*GILLT_v16s16*//*Label 4852*/ GIMT_Encode4(212277),
74614 /* 210455 */ /*GILLT_v16s32*//*Label 4853*/ GIMT_Encode4(212366), GIMT_Encode4(0), GIMT_Encode4(0),
74615 /* 210467 */ /*GILLT_v32s16*//*Label 4854*/ GIMT_Encode4(212455),
74616 /* 210471 */ // Label 4842: @210471
74617 /* 210471 */ GIM_Try, /*On fail goto*//*Label 4856*/ GIMT_Encode4(210591),
74618 /* 210476 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
74619 /* 210479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74620 /* 210483 */ GIM_Try, /*On fail goto*//*Label 4857*/ GIMT_Encode4(210552), // Rule ID 21429 //
74621 /* 210488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
74622 /* 210491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74623 /* 210495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74624 /* 210499 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74625 /* 210502 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74626 /* 210506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74627 /* 210510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74628 /* 210512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74629 /* 210519 */ // (fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
74630 /* 210519 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
74631 /* 210522 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74632 /* 210526 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74633 /* 210531 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74634 /* 210533 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
74635 /* 210536 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74636 /* 210538 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74637 /* 210541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74638 /* 210545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74639 /* 210550 */ GIR_RootConstrainSelectedInstOperands,
74640 /* 210551 */ // GIR_Coverage, 21429,
74641 /* 210551 */ GIR_EraseRootFromParent_Done,
74642 /* 210552 */ // Label 4857: @210552
74643 /* 210552 */ GIM_Try, /*On fail goto*//*Label 4858*/ GIMT_Encode4(210590), // Rule ID 21427 //
74644 /* 210557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74645 /* 210560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74646 /* 210564 */ // (fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
74647 /* 210564 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
74648 /* 210567 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74649 /* 210571 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74650 /* 210576 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74651 /* 210578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
74652 /* 210581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74653 /* 210583 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74654 /* 210586 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74655 /* 210588 */ GIR_RootConstrainSelectedInstOperands,
74656 /* 210589 */ // GIR_Coverage, 21427,
74657 /* 210589 */ GIR_EraseRootFromParent_Done,
74658 /* 210590 */ // Label 4858: @210590
74659 /* 210590 */ GIM_Reject,
74660 /* 210591 */ // Label 4856: @210591
74661 /* 210591 */ GIM_Reject,
74662 /* 210592 */ // Label 4843: @210592
74663 /* 210592 */ GIM_Try, /*On fail goto*//*Label 4859*/ GIMT_Encode4(210947),
74664 /* 210597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
74665 /* 210600 */ GIM_Try, /*On fail goto*//*Label 4860*/ GIMT_Encode4(210656), // Rule ID 2448 //
74666 /* 210605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
74667 /* 210608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74668 /* 210612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74669 /* 210616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74670 /* 210620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74671 /* 210623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74672 /* 210627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74673 /* 210631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74674 /* 210633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74675 /* 210640 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
74676 /* 210640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
74677 /* 210643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74678 /* 210645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74679 /* 210649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74680 /* 210654 */ GIR_RootConstrainSelectedInstOperands,
74681 /* 210655 */ // GIR_Coverage, 2448,
74682 /* 210655 */ GIR_EraseRootFromParent_Done,
74683 /* 210656 */ // Label 4860: @210656
74684 /* 210656 */ GIM_Try, /*On fail goto*//*Label 4861*/ GIMT_Encode4(210729), // Rule ID 18266 //
74685 /* 210661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
74686 /* 210664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74687 /* 210668 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74688 /* 210672 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74689 /* 210676 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74690 /* 210679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74691 /* 210683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74692 /* 210687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74693 /* 210689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74694 /* 210696 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
74695 /* 210696 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
74696 /* 210699 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74697 /* 210703 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74698 /* 210708 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74699 /* 210710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
74700 /* 210713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74701 /* 210715 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74702 /* 210718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74703 /* 210722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74704 /* 210727 */ GIR_RootConstrainSelectedInstOperands,
74705 /* 210728 */ // GIR_Coverage, 18266,
74706 /* 210728 */ GIR_EraseRootFromParent_Done,
74707 /* 210729 */ // Label 4861: @210729
74708 /* 210729 */ GIM_Try, /*On fail goto*//*Label 4862*/ GIMT_Encode4(210802), // Rule ID 21433 //
74709 /* 210734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
74710 /* 210737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74711 /* 210741 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74712 /* 210745 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74713 /* 210749 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74714 /* 210752 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74715 /* 210756 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74716 /* 210760 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74717 /* 210762 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74718 /* 210769 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
74719 /* 210769 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
74720 /* 210772 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74721 /* 210776 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74722 /* 210781 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74723 /* 210783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
74724 /* 210786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74725 /* 210788 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74726 /* 210791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74727 /* 210795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74728 /* 210800 */ GIR_RootConstrainSelectedInstOperands,
74729 /* 210801 */ // GIR_Coverage, 21433,
74730 /* 210801 */ GIR_EraseRootFromParent_Done,
74731 /* 210802 */ // Label 4862: @210802
74732 /* 210802 */ GIM_Try, /*On fail goto*//*Label 4863*/ GIMT_Encode4(210835), // Rule ID 1048 //
74733 /* 210807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74734 /* 210810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74735 /* 210814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74736 /* 210818 */ // (fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
74737 /* 210818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
74738 /* 210823 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74739 /* 210829 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74740 /* 210833 */ GIR_RootConstrainSelectedInstOperands,
74741 /* 210834 */ // GIR_Coverage, 1048,
74742 /* 210834 */ GIR_Done,
74743 /* 210835 */ // Label 4863: @210835
74744 /* 210835 */ GIM_Try, /*On fail goto*//*Label 4864*/ GIMT_Encode4(210862), // Rule ID 2446 //
74745 /* 210840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74746 /* 210843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74747 /* 210847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74748 /* 210851 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
74749 /* 210851 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
74750 /* 210856 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74751 /* 210860 */ GIR_RootConstrainSelectedInstOperands,
74752 /* 210861 */ // GIR_Coverage, 2446,
74753 /* 210861 */ GIR_Done,
74754 /* 210862 */ // Label 4864: @210862
74755 /* 210862 */ GIM_Try, /*On fail goto*//*Label 4865*/ GIMT_Encode4(210904), // Rule ID 18264 //
74756 /* 210867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74757 /* 210870 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74758 /* 210874 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74759 /* 210878 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
74760 /* 210878 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
74761 /* 210881 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74762 /* 210885 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74763 /* 210890 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74764 /* 210892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
74765 /* 210895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74766 /* 210897 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74767 /* 210900 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74768 /* 210902 */ GIR_RootConstrainSelectedInstOperands,
74769 /* 210903 */ // GIR_Coverage, 18264,
74770 /* 210903 */ GIR_EraseRootFromParent_Done,
74771 /* 210904 */ // Label 4865: @210904
74772 /* 210904 */ GIM_Try, /*On fail goto*//*Label 4866*/ GIMT_Encode4(210946), // Rule ID 21431 //
74773 /* 210909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74774 /* 210912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74775 /* 210916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74776 /* 210920 */ // (fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
74777 /* 210920 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
74778 /* 210923 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74779 /* 210927 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74780 /* 210932 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74781 /* 210934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
74782 /* 210937 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74783 /* 210939 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74784 /* 210942 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74785 /* 210944 */ GIR_RootConstrainSelectedInstOperands,
74786 /* 210945 */ // GIR_Coverage, 21431,
74787 /* 210945 */ GIR_EraseRootFromParent_Done,
74788 /* 210946 */ // Label 4866: @210946
74789 /* 210946 */ GIM_Reject,
74790 /* 210947 */ // Label 4859: @210947
74791 /* 210947 */ GIM_Reject,
74792 /* 210948 */ // Label 4844: @210948
74793 /* 210948 */ GIM_Try, /*On fail goto*//*Label 4867*/ GIMT_Encode4(211303),
74794 /* 210953 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
74795 /* 210956 */ GIM_Try, /*On fail goto*//*Label 4868*/ GIMT_Encode4(211012), // Rule ID 2464 //
74796 /* 210961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
74797 /* 210964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74798 /* 210968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74799 /* 210972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74800 /* 210976 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74801 /* 210979 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74802 /* 210983 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74803 /* 210987 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74804 /* 210989 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74805 /* 210996 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
74806 /* 210996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
74807 /* 210999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74808 /* 211001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
74809 /* 211005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74810 /* 211010 */ GIR_RootConstrainSelectedInstOperands,
74811 /* 211011 */ // GIR_Coverage, 2464,
74812 /* 211011 */ GIR_EraseRootFromParent_Done,
74813 /* 211012 */ // Label 4868: @211012
74814 /* 211012 */ GIM_Try, /*On fail goto*//*Label 4869*/ GIMT_Encode4(211085), // Rule ID 18270 //
74815 /* 211017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
74816 /* 211020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74817 /* 211024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74818 /* 211028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74819 /* 211032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74820 /* 211035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74821 /* 211039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74822 /* 211043 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74823 /* 211045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74824 /* 211052 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
74825 /* 211052 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
74826 /* 211055 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74827 /* 211059 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74828 /* 211064 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74829 /* 211066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
74830 /* 211069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74831 /* 211071 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74832 /* 211074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74833 /* 211078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74834 /* 211083 */ GIR_RootConstrainSelectedInstOperands,
74835 /* 211084 */ // GIR_Coverage, 18270,
74836 /* 211084 */ GIR_EraseRootFromParent_Done,
74837 /* 211085 */ // Label 4869: @211085
74838 /* 211085 */ GIM_Try, /*On fail goto*//*Label 4870*/ GIMT_Encode4(211158), // Rule ID 21437 //
74839 /* 211090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
74840 /* 211093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74841 /* 211097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74842 /* 211101 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74843 /* 211105 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74844 /* 211108 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74845 /* 211112 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74846 /* 211116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74847 /* 211118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74848 /* 211125 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
74849 /* 211125 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
74850 /* 211128 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74851 /* 211132 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74852 /* 211137 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74853 /* 211139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
74854 /* 211142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74855 /* 211144 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74856 /* 211147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74857 /* 211151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74858 /* 211156 */ GIR_RootConstrainSelectedInstOperands,
74859 /* 211157 */ // GIR_Coverage, 21437,
74860 /* 211157 */ GIR_EraseRootFromParent_Done,
74861 /* 211158 */ // Label 4870: @211158
74862 /* 211158 */ GIM_Try, /*On fail goto*//*Label 4871*/ GIMT_Encode4(211191), // Rule ID 1050 //
74863 /* 211163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74864 /* 211166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74865 /* 211170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74866 /* 211174 */ // (fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
74867 /* 211174 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
74868 /* 211179 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74869 /* 211185 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74870 /* 211189 */ GIR_RootConstrainSelectedInstOperands,
74871 /* 211190 */ // GIR_Coverage, 1050,
74872 /* 211190 */ GIR_Done,
74873 /* 211191 */ // Label 4871: @211191
74874 /* 211191 */ GIM_Try, /*On fail goto*//*Label 4872*/ GIMT_Encode4(211218), // Rule ID 2462 //
74875 /* 211196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74876 /* 211199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74877 /* 211203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74878 /* 211207 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
74879 /* 211207 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
74880 /* 211212 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74881 /* 211216 */ GIR_RootConstrainSelectedInstOperands,
74882 /* 211217 */ // GIR_Coverage, 2462,
74883 /* 211217 */ GIR_Done,
74884 /* 211218 */ // Label 4872: @211218
74885 /* 211218 */ GIM_Try, /*On fail goto*//*Label 4873*/ GIMT_Encode4(211260), // Rule ID 18268 //
74886 /* 211223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74887 /* 211226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74888 /* 211230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74889 /* 211234 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
74890 /* 211234 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
74891 /* 211237 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74892 /* 211241 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74893 /* 211246 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74894 /* 211248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
74895 /* 211251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74896 /* 211253 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74897 /* 211256 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74898 /* 211258 */ GIR_RootConstrainSelectedInstOperands,
74899 /* 211259 */ // GIR_Coverage, 18268,
74900 /* 211259 */ GIR_EraseRootFromParent_Done,
74901 /* 211260 */ // Label 4873: @211260
74902 /* 211260 */ GIM_Try, /*On fail goto*//*Label 4874*/ GIMT_Encode4(211302), // Rule ID 21435 //
74903 /* 211265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74904 /* 211268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74905 /* 211272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74906 /* 211276 */ // (fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
74907 /* 211276 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
74908 /* 211279 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
74909 /* 211283 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
74910 /* 211288 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
74911 /* 211290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
74912 /* 211293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74913 /* 211295 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
74914 /* 211298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
74915 /* 211300 */ GIR_RootConstrainSelectedInstOperands,
74916 /* 211301 */ // GIR_Coverage, 21435,
74917 /* 211301 */ GIR_EraseRootFromParent_Done,
74918 /* 211302 */ // Label 4874: @211302
74919 /* 211302 */ GIM_Reject,
74920 /* 211303 */ // Label 4867: @211303
74921 /* 211303 */ GIM_Reject,
74922 /* 211304 */ // Label 4845: @211304
74923 /* 211304 */ GIM_Try, /*On fail goto*//*Label 4875*/ GIMT_Encode4(211340), // Rule ID 1052 //
74924 /* 211309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
74925 /* 211312 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
74926 /* 211315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74927 /* 211319 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
74928 /* 211323 */ // (fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
74929 /* 211323 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
74930 /* 211328 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74931 /* 211334 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74932 /* 211338 */ GIR_RootConstrainSelectedInstOperands,
74933 /* 211339 */ // GIR_Coverage, 1052,
74934 /* 211339 */ GIR_Done,
74935 /* 211340 */ // Label 4875: @211340
74936 /* 211340 */ GIM_Reject,
74937 /* 211341 */ // Label 4846: @211341
74938 /* 211341 */ GIM_Try, /*On fail goto*//*Label 4876*/ GIMT_Encode4(211543),
74939 /* 211346 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
74940 /* 211349 */ GIM_Try, /*On fail goto*//*Label 4877*/ GIMT_Encode4(211405), // Rule ID 2468 //
74941 /* 211354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74942 /* 211357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74943 /* 211361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74944 /* 211365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74945 /* 211369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74946 /* 211372 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74947 /* 211376 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74948 /* 211380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74949 /* 211382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74950 /* 211389 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
74951 /* 211389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
74952 /* 211392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74953 /* 211394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74954 /* 211398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74955 /* 211403 */ GIR_RootConstrainSelectedInstOperands,
74956 /* 211404 */ // GIR_Coverage, 2468,
74957 /* 211404 */ GIR_EraseRootFromParent_Done,
74958 /* 211405 */ // Label 4877: @211405
74959 /* 211405 */ GIM_Try, /*On fail goto*//*Label 4878*/ GIMT_Encode4(211461), // Rule ID 12090 //
74960 /* 211410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74961 /* 211413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74962 /* 211417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74963 /* 211421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74964 /* 211425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74965 /* 211428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74966 /* 211432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74967 /* 211436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74968 /* 211438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74969 /* 211445 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
74970 /* 211445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
74971 /* 211448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74972 /* 211450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74973 /* 211454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74974 /* 211459 */ GIR_RootConstrainSelectedInstOperands,
74975 /* 211460 */ // GIR_Coverage, 12090,
74976 /* 211460 */ GIR_EraseRootFromParent_Done,
74977 /* 211461 */ // Label 4878: @211461
74978 /* 211461 */ GIM_Try, /*On fail goto*//*Label 4879*/ GIMT_Encode4(211488), // Rule ID 2466 //
74979 /* 211466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74980 /* 211469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74981 /* 211473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74982 /* 211477 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
74983 /* 211477 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
74984 /* 211482 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74985 /* 211486 */ GIR_RootConstrainSelectedInstOperands,
74986 /* 211487 */ // GIR_Coverage, 2466,
74987 /* 211487 */ GIR_Done,
74988 /* 211488 */ // Label 4879: @211488
74989 /* 211488 */ GIM_Try, /*On fail goto*//*Label 4880*/ GIMT_Encode4(211515), // Rule ID 2474 //
74990 /* 211493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74991 /* 211496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74992 /* 211500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74993 /* 211504 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
74994 /* 211504 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
74995 /* 211509 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74996 /* 211513 */ GIR_RootConstrainSelectedInstOperands,
74997 /* 211514 */ // GIR_Coverage, 2474,
74998 /* 211514 */ GIR_Done,
74999 /* 211515 */ // Label 4880: @211515
75000 /* 211515 */ GIM_Try, /*On fail goto*//*Label 4881*/ GIMT_Encode4(211542), // Rule ID 12086 //
75001 /* 211520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
75002 /* 211523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75003 /* 211527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75004 /* 211531 */ // (fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
75005 /* 211531 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
75006 /* 211536 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75007 /* 211540 */ GIR_RootConstrainSelectedInstOperands,
75008 /* 211541 */ // GIR_Coverage, 12086,
75009 /* 211541 */ GIR_Done,
75010 /* 211542 */ // Label 4881: @211542
75011 /* 211542 */ GIM_Reject,
75012 /* 211543 */ // Label 4876: @211543
75013 /* 211543 */ GIM_Reject,
75014 /* 211544 */ // Label 4847: @211544
75015 /* 211544 */ GIM_Try, /*On fail goto*//*Label 4882*/ GIMT_Encode4(211746),
75016 /* 211549 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
75017 /* 211552 */ GIM_Try, /*On fail goto*//*Label 4883*/ GIMT_Encode4(211608), // Rule ID 2452 //
75018 /* 211557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75019 /* 211560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75020 /* 211564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75021 /* 211568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75022 /* 211572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75023 /* 211575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75024 /* 211579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75025 /* 211583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75026 /* 211585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75027 /* 211592 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
75028 /* 211592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
75029 /* 211595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75030 /* 211597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75031 /* 211601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75032 /* 211606 */ GIR_RootConstrainSelectedInstOperands,
75033 /* 211607 */ // GIR_Coverage, 2452,
75034 /* 211607 */ GIR_EraseRootFromParent_Done,
75035 /* 211608 */ // Label 4883: @211608
75036 /* 211608 */ GIM_Try, /*On fail goto*//*Label 4884*/ GIMT_Encode4(211664), // Rule ID 12066 //
75037 /* 211613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
75038 /* 211616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75039 /* 211620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75040 /* 211624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75041 /* 211628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75042 /* 211631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75043 /* 211635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75044 /* 211639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75045 /* 211641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75046 /* 211648 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
75047 /* 211648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
75048 /* 211651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75049 /* 211653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75050 /* 211657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75051 /* 211662 */ GIR_RootConstrainSelectedInstOperands,
75052 /* 211663 */ // GIR_Coverage, 12066,
75053 /* 211663 */ GIR_EraseRootFromParent_Done,
75054 /* 211664 */ // Label 4884: @211664
75055 /* 211664 */ GIM_Try, /*On fail goto*//*Label 4885*/ GIMT_Encode4(211691), // Rule ID 2450 //
75056 /* 211669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75057 /* 211672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75058 /* 211676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75059 /* 211680 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
75060 /* 211680 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
75061 /* 211685 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75062 /* 211689 */ GIR_RootConstrainSelectedInstOperands,
75063 /* 211690 */ // GIR_Coverage, 2450,
75064 /* 211690 */ GIR_Done,
75065 /* 211691 */ // Label 4885: @211691
75066 /* 211691 */ GIM_Try, /*On fail goto*//*Label 4886*/ GIMT_Encode4(211718), // Rule ID 2458 //
75067 /* 211696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75068 /* 211699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75069 /* 211703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75070 /* 211707 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
75071 /* 211707 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
75072 /* 211712 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75073 /* 211716 */ GIR_RootConstrainSelectedInstOperands,
75074 /* 211717 */ // GIR_Coverage, 2458,
75075 /* 211717 */ GIR_Done,
75076 /* 211718 */ // Label 4886: @211718
75077 /* 211718 */ GIM_Try, /*On fail goto*//*Label 4887*/ GIMT_Encode4(211745), // Rule ID 12062 //
75078 /* 211723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
75079 /* 211726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75080 /* 211730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75081 /* 211734 */ // (fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
75082 /* 211734 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
75083 /* 211739 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75084 /* 211743 */ GIR_RootConstrainSelectedInstOperands,
75085 /* 211744 */ // GIR_Coverage, 12062,
75086 /* 211744 */ GIR_Done,
75087 /* 211745 */ // Label 4887: @211745
75088 /* 211745 */ GIM_Reject,
75089 /* 211746 */ // Label 4882: @211746
75090 /* 211746 */ GIM_Reject,
75091 /* 211747 */ // Label 4848: @211747
75092 /* 211747 */ GIM_Try, /*On fail goto*//*Label 4888*/ GIMT_Encode4(211922),
75093 /* 211752 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
75094 /* 211755 */ GIM_Try, /*On fail goto*//*Label 4889*/ GIMT_Encode4(211811), // Rule ID 2472 //
75095 /* 211760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75096 /* 211763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75097 /* 211767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75098 /* 211771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75099 /* 211775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75100 /* 211778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75101 /* 211782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75102 /* 211786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75103 /* 211788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75104 /* 211795 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
75105 /* 211795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
75106 /* 211798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75107 /* 211800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75108 /* 211804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75109 /* 211809 */ GIR_RootConstrainSelectedInstOperands,
75110 /* 211810 */ // GIR_Coverage, 2472,
75111 /* 211810 */ GIR_EraseRootFromParent_Done,
75112 /* 211811 */ // Label 4889: @211811
75113 /* 211811 */ GIM_Try, /*On fail goto*//*Label 4890*/ GIMT_Encode4(211867), // Rule ID 12102 //
75114 /* 211816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
75115 /* 211819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75116 /* 211823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75117 /* 211827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75118 /* 211831 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75119 /* 211834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75120 /* 211838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75121 /* 211842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75122 /* 211844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75123 /* 211851 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
75124 /* 211851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
75125 /* 211854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75126 /* 211856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75127 /* 211860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75128 /* 211865 */ GIR_RootConstrainSelectedInstOperands,
75129 /* 211866 */ // GIR_Coverage, 12102,
75130 /* 211866 */ GIR_EraseRootFromParent_Done,
75131 /* 211867 */ // Label 4890: @211867
75132 /* 211867 */ GIM_Try, /*On fail goto*//*Label 4891*/ GIMT_Encode4(211894), // Rule ID 2470 //
75133 /* 211872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75134 /* 211875 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75135 /* 211879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75136 /* 211883 */ // (fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
75137 /* 211883 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
75138 /* 211888 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75139 /* 211892 */ GIR_RootConstrainSelectedInstOperands,
75140 /* 211893 */ // GIR_Coverage, 2470,
75141 /* 211893 */ GIR_Done,
75142 /* 211894 */ // Label 4891: @211894
75143 /* 211894 */ GIM_Try, /*On fail goto*//*Label 4892*/ GIMT_Encode4(211921), // Rule ID 12098 //
75144 /* 211899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
75145 /* 211902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75146 /* 211906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75147 /* 211910 */ // (fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
75148 /* 211910 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
75149 /* 211915 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75150 /* 211919 */ GIR_RootConstrainSelectedInstOperands,
75151 /* 211920 */ // GIR_Coverage, 12098,
75152 /* 211920 */ GIR_Done,
75153 /* 211921 */ // Label 4892: @211921
75154 /* 211921 */ GIM_Reject,
75155 /* 211922 */ // Label 4888: @211922
75156 /* 211922 */ GIM_Reject,
75157 /* 211923 */ // Label 4849: @211923
75158 /* 211923 */ GIM_Try, /*On fail goto*//*Label 4893*/ GIMT_Encode4(212011),
75159 /* 211928 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
75160 /* 211931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75161 /* 211935 */ GIM_Try, /*On fail goto*//*Label 4894*/ GIMT_Encode4(211987), // Rule ID 12018 //
75162 /* 211940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75163 /* 211943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75164 /* 211947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75165 /* 211951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75166 /* 211954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75167 /* 211958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75168 /* 211962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75169 /* 211964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75170 /* 211971 */ // (fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
75171 /* 211971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
75172 /* 211974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75173 /* 211976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75174 /* 211980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75175 /* 211985 */ GIR_RootConstrainSelectedInstOperands,
75176 /* 211986 */ // GIR_Coverage, 12018,
75177 /* 211986 */ GIR_EraseRootFromParent_Done,
75178 /* 211987 */ // Label 4894: @211987
75179 /* 211987 */ GIM_Try, /*On fail goto*//*Label 4895*/ GIMT_Encode4(212010), // Rule ID 12014 //
75180 /* 211992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75181 /* 211995 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75182 /* 211999 */ // (fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
75183 /* 211999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
75184 /* 212004 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75185 /* 212008 */ GIR_RootConstrainSelectedInstOperands,
75186 /* 212009 */ // GIR_Coverage, 12014,
75187 /* 212009 */ GIR_Done,
75188 /* 212010 */ // Label 4895: @212010
75189 /* 212010 */ GIM_Reject,
75190 /* 212011 */ // Label 4893: @212011
75191 /* 212011 */ GIM_Reject,
75192 /* 212012 */ // Label 4850: @212012
75193 /* 212012 */ GIM_Try, /*On fail goto*//*Label 4896*/ GIMT_Encode4(212187),
75194 /* 212017 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
75195 /* 212020 */ GIM_Try, /*On fail goto*//*Label 4897*/ GIMT_Encode4(212076), // Rule ID 2456 //
75196 /* 212025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75197 /* 212028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75198 /* 212032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75199 /* 212036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75200 /* 212040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75201 /* 212043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75202 /* 212047 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75203 /* 212051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75204 /* 212053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75205 /* 212060 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
75206 /* 212060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
75207 /* 212063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75208 /* 212065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75209 /* 212069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75210 /* 212074 */ GIR_RootConstrainSelectedInstOperands,
75211 /* 212075 */ // GIR_Coverage, 2456,
75212 /* 212075 */ GIR_EraseRootFromParent_Done,
75213 /* 212076 */ // Label 4897: @212076
75214 /* 212076 */ GIM_Try, /*On fail goto*//*Label 4898*/ GIMT_Encode4(212132), // Rule ID 12078 //
75215 /* 212081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
75216 /* 212084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75217 /* 212088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75218 /* 212092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75219 /* 212096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75220 /* 212099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75221 /* 212103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75222 /* 212107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75223 /* 212109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75224 /* 212116 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
75225 /* 212116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
75226 /* 212119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75227 /* 212121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75228 /* 212125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75229 /* 212130 */ GIR_RootConstrainSelectedInstOperands,
75230 /* 212131 */ // GIR_Coverage, 12078,
75231 /* 212131 */ GIR_EraseRootFromParent_Done,
75232 /* 212132 */ // Label 4898: @212132
75233 /* 212132 */ GIM_Try, /*On fail goto*//*Label 4899*/ GIMT_Encode4(212159), // Rule ID 2454 //
75234 /* 212137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75235 /* 212140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75236 /* 212144 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75237 /* 212148 */ // (fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
75238 /* 212148 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
75239 /* 212153 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75240 /* 212157 */ GIR_RootConstrainSelectedInstOperands,
75241 /* 212158 */ // GIR_Coverage, 2454,
75242 /* 212158 */ GIR_Done,
75243 /* 212159 */ // Label 4899: @212159
75244 /* 212159 */ GIM_Try, /*On fail goto*//*Label 4900*/ GIMT_Encode4(212186), // Rule ID 12074 //
75245 /* 212164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
75246 /* 212167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75247 /* 212171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75248 /* 212175 */ // (fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
75249 /* 212175 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
75250 /* 212180 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75251 /* 212184 */ GIR_RootConstrainSelectedInstOperands,
75252 /* 212185 */ // GIR_Coverage, 12074,
75253 /* 212185 */ GIR_Done,
75254 /* 212186 */ // Label 4900: @212186
75255 /* 212186 */ GIM_Reject,
75256 /* 212187 */ // Label 4896: @212187
75257 /* 212187 */ GIM_Reject,
75258 /* 212188 */ // Label 4851: @212188
75259 /* 212188 */ GIM_Try, /*On fail goto*//*Label 4901*/ GIMT_Encode4(212276),
75260 /* 212193 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
75261 /* 212196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75262 /* 212200 */ GIM_Try, /*On fail goto*//*Label 4902*/ GIMT_Encode4(212252), // Rule ID 12054 //
75263 /* 212205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75264 /* 212208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75265 /* 212212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75266 /* 212216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75267 /* 212219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75268 /* 212223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75269 /* 212227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75270 /* 212229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75271 /* 212236 */ // (fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
75272 /* 212236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
75273 /* 212239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75274 /* 212241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75275 /* 212245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75276 /* 212250 */ GIR_RootConstrainSelectedInstOperands,
75277 /* 212251 */ // GIR_Coverage, 12054,
75278 /* 212251 */ GIR_EraseRootFromParent_Done,
75279 /* 212252 */ // Label 4902: @212252
75280 /* 212252 */ GIM_Try, /*On fail goto*//*Label 4903*/ GIMT_Encode4(212275), // Rule ID 12050 //
75281 /* 212257 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75282 /* 212260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75283 /* 212264 */ // (fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
75284 /* 212264 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
75285 /* 212269 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75286 /* 212273 */ GIR_RootConstrainSelectedInstOperands,
75287 /* 212274 */ // GIR_Coverage, 12050,
75288 /* 212274 */ GIR_Done,
75289 /* 212275 */ // Label 4903: @212275
75290 /* 212275 */ GIM_Reject,
75291 /* 212276 */ // Label 4901: @212276
75292 /* 212276 */ GIM_Reject,
75293 /* 212277 */ // Label 4852: @212277
75294 /* 212277 */ GIM_Try, /*On fail goto*//*Label 4904*/ GIMT_Encode4(212365),
75295 /* 212282 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
75296 /* 212285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75297 /* 212289 */ GIM_Try, /*On fail goto*//*Label 4905*/ GIMT_Encode4(212341), // Rule ID 12030 //
75298 /* 212294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75299 /* 212297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75300 /* 212301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75301 /* 212305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75302 /* 212308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75303 /* 212312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75304 /* 212316 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75305 /* 212318 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75306 /* 212325 */ // (fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
75307 /* 212325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
75308 /* 212328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75309 /* 212330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75310 /* 212334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75311 /* 212339 */ GIR_RootConstrainSelectedInstOperands,
75312 /* 212340 */ // GIR_Coverage, 12030,
75313 /* 212340 */ GIR_EraseRootFromParent_Done,
75314 /* 212341 */ // Label 4905: @212341
75315 /* 212341 */ GIM_Try, /*On fail goto*//*Label 4906*/ GIMT_Encode4(212364), // Rule ID 12026 //
75316 /* 212346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75317 /* 212349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75318 /* 212353 */ // (fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
75319 /* 212353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
75320 /* 212358 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75321 /* 212362 */ GIR_RootConstrainSelectedInstOperands,
75322 /* 212363 */ // GIR_Coverage, 12026,
75323 /* 212363 */ GIR_Done,
75324 /* 212364 */ // Label 4906: @212364
75325 /* 212364 */ GIM_Reject,
75326 /* 212365 */ // Label 4904: @212365
75327 /* 212365 */ GIM_Reject,
75328 /* 212366 */ // Label 4853: @212366
75329 /* 212366 */ GIM_Try, /*On fail goto*//*Label 4907*/ GIMT_Encode4(212454),
75330 /* 212371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
75331 /* 212374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75332 /* 212378 */ GIM_Try, /*On fail goto*//*Label 4908*/ GIMT_Encode4(212430), // Rule ID 12042 //
75333 /* 212383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75334 /* 212386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75335 /* 212390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75336 /* 212394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75337 /* 212397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75338 /* 212401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75339 /* 212405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75340 /* 212407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75341 /* 212414 */ // (fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
75342 /* 212414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
75343 /* 212417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75344 /* 212419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75345 /* 212423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75346 /* 212428 */ GIR_RootConstrainSelectedInstOperands,
75347 /* 212429 */ // GIR_Coverage, 12042,
75348 /* 212429 */ GIR_EraseRootFromParent_Done,
75349 /* 212430 */ // Label 4908: @212430
75350 /* 212430 */ GIM_Try, /*On fail goto*//*Label 4909*/ GIMT_Encode4(212453), // Rule ID 12038 //
75351 /* 212435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75352 /* 212438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75353 /* 212442 */ // (fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
75354 /* 212442 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
75355 /* 212447 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75356 /* 212451 */ GIR_RootConstrainSelectedInstOperands,
75357 /* 212452 */ // GIR_Coverage, 12038,
75358 /* 212452 */ GIR_Done,
75359 /* 212453 */ // Label 4909: @212453
75360 /* 212453 */ GIM_Reject,
75361 /* 212454 */ // Label 4907: @212454
75362 /* 212454 */ GIM_Reject,
75363 /* 212455 */ // Label 4854: @212455
75364 /* 212455 */ GIM_Try, /*On fail goto*//*Label 4910*/ GIMT_Encode4(212543),
75365 /* 212460 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
75366 /* 212463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75367 /* 212467 */ GIM_Try, /*On fail goto*//*Label 4911*/ GIMT_Encode4(212519), // Rule ID 12006 //
75368 /* 212472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75369 /* 212475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75370 /* 212479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75371 /* 212483 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75372 /* 212486 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75373 /* 212490 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75374 /* 212494 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75375 /* 212496 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75376 /* 212503 */ // (fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
75377 /* 212503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
75378 /* 212506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75379 /* 212508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
75380 /* 212512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75381 /* 212517 */ GIR_RootConstrainSelectedInstOperands,
75382 /* 212518 */ // GIR_Coverage, 12006,
75383 /* 212518 */ GIR_EraseRootFromParent_Done,
75384 /* 212519 */ // Label 4911: @212519
75385 /* 212519 */ GIM_Try, /*On fail goto*//*Label 4912*/ GIMT_Encode4(212542), // Rule ID 12002 //
75386 /* 212524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75387 /* 212527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75388 /* 212531 */ // (fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
75389 /* 212531 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
75390 /* 212536 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75391 /* 212540 */ GIR_RootConstrainSelectedInstOperands,
75392 /* 212541 */ // GIR_Coverage, 12002,
75393 /* 212541 */ GIR_Done,
75394 /* 212542 */ // Label 4912: @212542
75395 /* 212542 */ GIM_Reject,
75396 /* 212543 */ // Label 4910: @212543
75397 /* 212543 */ GIM_Reject,
75398 /* 212544 */ // Label 4855: @212544
75399 /* 212544 */ GIM_Reject,
75400 /* 212545 */ // Label 69: @212545
75401 /* 212545 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 4926*/ GIMT_Encode4(217474),
75402 /* 212556 */ /*GILLT_s16*//*Label 4913*/ GIMT_Encode4(212640),
75403 /* 212560 */ /*GILLT_s32*//*Label 4914*/ GIMT_Encode4(212800),
75404 /* 212564 */ /*GILLT_s64*//*Label 4915*/ GIMT_Encode4(213705),
75405 /* 212568 */ /*GILLT_s80*//*Label 4916*/ GIMT_Encode4(214754), GIMT_Encode4(0), GIMT_Encode4(0),
75406 /* 212580 */ /*GILLT_v2s64*//*Label 4917*/ GIMT_Encode4(215320), GIMT_Encode4(0),
75407 /* 212588 */ /*GILLT_v4s32*//*Label 4918*/ GIMT_Encode4(215674),
75408 /* 212592 */ /*GILLT_v4s64*//*Label 4919*/ GIMT_Encode4(216028), GIMT_Encode4(0),
75409 /* 212600 */ /*GILLT_v8s16*//*Label 4920*/ GIMT_Encode4(216351),
75410 /* 212604 */ /*GILLT_v8s32*//*Label 4921*/ GIMT_Encode4(216511),
75411 /* 212608 */ /*GILLT_v8s64*//*Label 4922*/ GIMT_Encode4(216834), GIMT_Encode4(0), GIMT_Encode4(0),
75412 /* 212620 */ /*GILLT_v16s16*//*Label 4923*/ GIMT_Encode4(216994),
75413 /* 212624 */ /*GILLT_v16s32*//*Label 4924*/ GIMT_Encode4(217154), GIMT_Encode4(0), GIMT_Encode4(0),
75414 /* 212636 */ /*GILLT_v32s16*//*Label 4925*/ GIMT_Encode4(217314),
75415 /* 212640 */ // Label 4913: @212640
75416 /* 212640 */ GIM_Try, /*On fail goto*//*Label 4927*/ GIMT_Encode4(212799),
75417 /* 212645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
75418 /* 212648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
75419 /* 212651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75420 /* 212655 */ GIM_Try, /*On fail goto*//*Label 4928*/ GIMT_Encode4(212713), // Rule ID 24282 //
75421 /* 212660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75422 /* 212663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75423 /* 212667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75424 /* 212671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75425 /* 212674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75426 /* 212678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75427 /* 212682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75428 /* 212686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75429 /* 212688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75430 /* 212695 */ // (strict_fadd:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
75431 /* 212695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
75432 /* 212698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75433 /* 212700 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75434 /* 212702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75435 /* 212706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75436 /* 212711 */ GIR_RootConstrainSelectedInstOperands,
75437 /* 212712 */ // GIR_Coverage, 24282,
75438 /* 212712 */ GIR_EraseRootFromParent_Done,
75439 /* 212713 */ // Label 4928: @212713
75440 /* 212713 */ GIM_Try, /*On fail goto*//*Label 4929*/ GIMT_Encode4(212771), // Rule ID 5957 //
75441 /* 212718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75442 /* 212721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75443 /* 212725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75444 /* 212729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75445 /* 212733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75446 /* 212736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75447 /* 212740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75448 /* 212744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75449 /* 212746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75450 /* 212753 */ // (strict_fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
75451 /* 212753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
75452 /* 212756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75453 /* 212758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75454 /* 212760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75455 /* 212764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75456 /* 212769 */ GIR_RootConstrainSelectedInstOperands,
75457 /* 212770 */ // GIR_Coverage, 5957,
75458 /* 212770 */ GIR_EraseRootFromParent_Done,
75459 /* 212771 */ // Label 4929: @212771
75460 /* 212771 */ GIM_Try, /*On fail goto*//*Label 4930*/ GIMT_Encode4(212798), // Rule ID 5955 //
75461 /* 212776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75462 /* 212779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75463 /* 212783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
75464 /* 212787 */ // (strict_fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
75465 /* 212787 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
75466 /* 212792 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75467 /* 212796 */ GIR_RootConstrainSelectedInstOperands,
75468 /* 212797 */ // GIR_Coverage, 5955,
75469 /* 212797 */ GIR_Done,
75470 /* 212798 */ // Label 4930: @212798
75471 /* 212798 */ GIM_Reject,
75472 /* 212799 */ // Label 4927: @212799
75473 /* 212799 */ GIM_Reject,
75474 /* 212800 */ // Label 4914: @212800
75475 /* 212800 */ GIM_Try, /*On fail goto*//*Label 4931*/ GIMT_Encode4(213704),
75476 /* 212805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
75477 /* 212808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
75478 /* 212811 */ GIM_Try, /*On fail goto*//*Label 4932*/ GIMT_Encode4(212876), // Rule ID 23279 //
75479 /* 212816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75480 /* 212819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75481 /* 212823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75482 /* 212827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75483 /* 212831 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75484 /* 212838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75485 /* 212842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75486 /* 212846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75487 /* 212848 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75488 /* 212855 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75489 /* 212855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
75490 /* 212858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75491 /* 212860 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75492 /* 212862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75493 /* 212866 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75494 /* 212869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75495 /* 212874 */ GIR_RootConstrainSelectedInstOperands,
75496 /* 212875 */ // GIR_Coverage, 23279,
75497 /* 212875 */ GIR_EraseRootFromParent_Done,
75498 /* 212876 */ // Label 4932: @212876
75499 /* 212876 */ GIM_Try, /*On fail goto*//*Label 4933*/ GIMT_Encode4(212941), // Rule ID 23281 //
75500 /* 212881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75501 /* 212884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75502 /* 212888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75503 /* 212892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75504 /* 212896 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75505 /* 212903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75506 /* 212907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75507 /* 212911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75508 /* 212913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75509 /* 212920 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75510 /* 212920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
75511 /* 212923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75512 /* 212925 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75513 /* 212927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75514 /* 212931 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75515 /* 212934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75516 /* 212939 */ GIR_RootConstrainSelectedInstOperands,
75517 /* 212940 */ // GIR_Coverage, 23281,
75518 /* 212940 */ GIR_EraseRootFromParent_Done,
75519 /* 212941 */ // Label 4933: @212941
75520 /* 212941 */ GIM_Try, /*On fail goto*//*Label 4934*/ GIMT_Encode4(213006), // Rule ID 23269 //
75521 /* 212946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75522 /* 212949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75523 /* 212953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75524 /* 212957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75525 /* 212961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75526 /* 212964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75527 /* 212968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75528 /* 212972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75529 /* 212976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75530 /* 212978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75531 /* 212985 */ // (strict_fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (ADD_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75532 /* 212985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
75533 /* 212988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75534 /* 212990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75535 /* 212992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75536 /* 212996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75537 /* 212999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75538 /* 213004 */ GIR_RootConstrainSelectedInstOperands,
75539 /* 213005 */ // GIR_Coverage, 23269,
75540 /* 213005 */ GIR_EraseRootFromParent_Done,
75541 /* 213006 */ // Label 4934: @213006
75542 /* 213006 */ GIM_Try, /*On fail goto*//*Label 4935*/ GIMT_Encode4(213068), // Rule ID 23414 //
75543 /* 213011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75544 /* 213014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75545 /* 213018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75546 /* 213022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75547 /* 213026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75548 /* 213029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75549 /* 213033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75550 /* 213037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75551 /* 213041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75552 /* 213043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75553 /* 213050 */ // (strict_fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75554 /* 213050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
75555 /* 213053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75556 /* 213055 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75557 /* 213057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75558 /* 213061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75559 /* 213066 */ GIR_RootConstrainSelectedInstOperands,
75560 /* 213067 */ // GIR_Coverage, 23414,
75561 /* 213067 */ GIR_EraseRootFromParent_Done,
75562 /* 213068 */ // Label 4935: @213068
75563 /* 213068 */ GIM_Try, /*On fail goto*//*Label 4936*/ GIMT_Encode4(213130), // Rule ID 23418 //
75564 /* 213073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75565 /* 213076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75566 /* 213080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75567 /* 213084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75568 /* 213088 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75569 /* 213091 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75570 /* 213095 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75571 /* 213099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75572 /* 213103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75573 /* 213105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75574 /* 213112 */ // (strict_fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75575 /* 213112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
75576 /* 213115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75577 /* 213117 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75578 /* 213119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75579 /* 213123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75580 /* 213128 */ GIR_RootConstrainSelectedInstOperands,
75581 /* 213129 */ // GIR_Coverage, 23418,
75582 /* 213129 */ GIR_EraseRootFromParent_Done,
75583 /* 213130 */ // Label 4936: @213130
75584 /* 213130 */ GIM_Try, /*On fail goto*//*Label 4937*/ GIMT_Encode4(213192), // Rule ID 24278 //
75585 /* 213135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75586 /* 213138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75587 /* 213142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75588 /* 213146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75589 /* 213150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75590 /* 213153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75591 /* 213157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75592 /* 213161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75593 /* 213165 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75594 /* 213167 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75595 /* 213174 */ // (strict_fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75596 /* 213174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
75597 /* 213177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75598 /* 213179 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75599 /* 213181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75600 /* 213185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75601 /* 213190 */ GIR_RootConstrainSelectedInstOperands,
75602 /* 213191 */ // GIR_Coverage, 24278,
75603 /* 213191 */ GIR_EraseRootFromParent_Done,
75604 /* 213192 */ // Label 4937: @213192
75605 /* 213192 */ GIM_Try, /*On fail goto*//*Label 4938*/ GIMT_Encode4(213257), // Rule ID 919 //
75606 /* 213197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75607 /* 213200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75608 /* 213204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75609 /* 213208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75610 /* 213212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75611 /* 213216 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75612 /* 213223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75613 /* 213227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75614 /* 213229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75615 /* 213236 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75616 /* 213236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
75617 /* 213239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75618 /* 213241 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75619 /* 213243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75620 /* 213247 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75621 /* 213250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75622 /* 213255 */ GIR_RootConstrainSelectedInstOperands,
75623 /* 213256 */ // GIR_Coverage, 919,
75624 /* 213256 */ GIR_EraseRootFromParent_Done,
75625 /* 213257 */ // Label 4938: @213257
75626 /* 213257 */ GIM_Try, /*On fail goto*//*Label 4939*/ GIMT_Encode4(213322), // Rule ID 921 //
75627 /* 213262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75628 /* 213265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75629 /* 213269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75630 /* 213273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75631 /* 213277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75632 /* 213281 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75633 /* 213288 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75634 /* 213292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75635 /* 213294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75636 /* 213301 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75637 /* 213301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
75638 /* 213304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75639 /* 213306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75640 /* 213308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75641 /* 213312 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75642 /* 213315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75643 /* 213320 */ GIR_RootConstrainSelectedInstOperands,
75644 /* 213321 */ // GIR_Coverage, 921,
75645 /* 213321 */ GIR_EraseRootFromParent_Done,
75646 /* 213322 */ // Label 4939: @213322
75647 /* 213322 */ GIM_Try, /*On fail goto*//*Label 4940*/ GIMT_Encode4(213387), // Rule ID 909 //
75648 /* 213327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75649 /* 213330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75650 /* 213334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75651 /* 213338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75652 /* 213342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75653 /* 213346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75654 /* 213349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75655 /* 213353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75656 /* 213357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75657 /* 213359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75658 /* 213366 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADD_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75659 /* 213366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
75660 /* 213369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75661 /* 213371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75662 /* 213373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75663 /* 213377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75664 /* 213380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75665 /* 213385 */ GIR_RootConstrainSelectedInstOperands,
75666 /* 213386 */ // GIR_Coverage, 909,
75667 /* 213386 */ GIR_EraseRootFromParent_Done,
75668 /* 213387 */ // Label 4940: @213387
75669 /* 213387 */ GIM_Try, /*On fail goto*//*Label 4941*/ GIMT_Encode4(213449), // Rule ID 2159 //
75670 /* 213392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75671 /* 213395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75672 /* 213399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75673 /* 213403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75674 /* 213407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75675 /* 213411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75676 /* 213414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75677 /* 213418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75678 /* 213422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75679 /* 213424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75680 /* 213431 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75681 /* 213431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
75682 /* 213434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75683 /* 213436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75684 /* 213438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75685 /* 213442 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75686 /* 213447 */ GIR_RootConstrainSelectedInstOperands,
75687 /* 213448 */ // GIR_Coverage, 2159,
75688 /* 213448 */ GIR_EraseRootFromParent_Done,
75689 /* 213449 */ // Label 4941: @213449
75690 /* 213449 */ GIM_Try, /*On fail goto*//*Label 4942*/ GIMT_Encode4(213511), // Rule ID 2167 //
75691 /* 213454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75692 /* 213457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75693 /* 213461 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75694 /* 213465 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75695 /* 213469 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75696 /* 213473 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75697 /* 213476 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75698 /* 213480 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75699 /* 213484 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75700 /* 213486 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75701 /* 213493 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75702 /* 213493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
75703 /* 213496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75704 /* 213498 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75705 /* 213500 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75706 /* 213504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75707 /* 213509 */ GIR_RootConstrainSelectedInstOperands,
75708 /* 213510 */ // GIR_Coverage, 2167,
75709 /* 213510 */ GIR_EraseRootFromParent_Done,
75710 /* 213511 */ // Label 4942: @213511
75711 /* 213511 */ GIM_Try, /*On fail goto*//*Label 4943*/ GIMT_Encode4(213573), // Rule ID 5919 //
75712 /* 213516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75713 /* 213519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75714 /* 213523 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75715 /* 213527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75716 /* 213531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75717 /* 213535 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75718 /* 213538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75719 /* 213542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75720 /* 213546 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75721 /* 213548 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75722 /* 213555 */ // (strict_fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
75723 /* 213555 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
75724 /* 213558 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75725 /* 213560 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75726 /* 213562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75727 /* 213566 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75728 /* 213571 */ GIR_RootConstrainSelectedInstOperands,
75729 /* 213572 */ // GIR_Coverage, 5919,
75730 /* 213572 */ GIR_EraseRootFromParent_Done,
75731 /* 213573 */ // Label 4943: @213573
75732 /* 213573 */ GIM_Try, /*On fail goto*//*Label 4944*/ GIMT_Encode4(213610), // Rule ID 885 //
75733 /* 213578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
75734 /* 213581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75735 /* 213585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75736 /* 213589 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
75737 /* 213593 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
75738 /* 213593 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
75739 /* 213598 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75740 /* 213604 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75741 /* 213608 */ GIR_RootConstrainSelectedInstOperands,
75742 /* 213609 */ // GIR_Coverage, 885,
75743 /* 213609 */ GIR_Done,
75744 /* 213610 */ // Label 4944: @213610
75745 /* 213610 */ GIM_Try, /*On fail goto*//*Label 4945*/ GIMT_Encode4(213641), // Rule ID 2157 //
75746 /* 213615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75747 /* 213618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75748 /* 213622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75749 /* 213626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75750 /* 213630 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
75751 /* 213630 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
75752 /* 213635 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75753 /* 213639 */ GIR_RootConstrainSelectedInstOperands,
75754 /* 213640 */ // GIR_Coverage, 2157,
75755 /* 213640 */ GIR_Done,
75756 /* 213641 */ // Label 4945: @213641
75757 /* 213641 */ GIM_Try, /*On fail goto*//*Label 4946*/ GIMT_Encode4(213672), // Rule ID 2165 //
75758 /* 213646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75759 /* 213649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75760 /* 213653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75761 /* 213657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
75762 /* 213661 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
75763 /* 213661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
75764 /* 213666 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75765 /* 213670 */ GIR_RootConstrainSelectedInstOperands,
75766 /* 213671 */ // GIR_Coverage, 2165,
75767 /* 213671 */ GIR_Done,
75768 /* 213672 */ // Label 4946: @213672
75769 /* 213672 */ GIM_Try, /*On fail goto*//*Label 4947*/ GIMT_Encode4(213703), // Rule ID 5917 //
75770 /* 213677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75771 /* 213680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75772 /* 213684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75773 /* 213688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
75774 /* 213692 */ // (strict_fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
75775 /* 213692 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
75776 /* 213697 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75777 /* 213701 */ GIR_RootConstrainSelectedInstOperands,
75778 /* 213702 */ // GIR_Coverage, 5917,
75779 /* 213702 */ GIR_Done,
75780 /* 213703 */ // Label 4947: @213703
75781 /* 213703 */ GIM_Reject,
75782 /* 213704 */ // Label 4931: @213704
75783 /* 213704 */ GIM_Reject,
75784 /* 213705 */ // Label 4915: @213705
75785 /* 213705 */ GIM_Try, /*On fail goto*//*Label 4948*/ GIMT_Encode4(214753),
75786 /* 213710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
75787 /* 213713 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
75788 /* 213716 */ GIM_Try, /*On fail goto*//*Label 4949*/ GIMT_Encode4(213781), // Rule ID 23283 //
75789 /* 213721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75790 /* 213724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75791 /* 213728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75792 /* 213732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75793 /* 213736 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75794 /* 213743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75795 /* 213747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75796 /* 213751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75797 /* 213753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75798 /* 213760 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75799 /* 213760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
75800 /* 213763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75801 /* 213765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75802 /* 213767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75803 /* 213771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75804 /* 213774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75805 /* 213779 */ GIR_RootConstrainSelectedInstOperands,
75806 /* 213780 */ // GIR_Coverage, 23283,
75807 /* 213780 */ GIR_EraseRootFromParent_Done,
75808 /* 213781 */ // Label 4949: @213781
75809 /* 213781 */ GIM_Try, /*On fail goto*//*Label 4950*/ GIMT_Encode4(213846), // Rule ID 23285 //
75810 /* 213786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75811 /* 213789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75812 /* 213793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75813 /* 213797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75814 /* 213801 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75815 /* 213808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75816 /* 213812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75817 /* 213816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75818 /* 213818 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75819 /* 213825 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75820 /* 213825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
75821 /* 213828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75822 /* 213830 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75823 /* 213832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75824 /* 213836 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75825 /* 213839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75826 /* 213844 */ GIR_RootConstrainSelectedInstOperands,
75827 /* 213845 */ // GIR_Coverage, 23285,
75828 /* 213845 */ GIR_EraseRootFromParent_Done,
75829 /* 213846 */ // Label 4950: @213846
75830 /* 213846 */ GIM_Try, /*On fail goto*//*Label 4951*/ GIMT_Encode4(213911), // Rule ID 23271 //
75831 /* 213851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75832 /* 213854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75833 /* 213858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75834 /* 213862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75835 /* 213866 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75836 /* 213869 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75837 /* 213873 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75838 /* 213877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75839 /* 213881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75840 /* 213883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75841 /* 213890 */ // (strict_fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (ADD_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75842 /* 213890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
75843 /* 213893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75844 /* 213895 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75845 /* 213897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75846 /* 213901 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75847 /* 213904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75848 /* 213909 */ GIR_RootConstrainSelectedInstOperands,
75849 /* 213910 */ // GIR_Coverage, 23271,
75850 /* 213910 */ GIR_EraseRootFromParent_Done,
75851 /* 213911 */ // Label 4951: @213911
75852 /* 213911 */ GIM_Try, /*On fail goto*//*Label 4952*/ GIMT_Encode4(213983), // Rule ID 23273 //
75853 /* 213916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75854 /* 213919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75855 /* 213923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75856 /* 213927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75857 /* 213931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75858 /* 213934 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75859 /* 213938 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75860 /* 213945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75861 /* 213949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75862 /* 213953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75863 /* 213955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75864 /* 213962 */ // (strict_fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (ADD_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75865 /* 213962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
75866 /* 213965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75867 /* 213967 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75868 /* 213969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75869 /* 213973 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75870 /* 213976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75871 /* 213981 */ GIR_RootConstrainSelectedInstOperands,
75872 /* 213982 */ // GIR_Coverage, 23273,
75873 /* 213982 */ GIR_EraseRootFromParent_Done,
75874 /* 213983 */ // Label 4952: @213983
75875 /* 213983 */ GIM_Try, /*On fail goto*//*Label 4953*/ GIMT_Encode4(214045), // Rule ID 23416 //
75876 /* 213988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75877 /* 213991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75878 /* 213995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75879 /* 213999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75880 /* 214003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75881 /* 214006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75882 /* 214010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75883 /* 214014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75884 /* 214018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75885 /* 214020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75886 /* 214027 */ // (strict_fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75887 /* 214027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
75888 /* 214030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75889 /* 214032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75890 /* 214034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75891 /* 214038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75892 /* 214043 */ GIR_RootConstrainSelectedInstOperands,
75893 /* 214044 */ // GIR_Coverage, 23416,
75894 /* 214044 */ GIR_EraseRootFromParent_Done,
75895 /* 214045 */ // Label 4953: @214045
75896 /* 214045 */ GIM_Try, /*On fail goto*//*Label 4954*/ GIMT_Encode4(214107), // Rule ID 23420 //
75897 /* 214050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75898 /* 214053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75899 /* 214057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75900 /* 214061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75901 /* 214065 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75902 /* 214068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75903 /* 214072 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75904 /* 214076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75905 /* 214080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75906 /* 214082 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75907 /* 214089 */ // (strict_fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75908 /* 214089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
75909 /* 214092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75910 /* 214094 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75911 /* 214096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75912 /* 214100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75913 /* 214105 */ GIR_RootConstrainSelectedInstOperands,
75914 /* 214106 */ // GIR_Coverage, 23420,
75915 /* 214106 */ GIR_EraseRootFromParent_Done,
75916 /* 214107 */ // Label 4954: @214107
75917 /* 214107 */ GIM_Try, /*On fail goto*//*Label 4955*/ GIMT_Encode4(214169), // Rule ID 24280 //
75918 /* 214112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75919 /* 214115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75920 /* 214119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75921 /* 214123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75922 /* 214127 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75923 /* 214130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75924 /* 214134 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75925 /* 214138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75926 /* 214142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75927 /* 214144 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75928 /* 214151 */ // (strict_fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75929 /* 214151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
75930 /* 214154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75931 /* 214156 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75932 /* 214158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75933 /* 214162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75934 /* 214167 */ GIR_RootConstrainSelectedInstOperands,
75935 /* 214168 */ // GIR_Coverage, 24280,
75936 /* 214168 */ GIR_EraseRootFromParent_Done,
75937 /* 214169 */ // Label 4955: @214169
75938 /* 214169 */ GIM_Try, /*On fail goto*//*Label 4956*/ GIMT_Encode4(214234), // Rule ID 923 //
75939 /* 214174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75940 /* 214177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75941 /* 214181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75942 /* 214185 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75943 /* 214189 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75944 /* 214193 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75945 /* 214200 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75946 /* 214204 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75947 /* 214206 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75948 /* 214213 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75949 /* 214213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
75950 /* 214216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75951 /* 214218 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75952 /* 214220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75953 /* 214224 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75954 /* 214227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75955 /* 214232 */ GIR_RootConstrainSelectedInstOperands,
75956 /* 214233 */ // GIR_Coverage, 923,
75957 /* 214233 */ GIR_EraseRootFromParent_Done,
75958 /* 214234 */ // Label 4956: @214234
75959 /* 214234 */ GIM_Try, /*On fail goto*//*Label 4957*/ GIMT_Encode4(214299), // Rule ID 925 //
75960 /* 214239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75961 /* 214242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75962 /* 214246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75963 /* 214250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75964 /* 214254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75965 /* 214258 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75966 /* 214265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75967 /* 214269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75968 /* 214271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75969 /* 214278 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75970 /* 214278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
75971 /* 214281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75972 /* 214283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75973 /* 214285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75974 /* 214289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75975 /* 214292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75976 /* 214297 */ GIR_RootConstrainSelectedInstOperands,
75977 /* 214298 */ // GIR_Coverage, 925,
75978 /* 214298 */ GIR_EraseRootFromParent_Done,
75979 /* 214299 */ // Label 4957: @214299
75980 /* 214299 */ GIM_Try, /*On fail goto*//*Label 4958*/ GIMT_Encode4(214364), // Rule ID 911 //
75981 /* 214304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75982 /* 214307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75983 /* 214311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75984 /* 214315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75985 /* 214319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75986 /* 214323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75987 /* 214326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75988 /* 214330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75989 /* 214334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75990 /* 214336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75991 /* 214343 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADD_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
75992 /* 214343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
75993 /* 214346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75994 /* 214348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75995 /* 214350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75996 /* 214354 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75997 /* 214357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75998 /* 214362 */ GIR_RootConstrainSelectedInstOperands,
75999 /* 214363 */ // GIR_Coverage, 911,
76000 /* 214363 */ GIR_EraseRootFromParent_Done,
76001 /* 214364 */ // Label 4958: @214364
76002 /* 214364 */ GIM_Try, /*On fail goto*//*Label 4959*/ GIMT_Encode4(214436), // Rule ID 913 //
76003 /* 214369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76004 /* 214372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76005 /* 214376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76006 /* 214380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76007 /* 214384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76008 /* 214388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76009 /* 214391 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76010 /* 214395 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76011 /* 214402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76012 /* 214406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76013 /* 214408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76014 /* 214415 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (ADD_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76015 /* 214415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
76016 /* 214418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76017 /* 214420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76018 /* 214422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76019 /* 214426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76020 /* 214429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76021 /* 214434 */ GIR_RootConstrainSelectedInstOperands,
76022 /* 214435 */ // GIR_Coverage, 913,
76023 /* 214435 */ GIR_EraseRootFromParent_Done,
76024 /* 214436 */ // Label 4959: @214436
76025 /* 214436 */ GIM_Try, /*On fail goto*//*Label 4960*/ GIMT_Encode4(214498), // Rule ID 2163 //
76026 /* 214441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76027 /* 214444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76028 /* 214448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76029 /* 214452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76030 /* 214456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76031 /* 214460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76032 /* 214463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76033 /* 214467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76034 /* 214471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76035 /* 214473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76036 /* 214480 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76037 /* 214480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
76038 /* 214483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76039 /* 214485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76040 /* 214487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76041 /* 214491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76042 /* 214496 */ GIR_RootConstrainSelectedInstOperands,
76043 /* 214497 */ // GIR_Coverage, 2163,
76044 /* 214497 */ GIR_EraseRootFromParent_Done,
76045 /* 214498 */ // Label 4960: @214498
76046 /* 214498 */ GIM_Try, /*On fail goto*//*Label 4961*/ GIMT_Encode4(214560), // Rule ID 2171 //
76047 /* 214503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76048 /* 214506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76049 /* 214510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76050 /* 214514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76051 /* 214518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76052 /* 214522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76053 /* 214525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76054 /* 214529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76055 /* 214533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76056 /* 214535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76057 /* 214542 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76058 /* 214542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
76059 /* 214545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76060 /* 214547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76061 /* 214549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76062 /* 214553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76063 /* 214558 */ GIR_RootConstrainSelectedInstOperands,
76064 /* 214559 */ // GIR_Coverage, 2171,
76065 /* 214559 */ GIR_EraseRootFromParent_Done,
76066 /* 214560 */ // Label 4961: @214560
76067 /* 214560 */ GIM_Try, /*On fail goto*//*Label 4962*/ GIMT_Encode4(214622), // Rule ID 5938 //
76068 /* 214565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76069 /* 214568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76070 /* 214572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76071 /* 214576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76072 /* 214580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76073 /* 214584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76074 /* 214587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76075 /* 214591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76076 /* 214595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76077 /* 214597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76078 /* 214604 */ // (strict_fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76079 /* 214604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
76080 /* 214607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76081 /* 214609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76082 /* 214611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76083 /* 214615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76084 /* 214620 */ GIR_RootConstrainSelectedInstOperands,
76085 /* 214621 */ // GIR_Coverage, 5938,
76086 /* 214621 */ GIR_EraseRootFromParent_Done,
76087 /* 214622 */ // Label 4962: @214622
76088 /* 214622 */ GIM_Try, /*On fail goto*//*Label 4963*/ GIMT_Encode4(214659), // Rule ID 887 //
76089 /* 214627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76090 /* 214630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76091 /* 214634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76092 /* 214638 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76093 /* 214642 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
76094 /* 214642 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
76095 /* 214647 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76096 /* 214653 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76097 /* 214657 */ GIR_RootConstrainSelectedInstOperands,
76098 /* 214658 */ // GIR_Coverage, 887,
76099 /* 214658 */ GIR_Done,
76100 /* 214659 */ // Label 4963: @214659
76101 /* 214659 */ GIM_Try, /*On fail goto*//*Label 4964*/ GIMT_Encode4(214690), // Rule ID 2161 //
76102 /* 214664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76103 /* 214667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76104 /* 214671 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76105 /* 214675 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76106 /* 214679 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76107 /* 214679 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
76108 /* 214684 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76109 /* 214688 */ GIR_RootConstrainSelectedInstOperands,
76110 /* 214689 */ // GIR_Coverage, 2161,
76111 /* 214689 */ GIR_Done,
76112 /* 214690 */ // Label 4964: @214690
76113 /* 214690 */ GIM_Try, /*On fail goto*//*Label 4965*/ GIMT_Encode4(214721), // Rule ID 2169 //
76114 /* 214695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76115 /* 214698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76116 /* 214702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76117 /* 214706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76118 /* 214710 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76119 /* 214710 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
76120 /* 214715 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76121 /* 214719 */ GIR_RootConstrainSelectedInstOperands,
76122 /* 214720 */ // GIR_Coverage, 2169,
76123 /* 214720 */ GIR_Done,
76124 /* 214721 */ // Label 4965: @214721
76125 /* 214721 */ GIM_Try, /*On fail goto*//*Label 4966*/ GIMT_Encode4(214752), // Rule ID 5936 //
76126 /* 214726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76127 /* 214729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76128 /* 214733 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76129 /* 214737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76130 /* 214741 */ // (strict_fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
76131 /* 214741 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
76132 /* 214746 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76133 /* 214750 */ GIR_RootConstrainSelectedInstOperands,
76134 /* 214751 */ // GIR_Coverage, 5936,
76135 /* 214751 */ GIR_Done,
76136 /* 214752 */ // Label 4966: @214752
76137 /* 214752 */ GIM_Reject,
76138 /* 214753 */ // Label 4948: @214753
76139 /* 214753 */ GIM_Reject,
76140 /* 214754 */ // Label 4916: @214754
76141 /* 214754 */ GIM_Try, /*On fail goto*//*Label 4967*/ GIMT_Encode4(215319),
76142 /* 214759 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
76143 /* 214762 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
76144 /* 214765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76145 /* 214769 */ GIM_Try, /*On fail goto*//*Label 4968*/ GIMT_Encode4(214830), // Rule ID 23287 //
76146 /* 214774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76147 /* 214777 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76148 /* 214781 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76149 /* 214785 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76150 /* 214792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76151 /* 214796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76152 /* 214800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76153 /* 214802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76154 /* 214809 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76155 /* 214809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
76156 /* 214812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76157 /* 214814 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76158 /* 214816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76159 /* 214820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76160 /* 214823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76161 /* 214828 */ GIR_RootConstrainSelectedInstOperands,
76162 /* 214829 */ // GIR_Coverage, 23287,
76163 /* 214829 */ GIR_EraseRootFromParent_Done,
76164 /* 214830 */ // Label 4968: @214830
76165 /* 214830 */ GIM_Try, /*On fail goto*//*Label 4969*/ GIMT_Encode4(214891), // Rule ID 23289 //
76166 /* 214835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76167 /* 214838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76168 /* 214842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76169 /* 214846 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76170 /* 214853 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76171 /* 214857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76172 /* 214861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76173 /* 214863 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76174 /* 214870 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76175 /* 214870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
76176 /* 214873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76177 /* 214875 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76178 /* 214877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76179 /* 214881 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76180 /* 214884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76181 /* 214889 */ GIR_RootConstrainSelectedInstOperands,
76182 /* 214890 */ // GIR_Coverage, 23289,
76183 /* 214890 */ GIR_EraseRootFromParent_Done,
76184 /* 214891 */ // Label 4969: @214891
76185 /* 214891 */ GIM_Try, /*On fail goto*//*Label 4970*/ GIMT_Encode4(214959), // Rule ID 23275 //
76186 /* 214896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76187 /* 214899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76188 /* 214903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76189 /* 214907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76190 /* 214910 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76191 /* 214914 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76192 /* 214921 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76193 /* 214925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76194 /* 214929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76195 /* 214931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76196 /* 214938 */ // (strict_fadd:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (ADD_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76197 /* 214938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
76198 /* 214941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76199 /* 214943 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76200 /* 214945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76201 /* 214949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76202 /* 214952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76203 /* 214957 */ GIR_RootConstrainSelectedInstOperands,
76204 /* 214958 */ // GIR_Coverage, 23275,
76205 /* 214958 */ GIR_EraseRootFromParent_Done,
76206 /* 214959 */ // Label 4970: @214959
76207 /* 214959 */ GIM_Try, /*On fail goto*//*Label 4971*/ GIMT_Encode4(215027), // Rule ID 23277 //
76208 /* 214964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76209 /* 214967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76210 /* 214971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76211 /* 214975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76212 /* 214978 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76213 /* 214982 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76214 /* 214989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76215 /* 214993 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76216 /* 214997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76217 /* 214999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76218 /* 215006 */ // (strict_fadd:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (ADD_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76219 /* 215006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
76220 /* 215009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76221 /* 215011 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76222 /* 215013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76223 /* 215017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76224 /* 215020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76225 /* 215025 */ GIR_RootConstrainSelectedInstOperands,
76226 /* 215026 */ // GIR_Coverage, 23277,
76227 /* 215026 */ GIR_EraseRootFromParent_Done,
76228 /* 215027 */ // Label 4971: @215027
76229 /* 215027 */ GIM_Try, /*On fail goto*//*Label 4972*/ GIMT_Encode4(215088), // Rule ID 927 //
76230 /* 215032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76231 /* 215035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76232 /* 215039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76233 /* 215043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76234 /* 215047 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76235 /* 215054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76236 /* 215058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76237 /* 215060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76238 /* 215067 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76239 /* 215067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
76240 /* 215070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76241 /* 215072 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76242 /* 215074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76243 /* 215078 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76244 /* 215081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76245 /* 215086 */ GIR_RootConstrainSelectedInstOperands,
76246 /* 215087 */ // GIR_Coverage, 927,
76247 /* 215087 */ GIR_EraseRootFromParent_Done,
76248 /* 215088 */ // Label 4972: @215088
76249 /* 215088 */ GIM_Try, /*On fail goto*//*Label 4973*/ GIMT_Encode4(215149), // Rule ID 929 //
76250 /* 215093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76251 /* 215096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76252 /* 215100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76253 /* 215104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76254 /* 215108 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76255 /* 215115 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76256 /* 215119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76257 /* 215121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76258 /* 215128 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76259 /* 215128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
76260 /* 215131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76261 /* 215133 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76262 /* 215135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76263 /* 215139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76264 /* 215142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76265 /* 215147 */ GIR_RootConstrainSelectedInstOperands,
76266 /* 215148 */ // GIR_Coverage, 929,
76267 /* 215148 */ GIR_EraseRootFromParent_Done,
76268 /* 215149 */ // Label 4973: @215149
76269 /* 215149 */ GIM_Try, /*On fail goto*//*Label 4974*/ GIMT_Encode4(215217), // Rule ID 915 //
76270 /* 215154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76271 /* 215157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76272 /* 215161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76273 /* 215165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76274 /* 215169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76275 /* 215172 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76276 /* 215176 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76277 /* 215183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76278 /* 215187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76279 /* 215189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76280 /* 215196 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (ADD_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76281 /* 215196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
76282 /* 215199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76283 /* 215201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76284 /* 215203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76285 /* 215207 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76286 /* 215210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76287 /* 215215 */ GIR_RootConstrainSelectedInstOperands,
76288 /* 215216 */ // GIR_Coverage, 915,
76289 /* 215216 */ GIR_EraseRootFromParent_Done,
76290 /* 215217 */ // Label 4974: @215217
76291 /* 215217 */ GIM_Try, /*On fail goto*//*Label 4975*/ GIMT_Encode4(215285), // Rule ID 917 //
76292 /* 215222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76293 /* 215225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76294 /* 215229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76295 /* 215233 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76296 /* 215237 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76297 /* 215240 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76298 /* 215244 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76299 /* 215251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76300 /* 215255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76301 /* 215257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76302 /* 215264 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (ADD_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76303 /* 215264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
76304 /* 215267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76305 /* 215269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76306 /* 215271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76307 /* 215275 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76308 /* 215278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76309 /* 215283 */ GIR_RootConstrainSelectedInstOperands,
76310 /* 215284 */ // GIR_Coverage, 917,
76311 /* 215284 */ GIR_EraseRootFromParent_Done,
76312 /* 215285 */ // Label 4975: @215285
76313 /* 215285 */ GIM_Try, /*On fail goto*//*Label 4976*/ GIMT_Encode4(215318), // Rule ID 889 //
76314 /* 215290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76315 /* 215293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76316 /* 215297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76317 /* 215301 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
76318 /* 215301 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
76319 /* 215306 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76320 /* 215312 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76321 /* 215316 */ GIR_RootConstrainSelectedInstOperands,
76322 /* 215317 */ // GIR_Coverage, 889,
76323 /* 215317 */ GIR_Done,
76324 /* 215318 */ // Label 4976: @215318
76325 /* 215318 */ GIM_Reject,
76326 /* 215319 */ // Label 4967: @215319
76327 /* 215319 */ GIM_Reject,
76328 /* 215320 */ // Label 4917: @215320
76329 /* 215320 */ GIM_Try, /*On fail goto*//*Label 4977*/ GIMT_Encode4(215673),
76330 /* 215325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
76331 /* 215328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
76332 /* 215331 */ GIM_Try, /*On fail goto*//*Label 4978*/ GIMT_Encode4(215393), // Rule ID 23404 //
76333 /* 215336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76334 /* 215339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76335 /* 215343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76336 /* 215347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76337 /* 215351 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76338 /* 215354 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76339 /* 215358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76340 /* 215362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76341 /* 215366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76342 /* 215368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76343 /* 215375 */ // (strict_fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76344 /* 215375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
76345 /* 215378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76346 /* 215380 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76347 /* 215382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76348 /* 215386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76349 /* 215391 */ GIR_RootConstrainSelectedInstOperands,
76350 /* 215392 */ // GIR_Coverage, 23404,
76351 /* 215392 */ GIR_EraseRootFromParent_Done,
76352 /* 215393 */ // Label 4978: @215393
76353 /* 215393 */ GIM_Try, /*On fail goto*//*Label 4979*/ GIMT_Encode4(215455), // Rule ID 24328 //
76354 /* 215398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76355 /* 215401 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76356 /* 215405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76357 /* 215409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76358 /* 215413 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76359 /* 215416 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76360 /* 215420 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76361 /* 215424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76362 /* 215428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76363 /* 215430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76364 /* 215437 */ // (strict_fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76365 /* 215437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
76366 /* 215440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76367 /* 215442 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76368 /* 215444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76369 /* 215448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76370 /* 215453 */ GIR_RootConstrainSelectedInstOperands,
76371 /* 215454 */ // GIR_Coverage, 24328,
76372 /* 215454 */ GIR_EraseRootFromParent_Done,
76373 /* 215455 */ // Label 4979: @215455
76374 /* 215455 */ GIM_Try, /*On fail goto*//*Label 4980*/ GIMT_Encode4(215517), // Rule ID 2139 //
76375 /* 215460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76376 /* 215463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76377 /* 215467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76378 /* 215471 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76379 /* 215475 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76380 /* 215479 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76381 /* 215482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76382 /* 215486 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76383 /* 215490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76384 /* 215492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76385 /* 215499 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76386 /* 215499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
76387 /* 215502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76388 /* 215504 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76389 /* 215506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76390 /* 215510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76391 /* 215515 */ GIR_RootConstrainSelectedInstOperands,
76392 /* 215516 */ // GIR_Coverage, 2139,
76393 /* 215516 */ GIR_EraseRootFromParent_Done,
76394 /* 215517 */ // Label 4980: @215517
76395 /* 215517 */ GIM_Try, /*On fail goto*//*Label 4981*/ GIMT_Encode4(215579), // Rule ID 6311 //
76396 /* 215522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76397 /* 215525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76398 /* 215529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76399 /* 215533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76400 /* 215537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76401 /* 215541 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76402 /* 215544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76403 /* 215548 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76404 /* 215552 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76405 /* 215554 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76406 /* 215561 */ // (strict_fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76407 /* 215561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
76408 /* 215564 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76409 /* 215566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76410 /* 215568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76411 /* 215572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76412 /* 215577 */ GIR_RootConstrainSelectedInstOperands,
76413 /* 215578 */ // GIR_Coverage, 6311,
76414 /* 215578 */ GIR_EraseRootFromParent_Done,
76415 /* 215579 */ // Label 4981: @215579
76416 /* 215579 */ GIM_Try, /*On fail goto*//*Label 4982*/ GIMT_Encode4(215610), // Rule ID 2137 //
76417 /* 215584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76418 /* 215587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76419 /* 215591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76420 /* 215595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76421 /* 215599 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
76422 /* 215599 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
76423 /* 215604 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76424 /* 215608 */ GIR_RootConstrainSelectedInstOperands,
76425 /* 215609 */ // GIR_Coverage, 2137,
76426 /* 215609 */ GIR_Done,
76427 /* 215610 */ // Label 4982: @215610
76428 /* 215610 */ GIM_Try, /*On fail goto*//*Label 4983*/ GIMT_Encode4(215641), // Rule ID 2153 //
76429 /* 215615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76430 /* 215618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76431 /* 215622 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76432 /* 215626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76433 /* 215630 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
76434 /* 215630 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
76435 /* 215635 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76436 /* 215639 */ GIR_RootConstrainSelectedInstOperands,
76437 /* 215640 */ // GIR_Coverage, 2153,
76438 /* 215640 */ GIR_Done,
76439 /* 215641 */ // Label 4983: @215641
76440 /* 215641 */ GIM_Try, /*On fail goto*//*Label 4984*/ GIMT_Encode4(215672), // Rule ID 6307 //
76441 /* 215646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76442 /* 215649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76443 /* 215653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76444 /* 215657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76445 /* 215661 */ // (strict_fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
76446 /* 215661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
76447 /* 215666 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76448 /* 215670 */ GIR_RootConstrainSelectedInstOperands,
76449 /* 215671 */ // GIR_Coverage, 6307,
76450 /* 215671 */ GIR_Done,
76451 /* 215672 */ // Label 4984: @215672
76452 /* 215672 */ GIM_Reject,
76453 /* 215673 */ // Label 4977: @215673
76454 /* 215673 */ GIM_Reject,
76455 /* 215674 */ // Label 4918: @215674
76456 /* 215674 */ GIM_Try, /*On fail goto*//*Label 4985*/ GIMT_Encode4(216027),
76457 /* 215679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
76458 /* 215682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
76459 /* 215685 */ GIM_Try, /*On fail goto*//*Label 4986*/ GIMT_Encode4(215747), // Rule ID 23402 //
76460 /* 215690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76461 /* 215693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76462 /* 215697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76463 /* 215701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76464 /* 215705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76465 /* 215708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76466 /* 215712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76467 /* 215716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76468 /* 215720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76469 /* 215722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76470 /* 215729 */ // (strict_fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76471 /* 215729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
76472 /* 215732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76473 /* 215734 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76474 /* 215736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76475 /* 215740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76476 /* 215745 */ GIR_RootConstrainSelectedInstOperands,
76477 /* 215746 */ // GIR_Coverage, 23402,
76478 /* 215746 */ GIR_EraseRootFromParent_Done,
76479 /* 215747 */ // Label 4986: @215747
76480 /* 215747 */ GIM_Try, /*On fail goto*//*Label 4987*/ GIMT_Encode4(215809), // Rule ID 24312 //
76481 /* 215752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76482 /* 215755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76483 /* 215759 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76484 /* 215763 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76485 /* 215767 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76486 /* 215770 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76487 /* 215774 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76488 /* 215778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76489 /* 215782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76490 /* 215784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76491 /* 215791 */ // (strict_fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76492 /* 215791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
76493 /* 215794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76494 /* 215796 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76495 /* 215798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76496 /* 215802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76497 /* 215807 */ GIR_RootConstrainSelectedInstOperands,
76498 /* 215808 */ // GIR_Coverage, 24312,
76499 /* 215808 */ GIR_EraseRootFromParent_Done,
76500 /* 215809 */ // Label 4987: @215809
76501 /* 215809 */ GIM_Try, /*On fail goto*//*Label 4988*/ GIMT_Encode4(215871), // Rule ID 2135 //
76502 /* 215814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76503 /* 215817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76504 /* 215821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76505 /* 215825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76506 /* 215829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76507 /* 215833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76508 /* 215836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76509 /* 215840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76510 /* 215844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76511 /* 215846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76512 /* 215853 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76513 /* 215853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
76514 /* 215856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76515 /* 215858 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76516 /* 215860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76517 /* 215864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76518 /* 215869 */ GIR_RootConstrainSelectedInstOperands,
76519 /* 215870 */ // GIR_Coverage, 2135,
76520 /* 215870 */ GIR_EraseRootFromParent_Done,
76521 /* 215871 */ // Label 4988: @215871
76522 /* 215871 */ GIM_Try, /*On fail goto*//*Label 4989*/ GIMT_Encode4(215933), // Rule ID 6287 //
76523 /* 215876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76524 /* 215879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76525 /* 215883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76526 /* 215887 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76527 /* 215891 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76528 /* 215895 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76529 /* 215898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76530 /* 215902 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76531 /* 215906 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76532 /* 215908 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76533 /* 215915 */ // (strict_fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76534 /* 215915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
76535 /* 215918 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76536 /* 215920 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76537 /* 215922 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76538 /* 215926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76539 /* 215931 */ GIR_RootConstrainSelectedInstOperands,
76540 /* 215932 */ // GIR_Coverage, 6287,
76541 /* 215932 */ GIR_EraseRootFromParent_Done,
76542 /* 215933 */ // Label 4989: @215933
76543 /* 215933 */ GIM_Try, /*On fail goto*//*Label 4990*/ GIMT_Encode4(215964), // Rule ID 2133 //
76544 /* 215938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76545 /* 215941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76546 /* 215945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76547 /* 215949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76548 /* 215953 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
76549 /* 215953 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
76550 /* 215958 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76551 /* 215962 */ GIR_RootConstrainSelectedInstOperands,
76552 /* 215963 */ // GIR_Coverage, 2133,
76553 /* 215963 */ GIR_Done,
76554 /* 215964 */ // Label 4990: @215964
76555 /* 215964 */ GIM_Try, /*On fail goto*//*Label 4991*/ GIMT_Encode4(215995), // Rule ID 2149 //
76556 /* 215969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76557 /* 215972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76558 /* 215976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76559 /* 215980 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76560 /* 215984 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
76561 /* 215984 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
76562 /* 215989 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76563 /* 215993 */ GIR_RootConstrainSelectedInstOperands,
76564 /* 215994 */ // GIR_Coverage, 2149,
76565 /* 215994 */ GIR_Done,
76566 /* 215995 */ // Label 4991: @215995
76567 /* 215995 */ GIM_Try, /*On fail goto*//*Label 4992*/ GIMT_Encode4(216026), // Rule ID 6283 //
76568 /* 216000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76569 /* 216003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76570 /* 216007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76571 /* 216011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76572 /* 216015 */ // (strict_fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
76573 /* 216015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
76574 /* 216020 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76575 /* 216024 */ GIR_RootConstrainSelectedInstOperands,
76576 /* 216025 */ // GIR_Coverage, 6283,
76577 /* 216025 */ GIR_Done,
76578 /* 216026 */ // Label 4992: @216026
76579 /* 216026 */ GIM_Reject,
76580 /* 216027 */ // Label 4985: @216027
76581 /* 216027 */ GIM_Reject,
76582 /* 216028 */ // Label 4919: @216028
76583 /* 216028 */ GIM_Try, /*On fail goto*//*Label 4993*/ GIMT_Encode4(216350),
76584 /* 216033 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
76585 /* 216036 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
76586 /* 216039 */ GIM_Try, /*On fail goto*//*Label 4994*/ GIMT_Encode4(216101), // Rule ID 23408 //
76587 /* 216044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76588 /* 216047 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76589 /* 216051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76590 /* 216055 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76591 /* 216059 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76592 /* 216062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76593 /* 216066 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76594 /* 216070 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76595 /* 216074 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76596 /* 216076 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76597 /* 216083 */ // (strict_fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76598 /* 216083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
76599 /* 216086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76600 /* 216088 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76601 /* 216090 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76602 /* 216094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76603 /* 216099 */ GIR_RootConstrainSelectedInstOperands,
76604 /* 216100 */ // GIR_Coverage, 23408,
76605 /* 216100 */ GIR_EraseRootFromParent_Done,
76606 /* 216101 */ // Label 4994: @216101
76607 /* 216101 */ GIM_Try, /*On fail goto*//*Label 4995*/ GIMT_Encode4(216163), // Rule ID 24336 //
76608 /* 216106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76609 /* 216109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76610 /* 216113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76611 /* 216117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76612 /* 216121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76613 /* 216124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76614 /* 216128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76615 /* 216132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76616 /* 216136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76617 /* 216138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76618 /* 216145 */ // (strict_fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76619 /* 216145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
76620 /* 216148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76621 /* 216150 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76622 /* 216152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76623 /* 216156 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76624 /* 216161 */ GIR_RootConstrainSelectedInstOperands,
76625 /* 216162 */ // GIR_Coverage, 24336,
76626 /* 216162 */ GIR_EraseRootFromParent_Done,
76627 /* 216163 */ // Label 4995: @216163
76628 /* 216163 */ GIM_Try, /*On fail goto*//*Label 4996*/ GIMT_Encode4(216225), // Rule ID 2147 //
76629 /* 216168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76630 /* 216171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76631 /* 216175 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76632 /* 216179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76633 /* 216183 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76634 /* 216187 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76635 /* 216190 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76636 /* 216194 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76637 /* 216198 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76638 /* 216200 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76639 /* 216207 */ // (strict_fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76640 /* 216207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
76641 /* 216210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76642 /* 216212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76643 /* 216214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76644 /* 216218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76645 /* 216223 */ GIR_RootConstrainSelectedInstOperands,
76646 /* 216224 */ // GIR_Coverage, 2147,
76647 /* 216224 */ GIR_EraseRootFromParent_Done,
76648 /* 216225 */ // Label 4996: @216225
76649 /* 216225 */ GIM_Try, /*On fail goto*//*Label 4997*/ GIMT_Encode4(216287), // Rule ID 6323 //
76650 /* 216230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76651 /* 216233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76652 /* 216237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76653 /* 216241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76654 /* 216245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76655 /* 216249 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76656 /* 216252 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76657 /* 216256 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76658 /* 216260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76659 /* 216262 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76660 /* 216269 */ // (strict_fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76661 /* 216269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
76662 /* 216272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76663 /* 216274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76664 /* 216276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76665 /* 216280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76666 /* 216285 */ GIR_RootConstrainSelectedInstOperands,
76667 /* 216286 */ // GIR_Coverage, 6323,
76668 /* 216286 */ GIR_EraseRootFromParent_Done,
76669 /* 216287 */ // Label 4997: @216287
76670 /* 216287 */ GIM_Try, /*On fail goto*//*Label 4998*/ GIMT_Encode4(216318), // Rule ID 2145 //
76671 /* 216292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76672 /* 216295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76673 /* 216299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76674 /* 216303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76675 /* 216307 */ // (strict_fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
76676 /* 216307 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
76677 /* 216312 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76678 /* 216316 */ GIR_RootConstrainSelectedInstOperands,
76679 /* 216317 */ // GIR_Coverage, 2145,
76680 /* 216317 */ GIR_Done,
76681 /* 216318 */ // Label 4998: @216318
76682 /* 216318 */ GIM_Try, /*On fail goto*//*Label 4999*/ GIMT_Encode4(216349), // Rule ID 6319 //
76683 /* 216323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76684 /* 216326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76685 /* 216330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76686 /* 216334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76687 /* 216338 */ // (strict_fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
76688 /* 216338 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
76689 /* 216343 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76690 /* 216347 */ GIR_RootConstrainSelectedInstOperands,
76691 /* 216348 */ // GIR_Coverage, 6319,
76692 /* 216348 */ GIR_Done,
76693 /* 216349 */ // Label 4999: @216349
76694 /* 216349 */ GIM_Reject,
76695 /* 216350 */ // Label 4993: @216350
76696 /* 216350 */ GIM_Reject,
76697 /* 216351 */ // Label 4920: @216351
76698 /* 216351 */ GIM_Try, /*On fail goto*//*Label 5000*/ GIMT_Encode4(216510),
76699 /* 216356 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
76700 /* 216359 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
76701 /* 216362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76702 /* 216366 */ GIM_Try, /*On fail goto*//*Label 5001*/ GIMT_Encode4(216424), // Rule ID 24352 //
76703 /* 216371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76704 /* 216374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76705 /* 216378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76706 /* 216382 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76707 /* 216385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76708 /* 216389 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76709 /* 216393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76710 /* 216397 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76711 /* 216399 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76712 /* 216406 */ // (strict_fadd:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
76713 /* 216406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
76714 /* 216409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76715 /* 216411 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76716 /* 216413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76717 /* 216417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76718 /* 216422 */ GIR_RootConstrainSelectedInstOperands,
76719 /* 216423 */ // GIR_Coverage, 24352,
76720 /* 216423 */ GIR_EraseRootFromParent_Done,
76721 /* 216424 */ // Label 5001: @216424
76722 /* 216424 */ GIM_Try, /*On fail goto*//*Label 5002*/ GIMT_Encode4(216482), // Rule ID 6347 //
76723 /* 216429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76724 /* 216432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76725 /* 216436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76726 /* 216440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76727 /* 216444 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76728 /* 216447 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76729 /* 216451 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76730 /* 216455 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76731 /* 216457 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76732 /* 216464 */ // (strict_fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
76733 /* 216464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
76734 /* 216467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76735 /* 216469 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76736 /* 216471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76737 /* 216475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76738 /* 216480 */ GIR_RootConstrainSelectedInstOperands,
76739 /* 216481 */ // GIR_Coverage, 6347,
76740 /* 216481 */ GIR_EraseRootFromParent_Done,
76741 /* 216482 */ // Label 5002: @216482
76742 /* 216482 */ GIM_Try, /*On fail goto*//*Label 5003*/ GIMT_Encode4(216509), // Rule ID 6343 //
76743 /* 216487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76744 /* 216490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76745 /* 216494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76746 /* 216498 */ // (strict_fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
76747 /* 216498 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
76748 /* 216503 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76749 /* 216507 */ GIR_RootConstrainSelectedInstOperands,
76750 /* 216508 */ // GIR_Coverage, 6343,
76751 /* 216508 */ GIR_Done,
76752 /* 216509 */ // Label 5003: @216509
76753 /* 216509 */ GIM_Reject,
76754 /* 216510 */ // Label 5000: @216510
76755 /* 216510 */ GIM_Reject,
76756 /* 216511 */ // Label 4921: @216511
76757 /* 216511 */ GIM_Try, /*On fail goto*//*Label 5004*/ GIMT_Encode4(216833),
76758 /* 216516 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
76759 /* 216519 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
76760 /* 216522 */ GIM_Try, /*On fail goto*//*Label 5005*/ GIMT_Encode4(216584), // Rule ID 23406 //
76761 /* 216527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76762 /* 216530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76763 /* 216534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76764 /* 216538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76765 /* 216542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76766 /* 216545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76767 /* 216549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76768 /* 216553 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76769 /* 216557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76770 /* 216559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76771 /* 216566 */ // (strict_fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76772 /* 216566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
76773 /* 216569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76774 /* 216571 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76775 /* 216573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76776 /* 216577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76777 /* 216582 */ GIR_RootConstrainSelectedInstOperands,
76778 /* 216583 */ // GIR_Coverage, 23406,
76779 /* 216583 */ GIR_EraseRootFromParent_Done,
76780 /* 216584 */ // Label 5005: @216584
76781 /* 216584 */ GIM_Try, /*On fail goto*//*Label 5006*/ GIMT_Encode4(216646), // Rule ID 24320 //
76782 /* 216589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76783 /* 216592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76784 /* 216596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76785 /* 216600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76786 /* 216604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76787 /* 216607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76788 /* 216611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76789 /* 216615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76790 /* 216619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76791 /* 216621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76792 /* 216628 */ // (strict_fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76793 /* 216628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
76794 /* 216631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76795 /* 216633 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76796 /* 216635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76797 /* 216639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76798 /* 216644 */ GIR_RootConstrainSelectedInstOperands,
76799 /* 216645 */ // GIR_Coverage, 24320,
76800 /* 216645 */ GIR_EraseRootFromParent_Done,
76801 /* 216646 */ // Label 5006: @216646
76802 /* 216646 */ GIM_Try, /*On fail goto*//*Label 5007*/ GIMT_Encode4(216708), // Rule ID 2143 //
76803 /* 216651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76804 /* 216654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76805 /* 216658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76806 /* 216662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76807 /* 216666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76808 /* 216670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76809 /* 216673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76810 /* 216677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76811 /* 216681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76812 /* 216683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76813 /* 216690 */ // (strict_fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76814 /* 216690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
76815 /* 216693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76816 /* 216695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76817 /* 216697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76818 /* 216701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76819 /* 216706 */ GIR_RootConstrainSelectedInstOperands,
76820 /* 216707 */ // GIR_Coverage, 2143,
76821 /* 216707 */ GIR_EraseRootFromParent_Done,
76822 /* 216708 */ // Label 5007: @216708
76823 /* 216708 */ GIM_Try, /*On fail goto*//*Label 5008*/ GIMT_Encode4(216770), // Rule ID 6299 //
76824 /* 216713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76825 /* 216716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76826 /* 216720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76827 /* 216724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76828 /* 216728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76829 /* 216732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76830 /* 216735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76831 /* 216739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76832 /* 216743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76833 /* 216745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76834 /* 216752 */ // (strict_fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76835 /* 216752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
76836 /* 216755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76837 /* 216757 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76838 /* 216759 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76839 /* 216763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76840 /* 216768 */ GIR_RootConstrainSelectedInstOperands,
76841 /* 216769 */ // GIR_Coverage, 6299,
76842 /* 216769 */ GIR_EraseRootFromParent_Done,
76843 /* 216770 */ // Label 5008: @216770
76844 /* 216770 */ GIM_Try, /*On fail goto*//*Label 5009*/ GIMT_Encode4(216801), // Rule ID 2141 //
76845 /* 216775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76846 /* 216778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76847 /* 216782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76848 /* 216786 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
76849 /* 216790 */ // (strict_fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
76850 /* 216790 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
76851 /* 216795 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76852 /* 216799 */ GIR_RootConstrainSelectedInstOperands,
76853 /* 216800 */ // GIR_Coverage, 2141,
76854 /* 216800 */ GIR_Done,
76855 /* 216801 */ // Label 5009: @216801
76856 /* 216801 */ GIM_Try, /*On fail goto*//*Label 5010*/ GIMT_Encode4(216832), // Rule ID 6295 //
76857 /* 216806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76858 /* 216809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76859 /* 216813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76860 /* 216817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76861 /* 216821 */ // (strict_fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
76862 /* 216821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
76863 /* 216826 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76864 /* 216830 */ GIR_RootConstrainSelectedInstOperands,
76865 /* 216831 */ // GIR_Coverage, 6295,
76866 /* 216831 */ GIR_Done,
76867 /* 216832 */ // Label 5010: @216832
76868 /* 216832 */ GIM_Reject,
76869 /* 216833 */ // Label 5004: @216833
76870 /* 216833 */ GIM_Reject,
76871 /* 216834 */ // Label 4922: @216834
76872 /* 216834 */ GIM_Try, /*On fail goto*//*Label 5011*/ GIMT_Encode4(216993),
76873 /* 216839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
76874 /* 216842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
76875 /* 216845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76876 /* 216849 */ GIM_Try, /*On fail goto*//*Label 5012*/ GIMT_Encode4(216907), // Rule ID 24304 //
76877 /* 216854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76878 /* 216857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76879 /* 216861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76880 /* 216865 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76881 /* 216868 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76882 /* 216872 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76883 /* 216876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76884 /* 216880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76885 /* 216882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76886 /* 216889 */ // (strict_fadd:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76887 /* 216889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
76888 /* 216892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76889 /* 216894 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76890 /* 216896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76891 /* 216900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76892 /* 216905 */ GIR_RootConstrainSelectedInstOperands,
76893 /* 216906 */ // GIR_Coverage, 24304,
76894 /* 216906 */ GIR_EraseRootFromParent_Done,
76895 /* 216907 */ // Label 5012: @216907
76896 /* 216907 */ GIM_Try, /*On fail goto*//*Label 5013*/ GIMT_Encode4(216965), // Rule ID 6275 //
76897 /* 216912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76898 /* 216915 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76899 /* 216919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76900 /* 216923 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76901 /* 216927 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76902 /* 216930 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76903 /* 216934 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76904 /* 216938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76905 /* 216940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76906 /* 216947 */ // (strict_fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76907 /* 216947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
76908 /* 216950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76909 /* 216952 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76910 /* 216954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76911 /* 216958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76912 /* 216963 */ GIR_RootConstrainSelectedInstOperands,
76913 /* 216964 */ // GIR_Coverage, 6275,
76914 /* 216964 */ GIR_EraseRootFromParent_Done,
76915 /* 216965 */ // Label 5013: @216965
76916 /* 216965 */ GIM_Try, /*On fail goto*//*Label 5014*/ GIMT_Encode4(216992), // Rule ID 6271 //
76917 /* 216970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76918 /* 216973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76919 /* 216977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76920 /* 216981 */ // (strict_fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
76921 /* 216981 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
76922 /* 216986 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76923 /* 216990 */ GIR_RootConstrainSelectedInstOperands,
76924 /* 216991 */ // GIR_Coverage, 6271,
76925 /* 216991 */ GIR_Done,
76926 /* 216992 */ // Label 5014: @216992
76927 /* 216992 */ GIM_Reject,
76928 /* 216993 */ // Label 5011: @216993
76929 /* 216993 */ GIM_Reject,
76930 /* 216994 */ // Label 4923: @216994
76931 /* 216994 */ GIM_Try, /*On fail goto*//*Label 5015*/ GIMT_Encode4(217153),
76932 /* 216999 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
76933 /* 217002 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
76934 /* 217005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76935 /* 217009 */ GIM_Try, /*On fail goto*//*Label 5016*/ GIMT_Encode4(217067), // Rule ID 24360 //
76936 /* 217014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76937 /* 217017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76938 /* 217021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76939 /* 217025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76940 /* 217028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76941 /* 217032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76942 /* 217036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76943 /* 217040 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76944 /* 217042 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76945 /* 217049 */ // (strict_fadd:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
76946 /* 217049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
76947 /* 217052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76948 /* 217054 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76949 /* 217056 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76950 /* 217060 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76951 /* 217065 */ GIR_RootConstrainSelectedInstOperands,
76952 /* 217066 */ // GIR_Coverage, 24360,
76953 /* 217066 */ GIR_EraseRootFromParent_Done,
76954 /* 217067 */ // Label 5016: @217067
76955 /* 217067 */ GIM_Try, /*On fail goto*//*Label 5017*/ GIMT_Encode4(217125), // Rule ID 6359 //
76956 /* 217072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76957 /* 217075 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76958 /* 217079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76959 /* 217083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76960 /* 217087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76961 /* 217090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76962 /* 217094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76963 /* 217098 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76964 /* 217100 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76965 /* 217107 */ // (strict_fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
76966 /* 217107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
76967 /* 217110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76968 /* 217112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76969 /* 217114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76970 /* 217118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76971 /* 217123 */ GIR_RootConstrainSelectedInstOperands,
76972 /* 217124 */ // GIR_Coverage, 6359,
76973 /* 217124 */ GIR_EraseRootFromParent_Done,
76974 /* 217125 */ // Label 5017: @217125
76975 /* 217125 */ GIM_Try, /*On fail goto*//*Label 5018*/ GIMT_Encode4(217152), // Rule ID 6355 //
76976 /* 217130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76977 /* 217133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76978 /* 217137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76979 /* 217141 */ // (strict_fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
76980 /* 217141 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
76981 /* 217146 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76982 /* 217150 */ GIR_RootConstrainSelectedInstOperands,
76983 /* 217151 */ // GIR_Coverage, 6355,
76984 /* 217151 */ GIR_Done,
76985 /* 217152 */ // Label 5018: @217152
76986 /* 217152 */ GIM_Reject,
76987 /* 217153 */ // Label 5015: @217153
76988 /* 217153 */ GIM_Reject,
76989 /* 217154 */ // Label 4924: @217154
76990 /* 217154 */ GIM_Try, /*On fail goto*//*Label 5019*/ GIMT_Encode4(217313),
76991 /* 217159 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
76992 /* 217162 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
76993 /* 217165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76994 /* 217169 */ GIM_Try, /*On fail goto*//*Label 5020*/ GIMT_Encode4(217227), // Rule ID 24296 //
76995 /* 217174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76996 /* 217177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76997 /* 217181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76998 /* 217185 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76999 /* 217188 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77000 /* 217192 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77001 /* 217196 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77002 /* 217200 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77003 /* 217202 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77004 /* 217209 */ // (strict_fadd:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77005 /* 217209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
77006 /* 217212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77007 /* 217214 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77008 /* 217216 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77009 /* 217220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77010 /* 217225 */ GIR_RootConstrainSelectedInstOperands,
77011 /* 217226 */ // GIR_Coverage, 24296,
77012 /* 217226 */ GIR_EraseRootFromParent_Done,
77013 /* 217227 */ // Label 5020: @217227
77014 /* 217227 */ GIM_Try, /*On fail goto*//*Label 5021*/ GIMT_Encode4(217285), // Rule ID 6263 //
77015 /* 217232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77016 /* 217235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77017 /* 217239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77018 /* 217243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77019 /* 217247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77020 /* 217250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77021 /* 217254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77022 /* 217258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77023 /* 217260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77024 /* 217267 */ // (strict_fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77025 /* 217267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
77026 /* 217270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77027 /* 217272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77028 /* 217274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77029 /* 217278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77030 /* 217283 */ GIR_RootConstrainSelectedInstOperands,
77031 /* 217284 */ // GIR_Coverage, 6263,
77032 /* 217284 */ GIR_EraseRootFromParent_Done,
77033 /* 217285 */ // Label 5021: @217285
77034 /* 217285 */ GIM_Try, /*On fail goto*//*Label 5022*/ GIMT_Encode4(217312), // Rule ID 6259 //
77035 /* 217290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77036 /* 217293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77037 /* 217297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77038 /* 217301 */ // (strict_fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
77039 /* 217301 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
77040 /* 217306 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77041 /* 217310 */ GIR_RootConstrainSelectedInstOperands,
77042 /* 217311 */ // GIR_Coverage, 6259,
77043 /* 217311 */ GIR_Done,
77044 /* 217312 */ // Label 5022: @217312
77045 /* 217312 */ GIM_Reject,
77046 /* 217313 */ // Label 5019: @217313
77047 /* 217313 */ GIM_Reject,
77048 /* 217314 */ // Label 4925: @217314
77049 /* 217314 */ GIM_Try, /*On fail goto*//*Label 5023*/ GIMT_Encode4(217473),
77050 /* 217319 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
77051 /* 217322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
77052 /* 217325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77053 /* 217329 */ GIM_Try, /*On fail goto*//*Label 5024*/ GIMT_Encode4(217387), // Rule ID 24344 //
77054 /* 217334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77055 /* 217337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77056 /* 217341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77057 /* 217345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77058 /* 217348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77059 /* 217352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77060 /* 217356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77061 /* 217360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77062 /* 217362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77063 /* 217369 */ // (strict_fadd:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
77064 /* 217369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
77065 /* 217372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77066 /* 217374 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77067 /* 217376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77068 /* 217380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77069 /* 217385 */ GIR_RootConstrainSelectedInstOperands,
77070 /* 217386 */ // GIR_Coverage, 24344,
77071 /* 217386 */ GIR_EraseRootFromParent_Done,
77072 /* 217387 */ // Label 5024: @217387
77073 /* 217387 */ GIM_Try, /*On fail goto*//*Label 5025*/ GIMT_Encode4(217445), // Rule ID 6335 //
77074 /* 217392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77075 /* 217395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77076 /* 217399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77077 /* 217403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77078 /* 217407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77079 /* 217410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77080 /* 217414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77081 /* 217418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77082 /* 217420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77083 /* 217427 */ // (strict_fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
77084 /* 217427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
77085 /* 217430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77086 /* 217432 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77087 /* 217434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77088 /* 217438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77089 /* 217443 */ GIR_RootConstrainSelectedInstOperands,
77090 /* 217444 */ // GIR_Coverage, 6335,
77091 /* 217444 */ GIR_EraseRootFromParent_Done,
77092 /* 217445 */ // Label 5025: @217445
77093 /* 217445 */ GIM_Try, /*On fail goto*//*Label 5026*/ GIMT_Encode4(217472), // Rule ID 6331 //
77094 /* 217450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77095 /* 217453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77096 /* 217457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77097 /* 217461 */ // (strict_fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
77098 /* 217461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
77099 /* 217466 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77100 /* 217470 */ GIR_RootConstrainSelectedInstOperands,
77101 /* 217471 */ // GIR_Coverage, 6331,
77102 /* 217471 */ GIR_Done,
77103 /* 217472 */ // Label 5026: @217472
77104 /* 217472 */ GIM_Reject,
77105 /* 217473 */ // Label 5023: @217473
77106 /* 217473 */ GIM_Reject,
77107 /* 217474 */ // Label 4926: @217474
77108 /* 217474 */ GIM_Reject,
77109 /* 217475 */ // Label 70: @217475
77110 /* 217475 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5040*/ GIMT_Encode4(221164),
77111 /* 217486 */ /*GILLT_s16*//*Label 5027*/ GIMT_Encode4(217570),
77112 /* 217490 */ /*GILLT_s32*//*Label 5028*/ GIMT_Encode4(217668),
77113 /* 217494 */ /*GILLT_s64*//*Label 5029*/ GIMT_Encode4(218387),
77114 /* 217498 */ /*GILLT_s80*//*Label 5030*/ GIMT_Encode4(219250), GIMT_Encode4(0), GIMT_Encode4(0),
77115 /* 217510 */ /*GILLT_v2s64*//*Label 5031*/ GIMT_Encode4(219816), GIMT_Encode4(0),
77116 /* 217518 */ /*GILLT_v4s32*//*Label 5032*/ GIMT_Encode4(220046),
77117 /* 217522 */ /*GILLT_v4s64*//*Label 5033*/ GIMT_Encode4(220276), GIMT_Encode4(0),
77118 /* 217530 */ /*GILLT_v8s16*//*Label 5034*/ GIMT_Encode4(220475),
77119 /* 217534 */ /*GILLT_v8s32*//*Label 5035*/ GIMT_Encode4(220573),
77120 /* 217538 */ /*GILLT_v8s64*//*Label 5036*/ GIMT_Encode4(220772), GIMT_Encode4(0), GIMT_Encode4(0),
77121 /* 217550 */ /*GILLT_v16s16*//*Label 5037*/ GIMT_Encode4(220870),
77122 /* 217554 */ /*GILLT_v16s32*//*Label 5038*/ GIMT_Encode4(220968), GIMT_Encode4(0), GIMT_Encode4(0),
77123 /* 217566 */ /*GILLT_v32s16*//*Label 5039*/ GIMT_Encode4(221066),
77124 /* 217570 */ // Label 5027: @217570
77125 /* 217570 */ GIM_Try, /*On fail goto*//*Label 5041*/ GIMT_Encode4(217667),
77126 /* 217575 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
77127 /* 217578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
77128 /* 217581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77129 /* 217585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77130 /* 217589 */ GIM_Try, /*On fail goto*//*Label 5042*/ GIMT_Encode4(217643), // Rule ID 6071 //
77131 /* 217594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77132 /* 217597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77133 /* 217601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77134 /* 217605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77135 /* 217608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77136 /* 217612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77137 /* 217616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77138 /* 217618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77139 /* 217625 */ // (strict_fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
77140 /* 217625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
77141 /* 217628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77142 /* 217630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77143 /* 217632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77144 /* 217636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77145 /* 217641 */ GIR_RootConstrainSelectedInstOperands,
77146 /* 217642 */ // GIR_Coverage, 6071,
77147 /* 217642 */ GIR_EraseRootFromParent_Done,
77148 /* 217643 */ // Label 5042: @217643
77149 /* 217643 */ GIM_Try, /*On fail goto*//*Label 5043*/ GIMT_Encode4(217666), // Rule ID 6069 //
77150 /* 217648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77151 /* 217651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77152 /* 217655 */ // (strict_fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
77153 /* 217655 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
77154 /* 217660 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77155 /* 217664 */ GIR_RootConstrainSelectedInstOperands,
77156 /* 217665 */ // GIR_Coverage, 6069,
77157 /* 217665 */ GIR_Done,
77158 /* 217666 */ // Label 5043: @217666
77159 /* 217666 */ GIM_Reject,
77160 /* 217667 */ // Label 5041: @217667
77161 /* 217667 */ GIM_Reject,
77162 /* 217668 */ // Label 5028: @217668
77163 /* 217668 */ GIM_Try, /*On fail goto*//*Label 5044*/ GIMT_Encode4(218386),
77164 /* 217673 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
77165 /* 217676 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
77166 /* 217679 */ GIM_Try, /*On fail goto*//*Label 5045*/ GIMT_Encode4(217744), // Rule ID 963 //
77167 /* 217684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77168 /* 217687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77169 /* 217691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77170 /* 217695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77171 /* 217699 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77172 /* 217706 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77173 /* 217710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77174 /* 217714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77175 /* 217716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77176 /* 217723 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77177 /* 217723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
77178 /* 217726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77179 /* 217728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77180 /* 217730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77181 /* 217734 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77182 /* 217737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77183 /* 217742 */ GIR_RootConstrainSelectedInstOperands,
77184 /* 217743 */ // GIR_Coverage, 963,
77185 /* 217743 */ GIR_EraseRootFromParent_Done,
77186 /* 217744 */ // Label 5045: @217744
77187 /* 217744 */ GIM_Try, /*On fail goto*//*Label 5046*/ GIMT_Encode4(217809), // Rule ID 965 //
77188 /* 217749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77189 /* 217752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77190 /* 217756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77191 /* 217760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77192 /* 217764 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77193 /* 217771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77194 /* 217775 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77195 /* 217779 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77196 /* 217781 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77197 /* 217788 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77198 /* 217788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
77199 /* 217791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77200 /* 217793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77201 /* 217795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77202 /* 217799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77203 /* 217802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77204 /* 217807 */ GIR_RootConstrainSelectedInstOperands,
77205 /* 217808 */ // GIR_Coverage, 965,
77206 /* 217808 */ GIR_EraseRootFromParent_Done,
77207 /* 217809 */ // Label 5046: @217809
77208 /* 217809 */ GIM_Try, /*On fail goto*//*Label 5047*/ GIMT_Encode4(217874), // Rule ID 953 //
77209 /* 217814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77210 /* 217817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77211 /* 217821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77212 /* 217825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77213 /* 217829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77214 /* 217832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77215 /* 217836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77216 /* 217840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77217 /* 217844 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77218 /* 217846 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77219 /* 217853 */ // (strict_fsub:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (SUBR_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77220 /* 217853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
77221 /* 217856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77222 /* 217858 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77223 /* 217860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77224 /* 217864 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77225 /* 217867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77226 /* 217872 */ GIR_RootConstrainSelectedInstOperands,
77227 /* 217873 */ // GIR_Coverage, 953,
77228 /* 217873 */ GIR_EraseRootFromParent_Done,
77229 /* 217874 */ // Label 5047: @217874
77230 /* 217874 */ GIM_Try, /*On fail goto*//*Label 5048*/ GIMT_Encode4(217939), // Rule ID 941 //
77231 /* 217879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77232 /* 217882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77233 /* 217886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77234 /* 217890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77235 /* 217894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77236 /* 217898 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77237 /* 217905 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77238 /* 217909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77239 /* 217911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77240 /* 217918 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77241 /* 217918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
77242 /* 217921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77243 /* 217923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77244 /* 217925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77245 /* 217929 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77246 /* 217932 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77247 /* 217937 */ GIR_RootConstrainSelectedInstOperands,
77248 /* 217938 */ // GIR_Coverage, 941,
77249 /* 217938 */ GIR_EraseRootFromParent_Done,
77250 /* 217939 */ // Label 5048: @217939
77251 /* 217939 */ GIM_Try, /*On fail goto*//*Label 5049*/ GIMT_Encode4(218004), // Rule ID 943 //
77252 /* 217944 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77253 /* 217947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77254 /* 217951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77255 /* 217955 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77256 /* 217959 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77257 /* 217963 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77258 /* 217970 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77259 /* 217974 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77260 /* 217976 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77261 /* 217983 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77262 /* 217983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
77263 /* 217986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77264 /* 217988 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77265 /* 217990 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77266 /* 217994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77267 /* 217997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77268 /* 218002 */ GIR_RootConstrainSelectedInstOperands,
77269 /* 218003 */ // GIR_Coverage, 943,
77270 /* 218003 */ GIR_EraseRootFromParent_Done,
77271 /* 218004 */ // Label 5049: @218004
77272 /* 218004 */ GIM_Try, /*On fail goto*//*Label 5050*/ GIMT_Encode4(218069), // Rule ID 931 //
77273 /* 218009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77274 /* 218012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77275 /* 218016 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77276 /* 218020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77277 /* 218024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77278 /* 218028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77279 /* 218031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77280 /* 218035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77281 /* 218039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77282 /* 218041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77283 /* 218048 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUB_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77284 /* 218048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
77285 /* 218051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77286 /* 218053 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77287 /* 218055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77288 /* 218059 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77289 /* 218062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77290 /* 218067 */ GIR_RootConstrainSelectedInstOperands,
77291 /* 218068 */ // GIR_Coverage, 931,
77292 /* 218068 */ GIR_EraseRootFromParent_Done,
77293 /* 218069 */ // Label 5050: @218069
77294 /* 218069 */ GIM_Try, /*On fail goto*//*Label 5051*/ GIMT_Encode4(218131), // Rule ID 2239 //
77295 /* 218074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77296 /* 218077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77297 /* 218081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77298 /* 218085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77299 /* 218089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77300 /* 218093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77301 /* 218096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77302 /* 218100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77303 /* 218104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77304 /* 218106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77305 /* 218113 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77306 /* 218113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
77307 /* 218116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77308 /* 218118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77309 /* 218120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77310 /* 218124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77311 /* 218129 */ GIR_RootConstrainSelectedInstOperands,
77312 /* 218130 */ // GIR_Coverage, 2239,
77313 /* 218130 */ GIR_EraseRootFromParent_Done,
77314 /* 218131 */ // Label 5051: @218131
77315 /* 218131 */ GIM_Try, /*On fail goto*//*Label 5052*/ GIMT_Encode4(218193), // Rule ID 2247 //
77316 /* 218136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77317 /* 218139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77318 /* 218143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77319 /* 218147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77320 /* 218151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77321 /* 218155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77322 /* 218158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77323 /* 218162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77324 /* 218166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77325 /* 218168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77326 /* 218175 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77327 /* 218175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
77328 /* 218178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77329 /* 218180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77330 /* 218182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77331 /* 218186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77332 /* 218191 */ GIR_RootConstrainSelectedInstOperands,
77333 /* 218192 */ // GIR_Coverage, 2247,
77334 /* 218192 */ GIR_EraseRootFromParent_Done,
77335 /* 218193 */ // Label 5052: @218193
77336 /* 218193 */ GIM_Try, /*On fail goto*//*Label 5053*/ GIMT_Encode4(218255), // Rule ID 6033 //
77337 /* 218198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77338 /* 218201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77339 /* 218205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77340 /* 218209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77341 /* 218213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77342 /* 218217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77343 /* 218220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77344 /* 218224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77345 /* 218228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77346 /* 218230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77347 /* 218237 */ // (strict_fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77348 /* 218237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
77349 /* 218240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77350 /* 218242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77351 /* 218244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77352 /* 218248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77353 /* 218253 */ GIR_RootConstrainSelectedInstOperands,
77354 /* 218254 */ // GIR_Coverage, 6033,
77355 /* 218254 */ GIR_EraseRootFromParent_Done,
77356 /* 218255 */ // Label 5053: @218255
77357 /* 218255 */ GIM_Try, /*On fail goto*//*Label 5054*/ GIMT_Encode4(218292), // Rule ID 891 //
77358 /* 218260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77359 /* 218263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77360 /* 218267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77361 /* 218271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77362 /* 218275 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
77363 /* 218275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
77364 /* 218280 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77365 /* 218286 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77366 /* 218290 */ GIR_RootConstrainSelectedInstOperands,
77367 /* 218291 */ // GIR_Coverage, 891,
77368 /* 218291 */ GIR_Done,
77369 /* 218292 */ // Label 5054: @218292
77370 /* 218292 */ GIM_Try, /*On fail goto*//*Label 5055*/ GIMT_Encode4(218323), // Rule ID 2237 //
77371 /* 218297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77372 /* 218300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77373 /* 218304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77374 /* 218308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77375 /* 218312 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77376 /* 218312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
77377 /* 218317 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77378 /* 218321 */ GIR_RootConstrainSelectedInstOperands,
77379 /* 218322 */ // GIR_Coverage, 2237,
77380 /* 218322 */ GIR_Done,
77381 /* 218323 */ // Label 5055: @218323
77382 /* 218323 */ GIM_Try, /*On fail goto*//*Label 5056*/ GIMT_Encode4(218354), // Rule ID 2245 //
77383 /* 218328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77384 /* 218331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77385 /* 218335 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77386 /* 218339 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77387 /* 218343 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77388 /* 218343 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
77389 /* 218348 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77390 /* 218352 */ GIR_RootConstrainSelectedInstOperands,
77391 /* 218353 */ // GIR_Coverage, 2245,
77392 /* 218353 */ GIR_Done,
77393 /* 218354 */ // Label 5056: @218354
77394 /* 218354 */ GIM_Try, /*On fail goto*//*Label 5057*/ GIMT_Encode4(218385), // Rule ID 6031 //
77395 /* 218359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77396 /* 218362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77397 /* 218366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77398 /* 218370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77399 /* 218374 */ // (strict_fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
77400 /* 218374 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
77401 /* 218379 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77402 /* 218383 */ GIR_RootConstrainSelectedInstOperands,
77403 /* 218384 */ // GIR_Coverage, 6031,
77404 /* 218384 */ GIR_Done,
77405 /* 218385 */ // Label 5057: @218385
77406 /* 218385 */ GIM_Reject,
77407 /* 218386 */ // Label 5044: @218386
77408 /* 218386 */ GIM_Reject,
77409 /* 218387 */ // Label 5029: @218387
77410 /* 218387 */ GIM_Try, /*On fail goto*//*Label 5058*/ GIMT_Encode4(219249),
77411 /* 218392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
77412 /* 218395 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
77413 /* 218398 */ GIM_Try, /*On fail goto*//*Label 5059*/ GIMT_Encode4(218463), // Rule ID 967 //
77414 /* 218403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77415 /* 218406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77416 /* 218410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77417 /* 218414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77418 /* 218418 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77419 /* 218425 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77420 /* 218429 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77421 /* 218433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77422 /* 218435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77423 /* 218442 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77424 /* 218442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
77425 /* 218445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77426 /* 218447 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77427 /* 218449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77428 /* 218453 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77429 /* 218456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77430 /* 218461 */ GIR_RootConstrainSelectedInstOperands,
77431 /* 218462 */ // GIR_Coverage, 967,
77432 /* 218462 */ GIR_EraseRootFromParent_Done,
77433 /* 218463 */ // Label 5059: @218463
77434 /* 218463 */ GIM_Try, /*On fail goto*//*Label 5060*/ GIMT_Encode4(218528), // Rule ID 969 //
77435 /* 218468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77436 /* 218471 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77437 /* 218475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77438 /* 218479 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77439 /* 218483 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77440 /* 218490 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77441 /* 218494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77442 /* 218498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77443 /* 218500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77444 /* 218507 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77445 /* 218507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
77446 /* 218510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77447 /* 218512 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77448 /* 218514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77449 /* 218518 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77450 /* 218521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77451 /* 218526 */ GIR_RootConstrainSelectedInstOperands,
77452 /* 218527 */ // GIR_Coverage, 969,
77453 /* 218527 */ GIR_EraseRootFromParent_Done,
77454 /* 218528 */ // Label 5060: @218528
77455 /* 218528 */ GIM_Try, /*On fail goto*//*Label 5061*/ GIMT_Encode4(218593), // Rule ID 955 //
77456 /* 218533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77457 /* 218536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77458 /* 218540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77459 /* 218544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77460 /* 218548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77461 /* 218551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77462 /* 218555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77463 /* 218559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77464 /* 218563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77465 /* 218565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77466 /* 218572 */ // (strict_fsub:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (SUBR_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77467 /* 218572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
77468 /* 218575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77469 /* 218577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77470 /* 218579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77471 /* 218583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77472 /* 218586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77473 /* 218591 */ GIR_RootConstrainSelectedInstOperands,
77474 /* 218592 */ // GIR_Coverage, 955,
77475 /* 218592 */ GIR_EraseRootFromParent_Done,
77476 /* 218593 */ // Label 5061: @218593
77477 /* 218593 */ GIM_Try, /*On fail goto*//*Label 5062*/ GIMT_Encode4(218665), // Rule ID 957 //
77478 /* 218598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77479 /* 218601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77480 /* 218605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77481 /* 218609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77482 /* 218613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77483 /* 218616 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77484 /* 218620 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77485 /* 218627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77486 /* 218631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77487 /* 218635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77488 /* 218637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77489 /* 218644 */ // (strict_fsub:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77490 /* 218644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
77491 /* 218647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77492 /* 218649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77493 /* 218651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77494 /* 218655 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77495 /* 218658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77496 /* 218663 */ GIR_RootConstrainSelectedInstOperands,
77497 /* 218664 */ // GIR_Coverage, 957,
77498 /* 218664 */ GIR_EraseRootFromParent_Done,
77499 /* 218665 */ // Label 5062: @218665
77500 /* 218665 */ GIM_Try, /*On fail goto*//*Label 5063*/ GIMT_Encode4(218730), // Rule ID 945 //
77501 /* 218670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77502 /* 218673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77503 /* 218677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77504 /* 218681 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77505 /* 218685 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77506 /* 218689 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77507 /* 218696 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77508 /* 218700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77509 /* 218702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77510 /* 218709 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77511 /* 218709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
77512 /* 218712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77513 /* 218714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77514 /* 218716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77515 /* 218720 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77516 /* 218723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77517 /* 218728 */ GIR_RootConstrainSelectedInstOperands,
77518 /* 218729 */ // GIR_Coverage, 945,
77519 /* 218729 */ GIR_EraseRootFromParent_Done,
77520 /* 218730 */ // Label 5063: @218730
77521 /* 218730 */ GIM_Try, /*On fail goto*//*Label 5064*/ GIMT_Encode4(218795), // Rule ID 947 //
77522 /* 218735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77523 /* 218738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77524 /* 218742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77525 /* 218746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77526 /* 218750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77527 /* 218754 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77528 /* 218761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77529 /* 218765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77530 /* 218767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77531 /* 218774 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77532 /* 218774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
77533 /* 218777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77534 /* 218779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77535 /* 218781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77536 /* 218785 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77537 /* 218788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77538 /* 218793 */ GIR_RootConstrainSelectedInstOperands,
77539 /* 218794 */ // GIR_Coverage, 947,
77540 /* 218794 */ GIR_EraseRootFromParent_Done,
77541 /* 218795 */ // Label 5064: @218795
77542 /* 218795 */ GIM_Try, /*On fail goto*//*Label 5065*/ GIMT_Encode4(218860), // Rule ID 933 //
77543 /* 218800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77544 /* 218803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77545 /* 218807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77546 /* 218811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77547 /* 218815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77548 /* 218819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77549 /* 218822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77550 /* 218826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77551 /* 218830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77552 /* 218832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77553 /* 218839 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUB_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77554 /* 218839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
77555 /* 218842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77556 /* 218844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77557 /* 218846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77558 /* 218850 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77559 /* 218853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77560 /* 218858 */ GIR_RootConstrainSelectedInstOperands,
77561 /* 218859 */ // GIR_Coverage, 933,
77562 /* 218859 */ GIR_EraseRootFromParent_Done,
77563 /* 218860 */ // Label 5065: @218860
77564 /* 218860 */ GIM_Try, /*On fail goto*//*Label 5066*/ GIMT_Encode4(218932), // Rule ID 935 //
77565 /* 218865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77566 /* 218868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77567 /* 218872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77568 /* 218876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77569 /* 218880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77570 /* 218884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77571 /* 218887 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77572 /* 218891 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77573 /* 218898 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77574 /* 218902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77575 /* 218904 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77576 /* 218911 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (SUB_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77577 /* 218911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
77578 /* 218914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77579 /* 218916 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77580 /* 218918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77581 /* 218922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77582 /* 218925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77583 /* 218930 */ GIR_RootConstrainSelectedInstOperands,
77584 /* 218931 */ // GIR_Coverage, 935,
77585 /* 218931 */ GIR_EraseRootFromParent_Done,
77586 /* 218932 */ // Label 5066: @218932
77587 /* 218932 */ GIM_Try, /*On fail goto*//*Label 5067*/ GIMT_Encode4(218994), // Rule ID 2243 //
77588 /* 218937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77589 /* 218940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77590 /* 218944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77591 /* 218948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77592 /* 218952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77593 /* 218956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77594 /* 218959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77595 /* 218963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77596 /* 218967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77597 /* 218969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77598 /* 218976 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77599 /* 218976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
77600 /* 218979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77601 /* 218981 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77602 /* 218983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77603 /* 218987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77604 /* 218992 */ GIR_RootConstrainSelectedInstOperands,
77605 /* 218993 */ // GIR_Coverage, 2243,
77606 /* 218993 */ GIR_EraseRootFromParent_Done,
77607 /* 218994 */ // Label 5067: @218994
77608 /* 218994 */ GIM_Try, /*On fail goto*//*Label 5068*/ GIMT_Encode4(219056), // Rule ID 2251 //
77609 /* 218999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77610 /* 219002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77611 /* 219006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77612 /* 219010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77613 /* 219014 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77614 /* 219018 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77615 /* 219021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77616 /* 219025 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77617 /* 219029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77618 /* 219031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77619 /* 219038 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77620 /* 219038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
77621 /* 219041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77622 /* 219043 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77623 /* 219045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77624 /* 219049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77625 /* 219054 */ GIR_RootConstrainSelectedInstOperands,
77626 /* 219055 */ // GIR_Coverage, 2251,
77627 /* 219055 */ GIR_EraseRootFromParent_Done,
77628 /* 219056 */ // Label 5068: @219056
77629 /* 219056 */ GIM_Try, /*On fail goto*//*Label 5069*/ GIMT_Encode4(219118), // Rule ID 6052 //
77630 /* 219061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77631 /* 219064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77632 /* 219068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77633 /* 219072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77634 /* 219076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77635 /* 219080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77636 /* 219083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77637 /* 219087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77638 /* 219091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77639 /* 219093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77640 /* 219100 */ // (strict_fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77641 /* 219100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
77642 /* 219103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77643 /* 219105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77644 /* 219107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77645 /* 219111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77646 /* 219116 */ GIR_RootConstrainSelectedInstOperands,
77647 /* 219117 */ // GIR_Coverage, 6052,
77648 /* 219117 */ GIR_EraseRootFromParent_Done,
77649 /* 219118 */ // Label 5069: @219118
77650 /* 219118 */ GIM_Try, /*On fail goto*//*Label 5070*/ GIMT_Encode4(219155), // Rule ID 893 //
77651 /* 219123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77652 /* 219126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77653 /* 219130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77654 /* 219134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77655 /* 219138 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
77656 /* 219138 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
77657 /* 219143 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77658 /* 219149 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77659 /* 219153 */ GIR_RootConstrainSelectedInstOperands,
77660 /* 219154 */ // GIR_Coverage, 893,
77661 /* 219154 */ GIR_Done,
77662 /* 219155 */ // Label 5070: @219155
77663 /* 219155 */ GIM_Try, /*On fail goto*//*Label 5071*/ GIMT_Encode4(219186), // Rule ID 2241 //
77664 /* 219160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77665 /* 219163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77666 /* 219167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77667 /* 219171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77668 /* 219175 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
77669 /* 219175 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
77670 /* 219180 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77671 /* 219184 */ GIR_RootConstrainSelectedInstOperands,
77672 /* 219185 */ // GIR_Coverage, 2241,
77673 /* 219185 */ GIR_Done,
77674 /* 219186 */ // Label 5071: @219186
77675 /* 219186 */ GIM_Try, /*On fail goto*//*Label 5072*/ GIMT_Encode4(219217), // Rule ID 2249 //
77676 /* 219191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77677 /* 219194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77678 /* 219198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77679 /* 219202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77680 /* 219206 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
77681 /* 219206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
77682 /* 219211 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77683 /* 219215 */ GIR_RootConstrainSelectedInstOperands,
77684 /* 219216 */ // GIR_Coverage, 2249,
77685 /* 219216 */ GIR_Done,
77686 /* 219217 */ // Label 5072: @219217
77687 /* 219217 */ GIM_Try, /*On fail goto*//*Label 5073*/ GIMT_Encode4(219248), // Rule ID 6050 //
77688 /* 219222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77689 /* 219225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77690 /* 219229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77691 /* 219233 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77692 /* 219237 */ // (strict_fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
77693 /* 219237 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
77694 /* 219242 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77695 /* 219246 */ GIR_RootConstrainSelectedInstOperands,
77696 /* 219247 */ // GIR_Coverage, 6050,
77697 /* 219247 */ GIR_Done,
77698 /* 219248 */ // Label 5073: @219248
77699 /* 219248 */ GIM_Reject,
77700 /* 219249 */ // Label 5058: @219249
77701 /* 219249 */ GIM_Reject,
77702 /* 219250 */ // Label 5030: @219250
77703 /* 219250 */ GIM_Try, /*On fail goto*//*Label 5074*/ GIMT_Encode4(219815),
77704 /* 219255 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
77705 /* 219258 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
77706 /* 219261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77707 /* 219265 */ GIM_Try, /*On fail goto*//*Label 5075*/ GIMT_Encode4(219326), // Rule ID 971 //
77708 /* 219270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77709 /* 219273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77710 /* 219277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77711 /* 219281 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77712 /* 219288 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77713 /* 219292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77714 /* 219296 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77715 /* 219298 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77716 /* 219305 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77717 /* 219305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
77718 /* 219308 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77719 /* 219310 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77720 /* 219312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77721 /* 219316 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77722 /* 219319 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77723 /* 219324 */ GIR_RootConstrainSelectedInstOperands,
77724 /* 219325 */ // GIR_Coverage, 971,
77725 /* 219325 */ GIR_EraseRootFromParent_Done,
77726 /* 219326 */ // Label 5075: @219326
77727 /* 219326 */ GIM_Try, /*On fail goto*//*Label 5076*/ GIMT_Encode4(219387), // Rule ID 973 //
77728 /* 219331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77729 /* 219334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77730 /* 219338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77731 /* 219342 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77732 /* 219349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77733 /* 219353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77734 /* 219357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77735 /* 219359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77736 /* 219366 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77737 /* 219366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
77738 /* 219369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77739 /* 219371 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77740 /* 219373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77741 /* 219377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77742 /* 219380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77743 /* 219385 */ GIR_RootConstrainSelectedInstOperands,
77744 /* 219386 */ // GIR_Coverage, 973,
77745 /* 219386 */ GIR_EraseRootFromParent_Done,
77746 /* 219387 */ // Label 5076: @219387
77747 /* 219387 */ GIM_Try, /*On fail goto*//*Label 5077*/ GIMT_Encode4(219455), // Rule ID 959 //
77748 /* 219392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77749 /* 219395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77750 /* 219399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77751 /* 219403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77752 /* 219406 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77753 /* 219410 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77754 /* 219417 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77755 /* 219421 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77756 /* 219425 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77757 /* 219427 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77758 /* 219434 */ // (strict_fsub:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77759 /* 219434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
77760 /* 219437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77761 /* 219439 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77762 /* 219441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77763 /* 219445 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77764 /* 219448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77765 /* 219453 */ GIR_RootConstrainSelectedInstOperands,
77766 /* 219454 */ // GIR_Coverage, 959,
77767 /* 219454 */ GIR_EraseRootFromParent_Done,
77768 /* 219455 */ // Label 5077: @219455
77769 /* 219455 */ GIM_Try, /*On fail goto*//*Label 5078*/ GIMT_Encode4(219523), // Rule ID 961 //
77770 /* 219460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77771 /* 219463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77772 /* 219467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77773 /* 219471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77774 /* 219474 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77775 /* 219478 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
77776 /* 219485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77777 /* 219489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77778 /* 219493 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77779 /* 219495 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77780 /* 219502 */ // (strict_fsub:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (SUBR_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77781 /* 219502 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
77782 /* 219505 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77783 /* 219507 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77784 /* 219509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77785 /* 219513 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77786 /* 219516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77787 /* 219521 */ GIR_RootConstrainSelectedInstOperands,
77788 /* 219522 */ // GIR_Coverage, 961,
77789 /* 219522 */ GIR_EraseRootFromParent_Done,
77790 /* 219523 */ // Label 5078: @219523
77791 /* 219523 */ GIM_Try, /*On fail goto*//*Label 5079*/ GIMT_Encode4(219584), // Rule ID 949 //
77792 /* 219528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77793 /* 219531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77794 /* 219535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77795 /* 219539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77796 /* 219543 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77797 /* 219550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77798 /* 219554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77799 /* 219556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77800 /* 219563 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77801 /* 219563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
77802 /* 219566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77803 /* 219568 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77804 /* 219570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77805 /* 219574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77806 /* 219577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77807 /* 219582 */ GIR_RootConstrainSelectedInstOperands,
77808 /* 219583 */ // GIR_Coverage, 949,
77809 /* 219583 */ GIR_EraseRootFromParent_Done,
77810 /* 219584 */ // Label 5079: @219584
77811 /* 219584 */ GIM_Try, /*On fail goto*//*Label 5080*/ GIMT_Encode4(219645), // Rule ID 951 //
77812 /* 219589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77813 /* 219592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77814 /* 219596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77815 /* 219600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77816 /* 219604 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77817 /* 219611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77818 /* 219615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77819 /* 219617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77820 /* 219624 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77821 /* 219624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
77822 /* 219627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77823 /* 219629 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77824 /* 219631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77825 /* 219635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77826 /* 219638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77827 /* 219643 */ GIR_RootConstrainSelectedInstOperands,
77828 /* 219644 */ // GIR_Coverage, 951,
77829 /* 219644 */ GIR_EraseRootFromParent_Done,
77830 /* 219645 */ // Label 5080: @219645
77831 /* 219645 */ GIM_Try, /*On fail goto*//*Label 5081*/ GIMT_Encode4(219713), // Rule ID 937 //
77832 /* 219650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77833 /* 219653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77834 /* 219657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77835 /* 219661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77836 /* 219665 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77837 /* 219668 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77838 /* 219672 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77839 /* 219679 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77840 /* 219683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77841 /* 219685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77842 /* 219692 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (SUB_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77843 /* 219692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
77844 /* 219695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77845 /* 219697 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77846 /* 219699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77847 /* 219703 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77848 /* 219706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77849 /* 219711 */ GIR_RootConstrainSelectedInstOperands,
77850 /* 219712 */ // GIR_Coverage, 937,
77851 /* 219712 */ GIR_EraseRootFromParent_Done,
77852 /* 219713 */ // Label 5081: @219713
77853 /* 219713 */ GIM_Try, /*On fail goto*//*Label 5082*/ GIMT_Encode4(219781), // Rule ID 939 //
77854 /* 219718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77855 /* 219721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77856 /* 219725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77857 /* 219729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77858 /* 219733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77859 /* 219736 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77860 /* 219740 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
77861 /* 219747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77862 /* 219751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77863 /* 219753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77864 /* 219760 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (SUB_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
77865 /* 219760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
77866 /* 219763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77867 /* 219765 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77868 /* 219767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77869 /* 219771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77870 /* 219774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77871 /* 219779 */ GIR_RootConstrainSelectedInstOperands,
77872 /* 219780 */ // GIR_Coverage, 939,
77873 /* 219780 */ GIR_EraseRootFromParent_Done,
77874 /* 219781 */ // Label 5082: @219781
77875 /* 219781 */ GIM_Try, /*On fail goto*//*Label 5083*/ GIMT_Encode4(219814), // Rule ID 895 //
77876 /* 219786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
77877 /* 219789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77878 /* 219793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
77879 /* 219797 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
77880 /* 219797 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
77881 /* 219802 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77882 /* 219808 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77883 /* 219812 */ GIR_RootConstrainSelectedInstOperands,
77884 /* 219813 */ // GIR_Coverage, 895,
77885 /* 219813 */ GIR_Done,
77886 /* 219814 */ // Label 5083: @219814
77887 /* 219814 */ GIM_Reject,
77888 /* 219815 */ // Label 5074: @219815
77889 /* 219815 */ GIM_Reject,
77890 /* 219816 */ // Label 5031: @219816
77891 /* 219816 */ GIM_Try, /*On fail goto*//*Label 5084*/ GIMT_Encode4(220045),
77892 /* 219821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
77893 /* 219824 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
77894 /* 219827 */ GIM_Try, /*On fail goto*//*Label 5085*/ GIMT_Encode4(219889), // Rule ID 2219 //
77895 /* 219832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77896 /* 219835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77897 /* 219839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77898 /* 219843 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77899 /* 219847 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77900 /* 219851 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77901 /* 219854 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77902 /* 219858 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77903 /* 219862 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77904 /* 219864 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77905 /* 219871 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77906 /* 219871 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
77907 /* 219874 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77908 /* 219876 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77909 /* 219878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77910 /* 219882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77911 /* 219887 */ GIR_RootConstrainSelectedInstOperands,
77912 /* 219888 */ // GIR_Coverage, 2219,
77913 /* 219888 */ GIR_EraseRootFromParent_Done,
77914 /* 219889 */ // Label 5085: @219889
77915 /* 219889 */ GIM_Try, /*On fail goto*//*Label 5086*/ GIMT_Encode4(219951), // Rule ID 6545 //
77916 /* 219894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77917 /* 219897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77918 /* 219901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77919 /* 219905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77920 /* 219909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77921 /* 219913 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77922 /* 219916 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77923 /* 219920 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77924 /* 219924 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77925 /* 219926 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77926 /* 219933 */ // (strict_fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77927 /* 219933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
77928 /* 219936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77929 /* 219938 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77930 /* 219940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77931 /* 219944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77932 /* 219949 */ GIR_RootConstrainSelectedInstOperands,
77933 /* 219950 */ // GIR_Coverage, 6545,
77934 /* 219950 */ GIR_EraseRootFromParent_Done,
77935 /* 219951 */ // Label 5086: @219951
77936 /* 219951 */ GIM_Try, /*On fail goto*//*Label 5087*/ GIMT_Encode4(219982), // Rule ID 2217 //
77937 /* 219956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77938 /* 219959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77939 /* 219963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77940 /* 219967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77941 /* 219971 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77942 /* 219971 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
77943 /* 219976 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77944 /* 219980 */ GIR_RootConstrainSelectedInstOperands,
77945 /* 219981 */ // GIR_Coverage, 2217,
77946 /* 219981 */ GIR_Done,
77947 /* 219982 */ // Label 5087: @219982
77948 /* 219982 */ GIM_Try, /*On fail goto*//*Label 5088*/ GIMT_Encode4(220013), // Rule ID 2233 //
77949 /* 219987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77950 /* 219990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77951 /* 219994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77952 /* 219998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77953 /* 220002 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77954 /* 220002 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
77955 /* 220007 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77956 /* 220011 */ GIR_RootConstrainSelectedInstOperands,
77957 /* 220012 */ // GIR_Coverage, 2233,
77958 /* 220012 */ GIR_Done,
77959 /* 220013 */ // Label 5088: @220013
77960 /* 220013 */ GIM_Try, /*On fail goto*//*Label 5089*/ GIMT_Encode4(220044), // Rule ID 6541 //
77961 /* 220018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77962 /* 220021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77963 /* 220025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77964 /* 220029 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77965 /* 220033 */ // (strict_fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
77966 /* 220033 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
77967 /* 220038 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77968 /* 220042 */ GIR_RootConstrainSelectedInstOperands,
77969 /* 220043 */ // GIR_Coverage, 6541,
77970 /* 220043 */ GIR_Done,
77971 /* 220044 */ // Label 5089: @220044
77972 /* 220044 */ GIM_Reject,
77973 /* 220045 */ // Label 5084: @220045
77974 /* 220045 */ GIM_Reject,
77975 /* 220046 */ // Label 5032: @220046
77976 /* 220046 */ GIM_Try, /*On fail goto*//*Label 5090*/ GIMT_Encode4(220275),
77977 /* 220051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
77978 /* 220054 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
77979 /* 220057 */ GIM_Try, /*On fail goto*//*Label 5091*/ GIMT_Encode4(220119), // Rule ID 2215 //
77980 /* 220062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77981 /* 220065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77982 /* 220069 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77983 /* 220073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77984 /* 220077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77985 /* 220081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77986 /* 220084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77987 /* 220088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77988 /* 220092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77989 /* 220094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77990 /* 220101 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77991 /* 220101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
77992 /* 220104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77993 /* 220106 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77994 /* 220108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77995 /* 220112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77996 /* 220117 */ GIR_RootConstrainSelectedInstOperands,
77997 /* 220118 */ // GIR_Coverage, 2215,
77998 /* 220118 */ GIR_EraseRootFromParent_Done,
77999 /* 220119 */ // Label 5091: @220119
78000 /* 220119 */ GIM_Try, /*On fail goto*//*Label 5092*/ GIMT_Encode4(220181), // Rule ID 6521 //
78001 /* 220124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78002 /* 220127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78003 /* 220131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78004 /* 220135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78005 /* 220139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78006 /* 220143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78007 /* 220146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78008 /* 220150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78009 /* 220154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78010 /* 220156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78011 /* 220163 */ // (strict_fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78012 /* 220163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
78013 /* 220166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78014 /* 220168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78015 /* 220170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78016 /* 220174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78017 /* 220179 */ GIR_RootConstrainSelectedInstOperands,
78018 /* 220180 */ // GIR_Coverage, 6521,
78019 /* 220180 */ GIR_EraseRootFromParent_Done,
78020 /* 220181 */ // Label 5092: @220181
78021 /* 220181 */ GIM_Try, /*On fail goto*//*Label 5093*/ GIMT_Encode4(220212), // Rule ID 2213 //
78022 /* 220186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78023 /* 220189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78024 /* 220193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78025 /* 220197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78026 /* 220201 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78027 /* 220201 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
78028 /* 220206 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78029 /* 220210 */ GIR_RootConstrainSelectedInstOperands,
78030 /* 220211 */ // GIR_Coverage, 2213,
78031 /* 220211 */ GIR_Done,
78032 /* 220212 */ // Label 5093: @220212
78033 /* 220212 */ GIM_Try, /*On fail goto*//*Label 5094*/ GIMT_Encode4(220243), // Rule ID 2229 //
78034 /* 220217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78035 /* 220220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78036 /* 220224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78037 /* 220228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78038 /* 220232 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78039 /* 220232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
78040 /* 220237 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78041 /* 220241 */ GIR_RootConstrainSelectedInstOperands,
78042 /* 220242 */ // GIR_Coverage, 2229,
78043 /* 220242 */ GIR_Done,
78044 /* 220243 */ // Label 5094: @220243
78045 /* 220243 */ GIM_Try, /*On fail goto*//*Label 5095*/ GIMT_Encode4(220274), // Rule ID 6517 //
78046 /* 220248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78047 /* 220251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78048 /* 220255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78049 /* 220259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78050 /* 220263 */ // (strict_fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
78051 /* 220263 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
78052 /* 220268 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78053 /* 220272 */ GIR_RootConstrainSelectedInstOperands,
78054 /* 220273 */ // GIR_Coverage, 6517,
78055 /* 220273 */ GIR_Done,
78056 /* 220274 */ // Label 5095: @220274
78057 /* 220274 */ GIM_Reject,
78058 /* 220275 */ // Label 5090: @220275
78059 /* 220275 */ GIM_Reject,
78060 /* 220276 */ // Label 5033: @220276
78061 /* 220276 */ GIM_Try, /*On fail goto*//*Label 5096*/ GIMT_Encode4(220474),
78062 /* 220281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
78063 /* 220284 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
78064 /* 220287 */ GIM_Try, /*On fail goto*//*Label 5097*/ GIMT_Encode4(220349), // Rule ID 2227 //
78065 /* 220292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78066 /* 220295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78067 /* 220299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78068 /* 220303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78069 /* 220307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78070 /* 220311 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78071 /* 220314 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78072 /* 220318 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78073 /* 220322 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78074 /* 220324 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78075 /* 220331 */ // (strict_fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78076 /* 220331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
78077 /* 220334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78078 /* 220336 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78079 /* 220338 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78080 /* 220342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78081 /* 220347 */ GIR_RootConstrainSelectedInstOperands,
78082 /* 220348 */ // GIR_Coverage, 2227,
78083 /* 220348 */ GIR_EraseRootFromParent_Done,
78084 /* 220349 */ // Label 5097: @220349
78085 /* 220349 */ GIM_Try, /*On fail goto*//*Label 5098*/ GIMT_Encode4(220411), // Rule ID 6557 //
78086 /* 220354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78087 /* 220357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78088 /* 220361 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78089 /* 220365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78090 /* 220369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78091 /* 220373 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78092 /* 220376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78093 /* 220380 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78094 /* 220384 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78095 /* 220386 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78096 /* 220393 */ // (strict_fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78097 /* 220393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
78098 /* 220396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78099 /* 220398 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78100 /* 220400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78101 /* 220404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78102 /* 220409 */ GIR_RootConstrainSelectedInstOperands,
78103 /* 220410 */ // GIR_Coverage, 6557,
78104 /* 220410 */ GIR_EraseRootFromParent_Done,
78105 /* 220411 */ // Label 5098: @220411
78106 /* 220411 */ GIM_Try, /*On fail goto*//*Label 5099*/ GIMT_Encode4(220442), // Rule ID 2225 //
78107 /* 220416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78108 /* 220419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78109 /* 220423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78110 /* 220427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78111 /* 220431 */ // (strict_fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
78112 /* 220431 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
78113 /* 220436 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78114 /* 220440 */ GIR_RootConstrainSelectedInstOperands,
78115 /* 220441 */ // GIR_Coverage, 2225,
78116 /* 220441 */ GIR_Done,
78117 /* 220442 */ // Label 5099: @220442
78118 /* 220442 */ GIM_Try, /*On fail goto*//*Label 5100*/ GIMT_Encode4(220473), // Rule ID 6553 //
78119 /* 220447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78120 /* 220450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78121 /* 220454 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78122 /* 220458 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78123 /* 220462 */ // (strict_fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
78124 /* 220462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
78125 /* 220467 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78126 /* 220471 */ GIR_RootConstrainSelectedInstOperands,
78127 /* 220472 */ // GIR_Coverage, 6553,
78128 /* 220472 */ GIR_Done,
78129 /* 220473 */ // Label 5100: @220473
78130 /* 220473 */ GIM_Reject,
78131 /* 220474 */ // Label 5096: @220474
78132 /* 220474 */ GIM_Reject,
78133 /* 220475 */ // Label 5034: @220475
78134 /* 220475 */ GIM_Try, /*On fail goto*//*Label 5101*/ GIMT_Encode4(220572),
78135 /* 220480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
78136 /* 220483 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
78137 /* 220486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78138 /* 220490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78139 /* 220494 */ GIM_Try, /*On fail goto*//*Label 5102*/ GIMT_Encode4(220548), // Rule ID 6581 //
78140 /* 220499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78141 /* 220502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78142 /* 220506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78143 /* 220510 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78144 /* 220513 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78145 /* 220517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78146 /* 220521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78147 /* 220523 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78148 /* 220530 */ // (strict_fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
78149 /* 220530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
78150 /* 220533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78151 /* 220535 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78152 /* 220537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78153 /* 220541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78154 /* 220546 */ GIR_RootConstrainSelectedInstOperands,
78155 /* 220547 */ // GIR_Coverage, 6581,
78156 /* 220547 */ GIR_EraseRootFromParent_Done,
78157 /* 220548 */ // Label 5102: @220548
78158 /* 220548 */ GIM_Try, /*On fail goto*//*Label 5103*/ GIMT_Encode4(220571), // Rule ID 6577 //
78159 /* 220553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78160 /* 220556 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78161 /* 220560 */ // (strict_fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
78162 /* 220560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
78163 /* 220565 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78164 /* 220569 */ GIR_RootConstrainSelectedInstOperands,
78165 /* 220570 */ // GIR_Coverage, 6577,
78166 /* 220570 */ GIR_Done,
78167 /* 220571 */ // Label 5103: @220571
78168 /* 220571 */ GIM_Reject,
78169 /* 220572 */ // Label 5101: @220572
78170 /* 220572 */ GIM_Reject,
78171 /* 220573 */ // Label 5035: @220573
78172 /* 220573 */ GIM_Try, /*On fail goto*//*Label 5104*/ GIMT_Encode4(220771),
78173 /* 220578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
78174 /* 220581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
78175 /* 220584 */ GIM_Try, /*On fail goto*//*Label 5105*/ GIMT_Encode4(220646), // Rule ID 2223 //
78176 /* 220589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78177 /* 220592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78178 /* 220596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78179 /* 220600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78180 /* 220604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78181 /* 220608 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78182 /* 220611 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78183 /* 220615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78184 /* 220619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78185 /* 220621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78186 /* 220628 */ // (strict_fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78187 /* 220628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
78188 /* 220631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78189 /* 220633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78190 /* 220635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78191 /* 220639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78192 /* 220644 */ GIR_RootConstrainSelectedInstOperands,
78193 /* 220645 */ // GIR_Coverage, 2223,
78194 /* 220645 */ GIR_EraseRootFromParent_Done,
78195 /* 220646 */ // Label 5105: @220646
78196 /* 220646 */ GIM_Try, /*On fail goto*//*Label 5106*/ GIMT_Encode4(220708), // Rule ID 6533 //
78197 /* 220651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78198 /* 220654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78199 /* 220658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78200 /* 220662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78201 /* 220666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78202 /* 220670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78203 /* 220673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78204 /* 220677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78205 /* 220681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78206 /* 220683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78207 /* 220690 */ // (strict_fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78208 /* 220690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
78209 /* 220693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78210 /* 220695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78211 /* 220697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78212 /* 220701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78213 /* 220706 */ GIR_RootConstrainSelectedInstOperands,
78214 /* 220707 */ // GIR_Coverage, 6533,
78215 /* 220707 */ GIR_EraseRootFromParent_Done,
78216 /* 220708 */ // Label 5106: @220708
78217 /* 220708 */ GIM_Try, /*On fail goto*//*Label 5107*/ GIMT_Encode4(220739), // Rule ID 2221 //
78218 /* 220713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78219 /* 220716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78220 /* 220720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78221 /* 220724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78222 /* 220728 */ // (strict_fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
78223 /* 220728 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
78224 /* 220733 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78225 /* 220737 */ GIR_RootConstrainSelectedInstOperands,
78226 /* 220738 */ // GIR_Coverage, 2221,
78227 /* 220738 */ GIR_Done,
78228 /* 220739 */ // Label 5107: @220739
78229 /* 220739 */ GIM_Try, /*On fail goto*//*Label 5108*/ GIMT_Encode4(220770), // Rule ID 6529 //
78230 /* 220744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78231 /* 220747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78232 /* 220751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78233 /* 220755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78234 /* 220759 */ // (strict_fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
78235 /* 220759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
78236 /* 220764 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78237 /* 220768 */ GIR_RootConstrainSelectedInstOperands,
78238 /* 220769 */ // GIR_Coverage, 6529,
78239 /* 220769 */ GIR_Done,
78240 /* 220770 */ // Label 5108: @220770
78241 /* 220770 */ GIM_Reject,
78242 /* 220771 */ // Label 5104: @220771
78243 /* 220771 */ GIM_Reject,
78244 /* 220772 */ // Label 5036: @220772
78245 /* 220772 */ GIM_Try, /*On fail goto*//*Label 5109*/ GIMT_Encode4(220869),
78246 /* 220777 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
78247 /* 220780 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
78248 /* 220783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78249 /* 220787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78250 /* 220791 */ GIM_Try, /*On fail goto*//*Label 5110*/ GIMT_Encode4(220845), // Rule ID 6509 //
78251 /* 220796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78252 /* 220799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78253 /* 220803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78254 /* 220807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78255 /* 220810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78256 /* 220814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78257 /* 220818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78258 /* 220820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78259 /* 220827 */ // (strict_fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78260 /* 220827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
78261 /* 220830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78262 /* 220832 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78263 /* 220834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78264 /* 220838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78265 /* 220843 */ GIR_RootConstrainSelectedInstOperands,
78266 /* 220844 */ // GIR_Coverage, 6509,
78267 /* 220844 */ GIR_EraseRootFromParent_Done,
78268 /* 220845 */ // Label 5110: @220845
78269 /* 220845 */ GIM_Try, /*On fail goto*//*Label 5111*/ GIMT_Encode4(220868), // Rule ID 6505 //
78270 /* 220850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78271 /* 220853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78272 /* 220857 */ // (strict_fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
78273 /* 220857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
78274 /* 220862 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78275 /* 220866 */ GIR_RootConstrainSelectedInstOperands,
78276 /* 220867 */ // GIR_Coverage, 6505,
78277 /* 220867 */ GIR_Done,
78278 /* 220868 */ // Label 5111: @220868
78279 /* 220868 */ GIM_Reject,
78280 /* 220869 */ // Label 5109: @220869
78281 /* 220869 */ GIM_Reject,
78282 /* 220870 */ // Label 5037: @220870
78283 /* 220870 */ GIM_Try, /*On fail goto*//*Label 5112*/ GIMT_Encode4(220967),
78284 /* 220875 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
78285 /* 220878 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
78286 /* 220881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78287 /* 220885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78288 /* 220889 */ GIM_Try, /*On fail goto*//*Label 5113*/ GIMT_Encode4(220943), // Rule ID 6593 //
78289 /* 220894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78290 /* 220897 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78291 /* 220901 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78292 /* 220905 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78293 /* 220908 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78294 /* 220912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78295 /* 220916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78296 /* 220918 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78297 /* 220925 */ // (strict_fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
78298 /* 220925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
78299 /* 220928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78300 /* 220930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78301 /* 220932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78302 /* 220936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78303 /* 220941 */ GIR_RootConstrainSelectedInstOperands,
78304 /* 220942 */ // GIR_Coverage, 6593,
78305 /* 220942 */ GIR_EraseRootFromParent_Done,
78306 /* 220943 */ // Label 5113: @220943
78307 /* 220943 */ GIM_Try, /*On fail goto*//*Label 5114*/ GIMT_Encode4(220966), // Rule ID 6589 //
78308 /* 220948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78309 /* 220951 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78310 /* 220955 */ // (strict_fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
78311 /* 220955 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
78312 /* 220960 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78313 /* 220964 */ GIR_RootConstrainSelectedInstOperands,
78314 /* 220965 */ // GIR_Coverage, 6589,
78315 /* 220965 */ GIR_Done,
78316 /* 220966 */ // Label 5114: @220966
78317 /* 220966 */ GIM_Reject,
78318 /* 220967 */ // Label 5112: @220967
78319 /* 220967 */ GIM_Reject,
78320 /* 220968 */ // Label 5038: @220968
78321 /* 220968 */ GIM_Try, /*On fail goto*//*Label 5115*/ GIMT_Encode4(221065),
78322 /* 220973 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
78323 /* 220976 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
78324 /* 220979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78325 /* 220983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78326 /* 220987 */ GIM_Try, /*On fail goto*//*Label 5116*/ GIMT_Encode4(221041), // Rule ID 6497 //
78327 /* 220992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78328 /* 220995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78329 /* 220999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78330 /* 221003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78331 /* 221006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78332 /* 221010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78333 /* 221014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78334 /* 221016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78335 /* 221023 */ // (strict_fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78336 /* 221023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
78337 /* 221026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78338 /* 221028 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78339 /* 221030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78340 /* 221034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78341 /* 221039 */ GIR_RootConstrainSelectedInstOperands,
78342 /* 221040 */ // GIR_Coverage, 6497,
78343 /* 221040 */ GIR_EraseRootFromParent_Done,
78344 /* 221041 */ // Label 5116: @221041
78345 /* 221041 */ GIM_Try, /*On fail goto*//*Label 5117*/ GIMT_Encode4(221064), // Rule ID 6493 //
78346 /* 221046 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78347 /* 221049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78348 /* 221053 */ // (strict_fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
78349 /* 221053 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
78350 /* 221058 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78351 /* 221062 */ GIR_RootConstrainSelectedInstOperands,
78352 /* 221063 */ // GIR_Coverage, 6493,
78353 /* 221063 */ GIR_Done,
78354 /* 221064 */ // Label 5117: @221064
78355 /* 221064 */ GIM_Reject,
78356 /* 221065 */ // Label 5115: @221065
78357 /* 221065 */ GIM_Reject,
78358 /* 221066 */ // Label 5039: @221066
78359 /* 221066 */ GIM_Try, /*On fail goto*//*Label 5118*/ GIMT_Encode4(221163),
78360 /* 221071 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
78361 /* 221074 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
78362 /* 221077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78363 /* 221081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78364 /* 221085 */ GIM_Try, /*On fail goto*//*Label 5119*/ GIMT_Encode4(221139), // Rule ID 6569 //
78365 /* 221090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78366 /* 221093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78367 /* 221097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78368 /* 221101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78369 /* 221104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78370 /* 221108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78371 /* 221112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78372 /* 221114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78373 /* 221121 */ // (strict_fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
78374 /* 221121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
78375 /* 221124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78376 /* 221126 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78377 /* 221128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78378 /* 221132 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78379 /* 221137 */ GIR_RootConstrainSelectedInstOperands,
78380 /* 221138 */ // GIR_Coverage, 6569,
78381 /* 221138 */ GIR_EraseRootFromParent_Done,
78382 /* 221139 */ // Label 5119: @221139
78383 /* 221139 */ GIM_Try, /*On fail goto*//*Label 5120*/ GIMT_Encode4(221162), // Rule ID 6565 //
78384 /* 221144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78385 /* 221147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78386 /* 221151 */ // (strict_fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
78387 /* 221151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
78388 /* 221156 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78389 /* 221160 */ GIR_RootConstrainSelectedInstOperands,
78390 /* 221161 */ // GIR_Coverage, 6565,
78391 /* 221161 */ GIR_Done,
78392 /* 221162 */ // Label 5120: @221162
78393 /* 221162 */ GIM_Reject,
78394 /* 221163 */ // Label 5118: @221163
78395 /* 221163 */ GIM_Reject,
78396 /* 221164 */ // Label 5040: @221164
78397 /* 221164 */ GIM_Reject,
78398 /* 221165 */ // Label 71: @221165
78399 /* 221165 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5134*/ GIMT_Encode4(226094),
78400 /* 221176 */ /*GILLT_s16*//*Label 5121*/ GIMT_Encode4(221260),
78401 /* 221180 */ /*GILLT_s32*//*Label 5122*/ GIMT_Encode4(221420),
78402 /* 221184 */ /*GILLT_s64*//*Label 5123*/ GIMT_Encode4(222325),
78403 /* 221188 */ /*GILLT_s80*//*Label 5124*/ GIMT_Encode4(223374), GIMT_Encode4(0), GIMT_Encode4(0),
78404 /* 221200 */ /*GILLT_v2s64*//*Label 5125*/ GIMT_Encode4(223940), GIMT_Encode4(0),
78405 /* 221208 */ /*GILLT_v4s32*//*Label 5126*/ GIMT_Encode4(224294),
78406 /* 221212 */ /*GILLT_v4s64*//*Label 5127*/ GIMT_Encode4(224648), GIMT_Encode4(0),
78407 /* 221220 */ /*GILLT_v8s16*//*Label 5128*/ GIMT_Encode4(224971),
78408 /* 221224 */ /*GILLT_v8s32*//*Label 5129*/ GIMT_Encode4(225131),
78409 /* 221228 */ /*GILLT_v8s64*//*Label 5130*/ GIMT_Encode4(225454), GIMT_Encode4(0), GIMT_Encode4(0),
78410 /* 221240 */ /*GILLT_v16s16*//*Label 5131*/ GIMT_Encode4(225614),
78411 /* 221244 */ /*GILLT_v16s32*//*Label 5132*/ GIMT_Encode4(225774), GIMT_Encode4(0), GIMT_Encode4(0),
78412 /* 221256 */ /*GILLT_v32s16*//*Label 5133*/ GIMT_Encode4(225934),
78413 /* 221260 */ // Label 5121: @221260
78414 /* 221260 */ GIM_Try, /*On fail goto*//*Label 5135*/ GIMT_Encode4(221419),
78415 /* 221265 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
78416 /* 221268 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
78417 /* 221271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78418 /* 221275 */ GIM_Try, /*On fail goto*//*Label 5136*/ GIMT_Encode4(221333), // Rule ID 24288 //
78419 /* 221280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78420 /* 221283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78421 /* 221287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78422 /* 221291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78423 /* 221294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78424 /* 221298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78425 /* 221302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78426 /* 221306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78427 /* 221308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78428 /* 221315 */ // (strict_fmul:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
78429 /* 221315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
78430 /* 221318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78431 /* 221320 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78432 /* 221322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78433 /* 221326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78434 /* 221331 */ GIR_RootConstrainSelectedInstOperands,
78435 /* 221332 */ // GIR_Coverage, 24288,
78436 /* 221332 */ GIR_EraseRootFromParent_Done,
78437 /* 221333 */ // Label 5136: @221333
78438 /* 221333 */ GIM_Try, /*On fail goto*//*Label 5137*/ GIMT_Encode4(221391), // Rule ID 6014 //
78439 /* 221338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78440 /* 221341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78441 /* 221345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78442 /* 221349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78443 /* 221353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78444 /* 221356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78445 /* 221360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78446 /* 221364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78447 /* 221366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78448 /* 221373 */ // (strict_fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
78449 /* 221373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
78450 /* 221376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78451 /* 221378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78452 /* 221380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78453 /* 221384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78454 /* 221389 */ GIR_RootConstrainSelectedInstOperands,
78455 /* 221390 */ // GIR_Coverage, 6014,
78456 /* 221390 */ GIR_EraseRootFromParent_Done,
78457 /* 221391 */ // Label 5137: @221391
78458 /* 221391 */ GIM_Try, /*On fail goto*//*Label 5138*/ GIMT_Encode4(221418), // Rule ID 6012 //
78459 /* 221396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78460 /* 221399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78461 /* 221403 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
78462 /* 221407 */ // (strict_fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
78463 /* 221407 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
78464 /* 221412 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78465 /* 221416 */ GIR_RootConstrainSelectedInstOperands,
78466 /* 221417 */ // GIR_Coverage, 6012,
78467 /* 221417 */ GIR_Done,
78468 /* 221418 */ // Label 5138: @221418
78469 /* 221418 */ GIM_Reject,
78470 /* 221419 */ // Label 5135: @221419
78471 /* 221419 */ GIM_Reject,
78472 /* 221420 */ // Label 5122: @221420
78473 /* 221420 */ GIM_Try, /*On fail goto*//*Label 5139*/ GIMT_Encode4(222324),
78474 /* 221425 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
78475 /* 221428 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
78476 /* 221431 */ GIM_Try, /*On fail goto*//*Label 5140*/ GIMT_Encode4(221496), // Rule ID 23301 //
78477 /* 221436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78478 /* 221439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78479 /* 221443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78480 /* 221447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78481 /* 221451 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78482 /* 221458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78483 /* 221462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78484 /* 221466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78485 /* 221468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78486 /* 221475 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78487 /* 221475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
78488 /* 221478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78489 /* 221480 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78490 /* 221482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78491 /* 221486 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78492 /* 221489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78493 /* 221494 */ GIR_RootConstrainSelectedInstOperands,
78494 /* 221495 */ // GIR_Coverage, 23301,
78495 /* 221495 */ GIR_EraseRootFromParent_Done,
78496 /* 221496 */ // Label 5140: @221496
78497 /* 221496 */ GIM_Try, /*On fail goto*//*Label 5141*/ GIMT_Encode4(221561), // Rule ID 23303 //
78498 /* 221501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78499 /* 221504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78500 /* 221508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78501 /* 221512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78502 /* 221516 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78503 /* 221523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78504 /* 221527 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78505 /* 221531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78506 /* 221533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78507 /* 221540 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78508 /* 221540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
78509 /* 221543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78510 /* 221545 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78511 /* 221547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78512 /* 221551 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78513 /* 221554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78514 /* 221559 */ GIR_RootConstrainSelectedInstOperands,
78515 /* 221560 */ // GIR_Coverage, 23303,
78516 /* 221560 */ GIR_EraseRootFromParent_Done,
78517 /* 221561 */ // Label 5141: @221561
78518 /* 221561 */ GIM_Try, /*On fail goto*//*Label 5142*/ GIMT_Encode4(221626), // Rule ID 23291 //
78519 /* 221566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78520 /* 221569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78521 /* 221573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78522 /* 221577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78523 /* 221581 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78524 /* 221584 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78525 /* 221588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78526 /* 221592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78527 /* 221596 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78528 /* 221598 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78529 /* 221605 */ // (strict_fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (MUL_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78530 /* 221605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
78531 /* 221608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78532 /* 221610 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78533 /* 221612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78534 /* 221616 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78535 /* 221619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78536 /* 221624 */ GIR_RootConstrainSelectedInstOperands,
78537 /* 221625 */ // GIR_Coverage, 23291,
78538 /* 221625 */ GIR_EraseRootFromParent_Done,
78539 /* 221626 */ // Label 5142: @221626
78540 /* 221626 */ GIM_Try, /*On fail goto*//*Label 5143*/ GIMT_Encode4(221688), // Rule ID 23434 //
78541 /* 221631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78542 /* 221634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78543 /* 221638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78544 /* 221642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78545 /* 221646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78546 /* 221649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78547 /* 221653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78548 /* 221657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78549 /* 221661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78550 /* 221663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78551 /* 221670 */ // (strict_fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78552 /* 221670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
78553 /* 221673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78554 /* 221675 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78555 /* 221677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78556 /* 221681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78557 /* 221686 */ GIR_RootConstrainSelectedInstOperands,
78558 /* 221687 */ // GIR_Coverage, 23434,
78559 /* 221687 */ GIR_EraseRootFromParent_Done,
78560 /* 221688 */ // Label 5143: @221688
78561 /* 221688 */ GIM_Try, /*On fail goto*//*Label 5144*/ GIMT_Encode4(221750), // Rule ID 23438 //
78562 /* 221693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78563 /* 221696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78564 /* 221700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78565 /* 221704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78566 /* 221708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78567 /* 221711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78568 /* 221715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78569 /* 221719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78570 /* 221723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78571 /* 221725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78572 /* 221732 */ // (strict_fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78573 /* 221732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
78574 /* 221735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78575 /* 221737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78576 /* 221739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78577 /* 221743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78578 /* 221748 */ GIR_RootConstrainSelectedInstOperands,
78579 /* 221749 */ // GIR_Coverage, 23438,
78580 /* 221749 */ GIR_EraseRootFromParent_Done,
78581 /* 221750 */ // Label 5144: @221750
78582 /* 221750 */ GIM_Try, /*On fail goto*//*Label 5145*/ GIMT_Encode4(221812), // Rule ID 24284 //
78583 /* 221755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78584 /* 221758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78585 /* 221762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78586 /* 221766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78587 /* 221770 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78588 /* 221773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78589 /* 221777 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78590 /* 221781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78591 /* 221785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78592 /* 221787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78593 /* 221794 */ // (strict_fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78594 /* 221794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
78595 /* 221797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78596 /* 221799 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78597 /* 221801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78598 /* 221805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78599 /* 221810 */ GIR_RootConstrainSelectedInstOperands,
78600 /* 221811 */ // GIR_Coverage, 24284,
78601 /* 221811 */ GIR_EraseRootFromParent_Done,
78602 /* 221812 */ // Label 5145: @221812
78603 /* 221812 */ GIM_Try, /*On fail goto*//*Label 5146*/ GIMT_Encode4(221877), // Rule ID 985 //
78604 /* 221817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78605 /* 221820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78606 /* 221824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78607 /* 221828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78608 /* 221832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78609 /* 221836 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78610 /* 221843 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78611 /* 221847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78612 /* 221849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78613 /* 221856 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78614 /* 221856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
78615 /* 221859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78616 /* 221861 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78617 /* 221863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78618 /* 221867 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78619 /* 221870 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78620 /* 221875 */ GIR_RootConstrainSelectedInstOperands,
78621 /* 221876 */ // GIR_Coverage, 985,
78622 /* 221876 */ GIR_EraseRootFromParent_Done,
78623 /* 221877 */ // Label 5146: @221877
78624 /* 221877 */ GIM_Try, /*On fail goto*//*Label 5147*/ GIMT_Encode4(221942), // Rule ID 987 //
78625 /* 221882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78626 /* 221885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78627 /* 221889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78628 /* 221893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78629 /* 221897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78630 /* 221901 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78631 /* 221908 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78632 /* 221912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78633 /* 221914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78634 /* 221921 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78635 /* 221921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
78636 /* 221924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78637 /* 221926 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78638 /* 221928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78639 /* 221932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78640 /* 221935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78641 /* 221940 */ GIR_RootConstrainSelectedInstOperands,
78642 /* 221941 */ // GIR_Coverage, 987,
78643 /* 221941 */ GIR_EraseRootFromParent_Done,
78644 /* 221942 */ // Label 5147: @221942
78645 /* 221942 */ GIM_Try, /*On fail goto*//*Label 5148*/ GIMT_Encode4(222007), // Rule ID 975 //
78646 /* 221947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78647 /* 221950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78648 /* 221954 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78649 /* 221958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78650 /* 221962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78651 /* 221966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78652 /* 221969 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78653 /* 221973 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78654 /* 221977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78655 /* 221979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78656 /* 221986 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MUL_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78657 /* 221986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
78658 /* 221989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78659 /* 221991 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78660 /* 221993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78661 /* 221997 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78662 /* 222000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78663 /* 222005 */ GIR_RootConstrainSelectedInstOperands,
78664 /* 222006 */ // GIR_Coverage, 975,
78665 /* 222006 */ GIR_EraseRootFromParent_Done,
78666 /* 222007 */ // Label 5148: @222007
78667 /* 222007 */ GIM_Try, /*On fail goto*//*Label 5149*/ GIMT_Encode4(222069), // Rule ID 2199 //
78668 /* 222012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78669 /* 222015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78670 /* 222019 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78671 /* 222023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78672 /* 222027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78673 /* 222031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78674 /* 222034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78675 /* 222038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78676 /* 222042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78677 /* 222044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78678 /* 222051 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78679 /* 222051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
78680 /* 222054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78681 /* 222056 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78682 /* 222058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78683 /* 222062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78684 /* 222067 */ GIR_RootConstrainSelectedInstOperands,
78685 /* 222068 */ // GIR_Coverage, 2199,
78686 /* 222068 */ GIR_EraseRootFromParent_Done,
78687 /* 222069 */ // Label 5149: @222069
78688 /* 222069 */ GIM_Try, /*On fail goto*//*Label 5150*/ GIMT_Encode4(222131), // Rule ID 2207 //
78689 /* 222074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78690 /* 222077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78691 /* 222081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78692 /* 222085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78693 /* 222089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78694 /* 222093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78695 /* 222096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78696 /* 222100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78697 /* 222104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78698 /* 222106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78699 /* 222113 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78700 /* 222113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
78701 /* 222116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78702 /* 222118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78703 /* 222120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78704 /* 222124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78705 /* 222129 */ GIR_RootConstrainSelectedInstOperands,
78706 /* 222130 */ // GIR_Coverage, 2207,
78707 /* 222130 */ GIR_EraseRootFromParent_Done,
78708 /* 222131 */ // Label 5150: @222131
78709 /* 222131 */ GIM_Try, /*On fail goto*//*Label 5151*/ GIMT_Encode4(222193), // Rule ID 5976 //
78710 /* 222136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78711 /* 222139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78712 /* 222143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78713 /* 222147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78714 /* 222151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78715 /* 222155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78716 /* 222158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78717 /* 222162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78718 /* 222166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78719 /* 222168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78720 /* 222175 */ // (strict_fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
78721 /* 222175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
78722 /* 222178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78723 /* 222180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78724 /* 222182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78725 /* 222186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78726 /* 222191 */ GIR_RootConstrainSelectedInstOperands,
78727 /* 222192 */ // GIR_Coverage, 5976,
78728 /* 222192 */ GIR_EraseRootFromParent_Done,
78729 /* 222193 */ // Label 5151: @222193
78730 /* 222193 */ GIM_Try, /*On fail goto*//*Label 5152*/ GIMT_Encode4(222230), // Rule ID 897 //
78731 /* 222198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
78732 /* 222201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78733 /* 222205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78734 /* 222209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
78735 /* 222213 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
78736 /* 222213 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
78737 /* 222218 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
78738 /* 222224 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78739 /* 222228 */ GIR_RootConstrainSelectedInstOperands,
78740 /* 222229 */ // GIR_Coverage, 897,
78741 /* 222229 */ GIR_Done,
78742 /* 222230 */ // Label 5152: @222230
78743 /* 222230 */ GIM_Try, /*On fail goto*//*Label 5153*/ GIMT_Encode4(222261), // Rule ID 2197 //
78744 /* 222235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78745 /* 222238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78746 /* 222242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78747 /* 222246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78748 /* 222250 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
78749 /* 222250 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
78750 /* 222255 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78751 /* 222259 */ GIR_RootConstrainSelectedInstOperands,
78752 /* 222260 */ // GIR_Coverage, 2197,
78753 /* 222260 */ GIR_Done,
78754 /* 222261 */ // Label 5153: @222261
78755 /* 222261 */ GIM_Try, /*On fail goto*//*Label 5154*/ GIMT_Encode4(222292), // Rule ID 2205 //
78756 /* 222266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78757 /* 222269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78758 /* 222273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78759 /* 222277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
78760 /* 222281 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
78761 /* 222281 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
78762 /* 222286 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78763 /* 222290 */ GIR_RootConstrainSelectedInstOperands,
78764 /* 222291 */ // GIR_Coverage, 2205,
78765 /* 222291 */ GIR_Done,
78766 /* 222292 */ // Label 5154: @222292
78767 /* 222292 */ GIM_Try, /*On fail goto*//*Label 5155*/ GIMT_Encode4(222323), // Rule ID 5974 //
78768 /* 222297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78769 /* 222300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78770 /* 222304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78771 /* 222308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
78772 /* 222312 */ // (strict_fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
78773 /* 222312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
78774 /* 222317 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78775 /* 222321 */ GIR_RootConstrainSelectedInstOperands,
78776 /* 222322 */ // GIR_Coverage, 5974,
78777 /* 222322 */ GIR_Done,
78778 /* 222323 */ // Label 5155: @222323
78779 /* 222323 */ GIM_Reject,
78780 /* 222324 */ // Label 5139: @222324
78781 /* 222324 */ GIM_Reject,
78782 /* 222325 */ // Label 5123: @222325
78783 /* 222325 */ GIM_Try, /*On fail goto*//*Label 5156*/ GIMT_Encode4(223373),
78784 /* 222330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
78785 /* 222333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
78786 /* 222336 */ GIM_Try, /*On fail goto*//*Label 5157*/ GIMT_Encode4(222401), // Rule ID 23305 //
78787 /* 222341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78788 /* 222344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78789 /* 222348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78790 /* 222352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78791 /* 222356 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78792 /* 222363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78793 /* 222367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78794 /* 222371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78795 /* 222373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78796 /* 222380 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78797 /* 222380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
78798 /* 222383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78799 /* 222385 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78800 /* 222387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78801 /* 222391 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78802 /* 222394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78803 /* 222399 */ GIR_RootConstrainSelectedInstOperands,
78804 /* 222400 */ // GIR_Coverage, 23305,
78805 /* 222400 */ GIR_EraseRootFromParent_Done,
78806 /* 222401 */ // Label 5157: @222401
78807 /* 222401 */ GIM_Try, /*On fail goto*//*Label 5158*/ GIMT_Encode4(222466), // Rule ID 23307 //
78808 /* 222406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78809 /* 222409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78810 /* 222413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78811 /* 222417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78812 /* 222421 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78813 /* 222428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78814 /* 222432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78815 /* 222436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78816 /* 222438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78817 /* 222445 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78818 /* 222445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
78819 /* 222448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78820 /* 222450 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78821 /* 222452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78822 /* 222456 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78823 /* 222459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78824 /* 222464 */ GIR_RootConstrainSelectedInstOperands,
78825 /* 222465 */ // GIR_Coverage, 23307,
78826 /* 222465 */ GIR_EraseRootFromParent_Done,
78827 /* 222466 */ // Label 5158: @222466
78828 /* 222466 */ GIM_Try, /*On fail goto*//*Label 5159*/ GIMT_Encode4(222531), // Rule ID 23293 //
78829 /* 222471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78830 /* 222474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78831 /* 222478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78832 /* 222482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78833 /* 222486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78834 /* 222489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78835 /* 222493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78836 /* 222497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78837 /* 222501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78838 /* 222503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78839 /* 222510 */ // (strict_fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (MUL_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78840 /* 222510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
78841 /* 222513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78842 /* 222515 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78843 /* 222517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78844 /* 222521 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78845 /* 222524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78846 /* 222529 */ GIR_RootConstrainSelectedInstOperands,
78847 /* 222530 */ // GIR_Coverage, 23293,
78848 /* 222530 */ GIR_EraseRootFromParent_Done,
78849 /* 222531 */ // Label 5159: @222531
78850 /* 222531 */ GIM_Try, /*On fail goto*//*Label 5160*/ GIMT_Encode4(222603), // Rule ID 23295 //
78851 /* 222536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78852 /* 222539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78853 /* 222543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78854 /* 222547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78855 /* 222551 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78856 /* 222554 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78857 /* 222558 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78858 /* 222565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78859 /* 222569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78860 /* 222573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78861 /* 222575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78862 /* 222582 */ // (strict_fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (MUL_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78863 /* 222582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
78864 /* 222585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78865 /* 222587 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78866 /* 222589 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78867 /* 222593 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78868 /* 222596 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78869 /* 222601 */ GIR_RootConstrainSelectedInstOperands,
78870 /* 222602 */ // GIR_Coverage, 23295,
78871 /* 222602 */ GIR_EraseRootFromParent_Done,
78872 /* 222603 */ // Label 5160: @222603
78873 /* 222603 */ GIM_Try, /*On fail goto*//*Label 5161*/ GIMT_Encode4(222665), // Rule ID 23436 //
78874 /* 222608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78875 /* 222611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78876 /* 222615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78877 /* 222619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78878 /* 222623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78879 /* 222626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78880 /* 222630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78881 /* 222634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78882 /* 222638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78883 /* 222640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78884 /* 222647 */ // (strict_fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78885 /* 222647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
78886 /* 222650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78887 /* 222652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78888 /* 222654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78889 /* 222658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78890 /* 222663 */ GIR_RootConstrainSelectedInstOperands,
78891 /* 222664 */ // GIR_Coverage, 23436,
78892 /* 222664 */ GIR_EraseRootFromParent_Done,
78893 /* 222665 */ // Label 5161: @222665
78894 /* 222665 */ GIM_Try, /*On fail goto*//*Label 5162*/ GIMT_Encode4(222727), // Rule ID 23440 //
78895 /* 222670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78896 /* 222673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78897 /* 222677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78898 /* 222681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78899 /* 222685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78900 /* 222688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78901 /* 222692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78902 /* 222696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78903 /* 222700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78904 /* 222702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78905 /* 222709 */ // (strict_fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78906 /* 222709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
78907 /* 222712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78908 /* 222714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78909 /* 222716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78910 /* 222720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78911 /* 222725 */ GIR_RootConstrainSelectedInstOperands,
78912 /* 222726 */ // GIR_Coverage, 23440,
78913 /* 222726 */ GIR_EraseRootFromParent_Done,
78914 /* 222727 */ // Label 5162: @222727
78915 /* 222727 */ GIM_Try, /*On fail goto*//*Label 5163*/ GIMT_Encode4(222789), // Rule ID 24286 //
78916 /* 222732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78917 /* 222735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78918 /* 222739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78919 /* 222743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78920 /* 222747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78921 /* 222750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78922 /* 222754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78923 /* 222758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78924 /* 222762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78925 /* 222764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78926 /* 222771 */ // (strict_fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78927 /* 222771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
78928 /* 222774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78929 /* 222776 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78930 /* 222778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78931 /* 222782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78932 /* 222787 */ GIR_RootConstrainSelectedInstOperands,
78933 /* 222788 */ // GIR_Coverage, 24286,
78934 /* 222788 */ GIR_EraseRootFromParent_Done,
78935 /* 222789 */ // Label 5163: @222789
78936 /* 222789 */ GIM_Try, /*On fail goto*//*Label 5164*/ GIMT_Encode4(222854), // Rule ID 989 //
78937 /* 222794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78938 /* 222797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78939 /* 222801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78940 /* 222805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78941 /* 222809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78942 /* 222813 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78943 /* 222820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78944 /* 222824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78945 /* 222826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78946 /* 222833 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78947 /* 222833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
78948 /* 222836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78949 /* 222838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78950 /* 222840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78951 /* 222844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78952 /* 222847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78953 /* 222852 */ GIR_RootConstrainSelectedInstOperands,
78954 /* 222853 */ // GIR_Coverage, 989,
78955 /* 222853 */ GIR_EraseRootFromParent_Done,
78956 /* 222854 */ // Label 5164: @222854
78957 /* 222854 */ GIM_Try, /*On fail goto*//*Label 5165*/ GIMT_Encode4(222919), // Rule ID 991 //
78958 /* 222859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78959 /* 222862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78960 /* 222866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78961 /* 222870 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78962 /* 222874 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78963 /* 222878 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78964 /* 222885 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78965 /* 222889 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78966 /* 222891 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78967 /* 222898 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78968 /* 222898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
78969 /* 222901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78970 /* 222903 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78971 /* 222905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78972 /* 222909 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78973 /* 222912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78974 /* 222917 */ GIR_RootConstrainSelectedInstOperands,
78975 /* 222918 */ // GIR_Coverage, 991,
78976 /* 222918 */ GIR_EraseRootFromParent_Done,
78977 /* 222919 */ // Label 5165: @222919
78978 /* 222919 */ GIM_Try, /*On fail goto*//*Label 5166*/ GIMT_Encode4(222984), // Rule ID 977 //
78979 /* 222924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78980 /* 222927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78981 /* 222931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78982 /* 222935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78983 /* 222939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78984 /* 222943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78985 /* 222946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78986 /* 222950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78987 /* 222954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78988 /* 222956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78989 /* 222963 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MUL_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
78990 /* 222963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
78991 /* 222966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78992 /* 222968 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78993 /* 222970 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78994 /* 222974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78995 /* 222977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78996 /* 222982 */ GIR_RootConstrainSelectedInstOperands,
78997 /* 222983 */ // GIR_Coverage, 977,
78998 /* 222983 */ GIR_EraseRootFromParent_Done,
78999 /* 222984 */ // Label 5166: @222984
79000 /* 222984 */ GIM_Try, /*On fail goto*//*Label 5167*/ GIMT_Encode4(223056), // Rule ID 979 //
79001 /* 222989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79002 /* 222992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79003 /* 222996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79004 /* 223000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79005 /* 223004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79006 /* 223008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79007 /* 223011 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79008 /* 223015 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79009 /* 223022 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79010 /* 223026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79011 /* 223028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79012 /* 223035 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (MUL_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79013 /* 223035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
79014 /* 223038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79015 /* 223040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79016 /* 223042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79017 /* 223046 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79018 /* 223049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79019 /* 223054 */ GIR_RootConstrainSelectedInstOperands,
79020 /* 223055 */ // GIR_Coverage, 979,
79021 /* 223055 */ GIR_EraseRootFromParent_Done,
79022 /* 223056 */ // Label 5167: @223056
79023 /* 223056 */ GIM_Try, /*On fail goto*//*Label 5168*/ GIMT_Encode4(223118), // Rule ID 2203 //
79024 /* 223061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79025 /* 223064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79026 /* 223068 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79027 /* 223072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79028 /* 223076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79029 /* 223080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79030 /* 223083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79031 /* 223087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79032 /* 223091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79033 /* 223093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79034 /* 223100 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79035 /* 223100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
79036 /* 223103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79037 /* 223105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79038 /* 223107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79039 /* 223111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79040 /* 223116 */ GIR_RootConstrainSelectedInstOperands,
79041 /* 223117 */ // GIR_Coverage, 2203,
79042 /* 223117 */ GIR_EraseRootFromParent_Done,
79043 /* 223118 */ // Label 5168: @223118
79044 /* 223118 */ GIM_Try, /*On fail goto*//*Label 5169*/ GIMT_Encode4(223180), // Rule ID 2211 //
79045 /* 223123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79046 /* 223126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79047 /* 223130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79048 /* 223134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79049 /* 223138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79050 /* 223142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79051 /* 223145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79052 /* 223149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79053 /* 223153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79054 /* 223155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79055 /* 223162 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79056 /* 223162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
79057 /* 223165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79058 /* 223167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79059 /* 223169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79060 /* 223173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79061 /* 223178 */ GIR_RootConstrainSelectedInstOperands,
79062 /* 223179 */ // GIR_Coverage, 2211,
79063 /* 223179 */ GIR_EraseRootFromParent_Done,
79064 /* 223180 */ // Label 5169: @223180
79065 /* 223180 */ GIM_Try, /*On fail goto*//*Label 5170*/ GIMT_Encode4(223242), // Rule ID 5995 //
79066 /* 223185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79067 /* 223188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79068 /* 223192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79069 /* 223196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79070 /* 223200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79071 /* 223204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79072 /* 223207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79073 /* 223211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79074 /* 223215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79075 /* 223217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79076 /* 223224 */ // (strict_fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79077 /* 223224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
79078 /* 223227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79079 /* 223229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79080 /* 223231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79081 /* 223235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79082 /* 223240 */ GIR_RootConstrainSelectedInstOperands,
79083 /* 223241 */ // GIR_Coverage, 5995,
79084 /* 223241 */ GIR_EraseRootFromParent_Done,
79085 /* 223242 */ // Label 5170: @223242
79086 /* 223242 */ GIM_Try, /*On fail goto*//*Label 5171*/ GIMT_Encode4(223279), // Rule ID 899 //
79087 /* 223247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79088 /* 223250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79089 /* 223254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79090 /* 223258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79091 /* 223262 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
79092 /* 223262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
79093 /* 223267 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79094 /* 223273 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79095 /* 223277 */ GIR_RootConstrainSelectedInstOperands,
79096 /* 223278 */ // GIR_Coverage, 899,
79097 /* 223278 */ GIR_Done,
79098 /* 223279 */ // Label 5171: @223279
79099 /* 223279 */ GIM_Try, /*On fail goto*//*Label 5172*/ GIMT_Encode4(223310), // Rule ID 2201 //
79100 /* 223284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79101 /* 223287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79102 /* 223291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79103 /* 223295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79104 /* 223299 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79105 /* 223299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
79106 /* 223304 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79107 /* 223308 */ GIR_RootConstrainSelectedInstOperands,
79108 /* 223309 */ // GIR_Coverage, 2201,
79109 /* 223309 */ GIR_Done,
79110 /* 223310 */ // Label 5172: @223310
79111 /* 223310 */ GIM_Try, /*On fail goto*//*Label 5173*/ GIMT_Encode4(223341), // Rule ID 2209 //
79112 /* 223315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79113 /* 223318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79114 /* 223322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79115 /* 223326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79116 /* 223330 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79117 /* 223330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
79118 /* 223335 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79119 /* 223339 */ GIR_RootConstrainSelectedInstOperands,
79120 /* 223340 */ // GIR_Coverage, 2209,
79121 /* 223340 */ GIR_Done,
79122 /* 223341 */ // Label 5173: @223341
79123 /* 223341 */ GIM_Try, /*On fail goto*//*Label 5174*/ GIMT_Encode4(223372), // Rule ID 5993 //
79124 /* 223346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79125 /* 223349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79126 /* 223353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79127 /* 223357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79128 /* 223361 */ // (strict_fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
79129 /* 223361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
79130 /* 223366 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79131 /* 223370 */ GIR_RootConstrainSelectedInstOperands,
79132 /* 223371 */ // GIR_Coverage, 5993,
79133 /* 223371 */ GIR_Done,
79134 /* 223372 */ // Label 5174: @223372
79135 /* 223372 */ GIM_Reject,
79136 /* 223373 */ // Label 5156: @223373
79137 /* 223373 */ GIM_Reject,
79138 /* 223374 */ // Label 5124: @223374
79139 /* 223374 */ GIM_Try, /*On fail goto*//*Label 5175*/ GIMT_Encode4(223939),
79140 /* 223379 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
79141 /* 223382 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
79142 /* 223385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79143 /* 223389 */ GIM_Try, /*On fail goto*//*Label 5176*/ GIMT_Encode4(223450), // Rule ID 23309 //
79144 /* 223394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79145 /* 223397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79146 /* 223401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79147 /* 223405 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79148 /* 223412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79149 /* 223416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79150 /* 223420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79151 /* 223422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79152 /* 223429 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79153 /* 223429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
79154 /* 223432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79155 /* 223434 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79156 /* 223436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79157 /* 223440 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79158 /* 223443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79159 /* 223448 */ GIR_RootConstrainSelectedInstOperands,
79160 /* 223449 */ // GIR_Coverage, 23309,
79161 /* 223449 */ GIR_EraseRootFromParent_Done,
79162 /* 223450 */ // Label 5176: @223450
79163 /* 223450 */ GIM_Try, /*On fail goto*//*Label 5177*/ GIMT_Encode4(223511), // Rule ID 23311 //
79164 /* 223455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79165 /* 223458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79166 /* 223462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79167 /* 223466 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79168 /* 223473 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79169 /* 223477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79170 /* 223481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79171 /* 223483 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79172 /* 223490 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79173 /* 223490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
79174 /* 223493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79175 /* 223495 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79176 /* 223497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79177 /* 223501 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79178 /* 223504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79179 /* 223509 */ GIR_RootConstrainSelectedInstOperands,
79180 /* 223510 */ // GIR_Coverage, 23311,
79181 /* 223510 */ GIR_EraseRootFromParent_Done,
79182 /* 223511 */ // Label 5177: @223511
79183 /* 223511 */ GIM_Try, /*On fail goto*//*Label 5178*/ GIMT_Encode4(223579), // Rule ID 23297 //
79184 /* 223516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79185 /* 223519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79186 /* 223523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79187 /* 223527 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79188 /* 223530 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79189 /* 223534 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79190 /* 223541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79191 /* 223545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79192 /* 223549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79193 /* 223551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79194 /* 223558 */ // (strict_fmul:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (MUL_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79195 /* 223558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
79196 /* 223561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79197 /* 223563 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79198 /* 223565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79199 /* 223569 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79200 /* 223572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79201 /* 223577 */ GIR_RootConstrainSelectedInstOperands,
79202 /* 223578 */ // GIR_Coverage, 23297,
79203 /* 223578 */ GIR_EraseRootFromParent_Done,
79204 /* 223579 */ // Label 5178: @223579
79205 /* 223579 */ GIM_Try, /*On fail goto*//*Label 5179*/ GIMT_Encode4(223647), // Rule ID 23299 //
79206 /* 223584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79207 /* 223587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79208 /* 223591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79209 /* 223595 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79210 /* 223598 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79211 /* 223602 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79212 /* 223609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79213 /* 223613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79214 /* 223617 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79215 /* 223619 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79216 /* 223626 */ // (strict_fmul:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (MUL_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79217 /* 223626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
79218 /* 223629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79219 /* 223631 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79220 /* 223633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79221 /* 223637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79222 /* 223640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79223 /* 223645 */ GIR_RootConstrainSelectedInstOperands,
79224 /* 223646 */ // GIR_Coverage, 23299,
79225 /* 223646 */ GIR_EraseRootFromParent_Done,
79226 /* 223647 */ // Label 5179: @223647
79227 /* 223647 */ GIM_Try, /*On fail goto*//*Label 5180*/ GIMT_Encode4(223708), // Rule ID 993 //
79228 /* 223652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79229 /* 223655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79230 /* 223659 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79231 /* 223663 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79232 /* 223667 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79233 /* 223674 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79234 /* 223678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79235 /* 223680 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79236 /* 223687 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79237 /* 223687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
79238 /* 223690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79239 /* 223692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79240 /* 223694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79241 /* 223698 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79242 /* 223701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79243 /* 223706 */ GIR_RootConstrainSelectedInstOperands,
79244 /* 223707 */ // GIR_Coverage, 993,
79245 /* 223707 */ GIR_EraseRootFromParent_Done,
79246 /* 223708 */ // Label 5180: @223708
79247 /* 223708 */ GIM_Try, /*On fail goto*//*Label 5181*/ GIMT_Encode4(223769), // Rule ID 995 //
79248 /* 223713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79249 /* 223716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79250 /* 223720 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79251 /* 223724 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79252 /* 223728 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79253 /* 223735 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79254 /* 223739 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79255 /* 223741 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79256 /* 223748 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79257 /* 223748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
79258 /* 223751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79259 /* 223753 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79260 /* 223755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79261 /* 223759 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79262 /* 223762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79263 /* 223767 */ GIR_RootConstrainSelectedInstOperands,
79264 /* 223768 */ // GIR_Coverage, 995,
79265 /* 223768 */ GIR_EraseRootFromParent_Done,
79266 /* 223769 */ // Label 5181: @223769
79267 /* 223769 */ GIM_Try, /*On fail goto*//*Label 5182*/ GIMT_Encode4(223837), // Rule ID 981 //
79268 /* 223774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79269 /* 223777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79270 /* 223781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79271 /* 223785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79272 /* 223789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79273 /* 223792 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79274 /* 223796 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79275 /* 223803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79276 /* 223807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79277 /* 223809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79278 /* 223816 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (MUL_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79279 /* 223816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
79280 /* 223819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79281 /* 223821 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79282 /* 223823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79283 /* 223827 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79284 /* 223830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79285 /* 223835 */ GIR_RootConstrainSelectedInstOperands,
79286 /* 223836 */ // GIR_Coverage, 981,
79287 /* 223836 */ GIR_EraseRootFromParent_Done,
79288 /* 223837 */ // Label 5182: @223837
79289 /* 223837 */ GIM_Try, /*On fail goto*//*Label 5183*/ GIMT_Encode4(223905), // Rule ID 983 //
79290 /* 223842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79291 /* 223845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79292 /* 223849 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79293 /* 223853 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79294 /* 223857 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79295 /* 223860 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79296 /* 223864 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79297 /* 223871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79298 /* 223875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79299 /* 223877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79300 /* 223884 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (MUL_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79301 /* 223884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
79302 /* 223887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79303 /* 223889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79304 /* 223891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79305 /* 223895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79306 /* 223898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79307 /* 223903 */ GIR_RootConstrainSelectedInstOperands,
79308 /* 223904 */ // GIR_Coverage, 983,
79309 /* 223904 */ GIR_EraseRootFromParent_Done,
79310 /* 223905 */ // Label 5183: @223905
79311 /* 223905 */ GIM_Try, /*On fail goto*//*Label 5184*/ GIMT_Encode4(223938), // Rule ID 901 //
79312 /* 223910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79313 /* 223913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79314 /* 223917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79315 /* 223921 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
79316 /* 223921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
79317 /* 223926 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79318 /* 223932 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79319 /* 223936 */ GIR_RootConstrainSelectedInstOperands,
79320 /* 223937 */ // GIR_Coverage, 901,
79321 /* 223937 */ GIR_Done,
79322 /* 223938 */ // Label 5184: @223938
79323 /* 223938 */ GIM_Reject,
79324 /* 223939 */ // Label 5175: @223939
79325 /* 223939 */ GIM_Reject,
79326 /* 223940 */ // Label 5125: @223940
79327 /* 223940 */ GIM_Try, /*On fail goto*//*Label 5185*/ GIMT_Encode4(224293),
79328 /* 223945 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
79329 /* 223948 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
79330 /* 223951 */ GIM_Try, /*On fail goto*//*Label 5186*/ GIMT_Encode4(224013), // Rule ID 23424 //
79331 /* 223956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79332 /* 223959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79333 /* 223963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79334 /* 223967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79335 /* 223971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79336 /* 223974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79337 /* 223978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79338 /* 223982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79339 /* 223986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79340 /* 223988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79341 /* 223995 */ // (strict_fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79342 /* 223995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
79343 /* 223998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79344 /* 224000 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79345 /* 224002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79346 /* 224006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79347 /* 224011 */ GIR_RootConstrainSelectedInstOperands,
79348 /* 224012 */ // GIR_Coverage, 23424,
79349 /* 224012 */ GIR_EraseRootFromParent_Done,
79350 /* 224013 */ // Label 5186: @224013
79351 /* 224013 */ GIM_Try, /*On fail goto*//*Label 5187*/ GIMT_Encode4(224075), // Rule ID 24400 //
79352 /* 224018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79353 /* 224021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79354 /* 224025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79355 /* 224029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79356 /* 224033 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79357 /* 224036 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79358 /* 224040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79359 /* 224044 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79360 /* 224048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79361 /* 224050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79362 /* 224057 */ // (strict_fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79363 /* 224057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
79364 /* 224060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79365 /* 224062 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79366 /* 224064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79367 /* 224068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79368 /* 224073 */ GIR_RootConstrainSelectedInstOperands,
79369 /* 224074 */ // GIR_Coverage, 24400,
79370 /* 224074 */ GIR_EraseRootFromParent_Done,
79371 /* 224075 */ // Label 5187: @224075
79372 /* 224075 */ GIM_Try, /*On fail goto*//*Label 5188*/ GIMT_Encode4(224137), // Rule ID 2179 //
79373 /* 224080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79374 /* 224083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79375 /* 224087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79376 /* 224091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79377 /* 224095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79378 /* 224099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79379 /* 224102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79380 /* 224106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79381 /* 224110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79382 /* 224112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79383 /* 224119 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79384 /* 224119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
79385 /* 224122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79386 /* 224124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79387 /* 224126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79388 /* 224130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79389 /* 224135 */ GIR_RootConstrainSelectedInstOperands,
79390 /* 224136 */ // GIR_Coverage, 2179,
79391 /* 224136 */ GIR_EraseRootFromParent_Done,
79392 /* 224137 */ // Label 5188: @224137
79393 /* 224137 */ GIM_Try, /*On fail goto*//*Label 5189*/ GIMT_Encode4(224199), // Rule ID 6428 //
79394 /* 224142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79395 /* 224145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79396 /* 224149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79397 /* 224153 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79398 /* 224157 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79399 /* 224161 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79400 /* 224164 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79401 /* 224168 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79402 /* 224172 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79403 /* 224174 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79404 /* 224181 */ // (strict_fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79405 /* 224181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
79406 /* 224184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79407 /* 224186 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79408 /* 224188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79409 /* 224192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79410 /* 224197 */ GIR_RootConstrainSelectedInstOperands,
79411 /* 224198 */ // GIR_Coverage, 6428,
79412 /* 224198 */ GIR_EraseRootFromParent_Done,
79413 /* 224199 */ // Label 5189: @224199
79414 /* 224199 */ GIM_Try, /*On fail goto*//*Label 5190*/ GIMT_Encode4(224230), // Rule ID 2177 //
79415 /* 224204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79416 /* 224207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79417 /* 224211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79418 /* 224215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79419 /* 224219 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
79420 /* 224219 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
79421 /* 224224 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79422 /* 224228 */ GIR_RootConstrainSelectedInstOperands,
79423 /* 224229 */ // GIR_Coverage, 2177,
79424 /* 224229 */ GIR_Done,
79425 /* 224230 */ // Label 5190: @224230
79426 /* 224230 */ GIM_Try, /*On fail goto*//*Label 5191*/ GIMT_Encode4(224261), // Rule ID 2193 //
79427 /* 224235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79428 /* 224238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79429 /* 224242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79430 /* 224246 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79431 /* 224250 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
79432 /* 224250 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
79433 /* 224255 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79434 /* 224259 */ GIR_RootConstrainSelectedInstOperands,
79435 /* 224260 */ // GIR_Coverage, 2193,
79436 /* 224260 */ GIR_Done,
79437 /* 224261 */ // Label 5191: @224261
79438 /* 224261 */ GIM_Try, /*On fail goto*//*Label 5192*/ GIMT_Encode4(224292), // Rule ID 6424 //
79439 /* 224266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79440 /* 224269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79441 /* 224273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79442 /* 224277 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79443 /* 224281 */ // (strict_fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
79444 /* 224281 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
79445 /* 224286 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79446 /* 224290 */ GIR_RootConstrainSelectedInstOperands,
79447 /* 224291 */ // GIR_Coverage, 6424,
79448 /* 224291 */ GIR_Done,
79449 /* 224292 */ // Label 5192: @224292
79450 /* 224292 */ GIM_Reject,
79451 /* 224293 */ // Label 5185: @224293
79452 /* 224293 */ GIM_Reject,
79453 /* 224294 */ // Label 5126: @224294
79454 /* 224294 */ GIM_Try, /*On fail goto*//*Label 5193*/ GIMT_Encode4(224647),
79455 /* 224299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
79456 /* 224302 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
79457 /* 224305 */ GIM_Try, /*On fail goto*//*Label 5194*/ GIMT_Encode4(224367), // Rule ID 23422 //
79458 /* 224310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79459 /* 224313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79460 /* 224317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79461 /* 224321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79462 /* 224325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79463 /* 224328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79464 /* 224332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79465 /* 224336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79466 /* 224340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79467 /* 224342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79468 /* 224349 */ // (strict_fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79469 /* 224349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
79470 /* 224352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79471 /* 224354 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79472 /* 224356 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79473 /* 224360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79474 /* 224365 */ GIR_RootConstrainSelectedInstOperands,
79475 /* 224366 */ // GIR_Coverage, 23422,
79476 /* 224366 */ GIR_EraseRootFromParent_Done,
79477 /* 224367 */ // Label 5194: @224367
79478 /* 224367 */ GIM_Try, /*On fail goto*//*Label 5195*/ GIMT_Encode4(224429), // Rule ID 24384 //
79479 /* 224372 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79480 /* 224375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79481 /* 224379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79482 /* 224383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79483 /* 224387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79484 /* 224390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79485 /* 224394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79486 /* 224398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79487 /* 224402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79488 /* 224404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79489 /* 224411 */ // (strict_fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79490 /* 224411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
79491 /* 224414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79492 /* 224416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79493 /* 224418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79494 /* 224422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79495 /* 224427 */ GIR_RootConstrainSelectedInstOperands,
79496 /* 224428 */ // GIR_Coverage, 24384,
79497 /* 224428 */ GIR_EraseRootFromParent_Done,
79498 /* 224429 */ // Label 5195: @224429
79499 /* 224429 */ GIM_Try, /*On fail goto*//*Label 5196*/ GIMT_Encode4(224491), // Rule ID 2175 //
79500 /* 224434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79501 /* 224437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79502 /* 224441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79503 /* 224445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79504 /* 224449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79505 /* 224453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79506 /* 224456 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79507 /* 224460 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79508 /* 224464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79509 /* 224466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79510 /* 224473 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79511 /* 224473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
79512 /* 224476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79513 /* 224478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79514 /* 224480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79515 /* 224484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79516 /* 224489 */ GIR_RootConstrainSelectedInstOperands,
79517 /* 224490 */ // GIR_Coverage, 2175,
79518 /* 224490 */ GIR_EraseRootFromParent_Done,
79519 /* 224491 */ // Label 5196: @224491
79520 /* 224491 */ GIM_Try, /*On fail goto*//*Label 5197*/ GIMT_Encode4(224553), // Rule ID 6404 //
79521 /* 224496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79522 /* 224499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79523 /* 224503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79524 /* 224507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79525 /* 224511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79526 /* 224515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79527 /* 224518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79528 /* 224522 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79529 /* 224526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79530 /* 224528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79531 /* 224535 */ // (strict_fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79532 /* 224535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
79533 /* 224538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79534 /* 224540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79535 /* 224542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79536 /* 224546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79537 /* 224551 */ GIR_RootConstrainSelectedInstOperands,
79538 /* 224552 */ // GIR_Coverage, 6404,
79539 /* 224552 */ GIR_EraseRootFromParent_Done,
79540 /* 224553 */ // Label 5197: @224553
79541 /* 224553 */ GIM_Try, /*On fail goto*//*Label 5198*/ GIMT_Encode4(224584), // Rule ID 2173 //
79542 /* 224558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79543 /* 224561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79544 /* 224565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79545 /* 224569 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79546 /* 224573 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
79547 /* 224573 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
79548 /* 224578 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79549 /* 224582 */ GIR_RootConstrainSelectedInstOperands,
79550 /* 224583 */ // GIR_Coverage, 2173,
79551 /* 224583 */ GIR_Done,
79552 /* 224584 */ // Label 5198: @224584
79553 /* 224584 */ GIM_Try, /*On fail goto*//*Label 5199*/ GIMT_Encode4(224615), // Rule ID 2189 //
79554 /* 224589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79555 /* 224592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79556 /* 224596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79557 /* 224600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79558 /* 224604 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
79559 /* 224604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
79560 /* 224609 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79561 /* 224613 */ GIR_RootConstrainSelectedInstOperands,
79562 /* 224614 */ // GIR_Coverage, 2189,
79563 /* 224614 */ GIR_Done,
79564 /* 224615 */ // Label 5199: @224615
79565 /* 224615 */ GIM_Try, /*On fail goto*//*Label 5200*/ GIMT_Encode4(224646), // Rule ID 6400 //
79566 /* 224620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79567 /* 224623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79568 /* 224627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79569 /* 224631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79570 /* 224635 */ // (strict_fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
79571 /* 224635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
79572 /* 224640 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79573 /* 224644 */ GIR_RootConstrainSelectedInstOperands,
79574 /* 224645 */ // GIR_Coverage, 6400,
79575 /* 224645 */ GIR_Done,
79576 /* 224646 */ // Label 5200: @224646
79577 /* 224646 */ GIM_Reject,
79578 /* 224647 */ // Label 5193: @224647
79579 /* 224647 */ GIM_Reject,
79580 /* 224648 */ // Label 5127: @224648
79581 /* 224648 */ GIM_Try, /*On fail goto*//*Label 5201*/ GIMT_Encode4(224970),
79582 /* 224653 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
79583 /* 224656 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
79584 /* 224659 */ GIM_Try, /*On fail goto*//*Label 5202*/ GIMT_Encode4(224721), // Rule ID 23428 //
79585 /* 224664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79586 /* 224667 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79587 /* 224671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79588 /* 224675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79589 /* 224679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79590 /* 224682 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79591 /* 224686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79592 /* 224690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79593 /* 224694 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79594 /* 224696 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79595 /* 224703 */ // (strict_fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79596 /* 224703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
79597 /* 224706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79598 /* 224708 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79599 /* 224710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79600 /* 224714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79601 /* 224719 */ GIR_RootConstrainSelectedInstOperands,
79602 /* 224720 */ // GIR_Coverage, 23428,
79603 /* 224720 */ GIR_EraseRootFromParent_Done,
79604 /* 224721 */ // Label 5202: @224721
79605 /* 224721 */ GIM_Try, /*On fail goto*//*Label 5203*/ GIMT_Encode4(224783), // Rule ID 24408 //
79606 /* 224726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79607 /* 224729 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79608 /* 224733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79609 /* 224737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79610 /* 224741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79611 /* 224744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79612 /* 224748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79613 /* 224752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79614 /* 224756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79615 /* 224758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79616 /* 224765 */ // (strict_fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79617 /* 224765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
79618 /* 224768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79619 /* 224770 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79620 /* 224772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79621 /* 224776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79622 /* 224781 */ GIR_RootConstrainSelectedInstOperands,
79623 /* 224782 */ // GIR_Coverage, 24408,
79624 /* 224782 */ GIR_EraseRootFromParent_Done,
79625 /* 224783 */ // Label 5203: @224783
79626 /* 224783 */ GIM_Try, /*On fail goto*//*Label 5204*/ GIMT_Encode4(224845), // Rule ID 2187 //
79627 /* 224788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79628 /* 224791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79629 /* 224795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79630 /* 224799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79631 /* 224803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79632 /* 224807 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79633 /* 224810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79634 /* 224814 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79635 /* 224818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79636 /* 224820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79637 /* 224827 */ // (strict_fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79638 /* 224827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
79639 /* 224830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79640 /* 224832 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79641 /* 224834 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79642 /* 224838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79643 /* 224843 */ GIR_RootConstrainSelectedInstOperands,
79644 /* 224844 */ // GIR_Coverage, 2187,
79645 /* 224844 */ GIR_EraseRootFromParent_Done,
79646 /* 224845 */ // Label 5204: @224845
79647 /* 224845 */ GIM_Try, /*On fail goto*//*Label 5205*/ GIMT_Encode4(224907), // Rule ID 6440 //
79648 /* 224850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79649 /* 224853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79650 /* 224857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79651 /* 224861 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79652 /* 224865 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79653 /* 224869 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79654 /* 224872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79655 /* 224876 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79656 /* 224880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79657 /* 224882 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79658 /* 224889 */ // (strict_fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79659 /* 224889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
79660 /* 224892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79661 /* 224894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79662 /* 224896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79663 /* 224900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79664 /* 224905 */ GIR_RootConstrainSelectedInstOperands,
79665 /* 224906 */ // GIR_Coverage, 6440,
79666 /* 224906 */ GIR_EraseRootFromParent_Done,
79667 /* 224907 */ // Label 5205: @224907
79668 /* 224907 */ GIM_Try, /*On fail goto*//*Label 5206*/ GIMT_Encode4(224938), // Rule ID 2185 //
79669 /* 224912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79670 /* 224915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79671 /* 224919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79672 /* 224923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79673 /* 224927 */ // (strict_fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
79674 /* 224927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
79675 /* 224932 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79676 /* 224936 */ GIR_RootConstrainSelectedInstOperands,
79677 /* 224937 */ // GIR_Coverage, 2185,
79678 /* 224937 */ GIR_Done,
79679 /* 224938 */ // Label 5206: @224938
79680 /* 224938 */ GIM_Try, /*On fail goto*//*Label 5207*/ GIMT_Encode4(224969), // Rule ID 6436 //
79681 /* 224943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79682 /* 224946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79683 /* 224950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79684 /* 224954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79685 /* 224958 */ // (strict_fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
79686 /* 224958 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
79687 /* 224963 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79688 /* 224967 */ GIR_RootConstrainSelectedInstOperands,
79689 /* 224968 */ // GIR_Coverage, 6436,
79690 /* 224968 */ GIR_Done,
79691 /* 224969 */ // Label 5207: @224969
79692 /* 224969 */ GIM_Reject,
79693 /* 224970 */ // Label 5201: @224970
79694 /* 224970 */ GIM_Reject,
79695 /* 224971 */ // Label 5128: @224971
79696 /* 224971 */ GIM_Try, /*On fail goto*//*Label 5208*/ GIMT_Encode4(225130),
79697 /* 224976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
79698 /* 224979 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
79699 /* 224982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79700 /* 224986 */ GIM_Try, /*On fail goto*//*Label 5209*/ GIMT_Encode4(225044), // Rule ID 24424 //
79701 /* 224991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79702 /* 224994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79703 /* 224998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79704 /* 225002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79705 /* 225005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79706 /* 225009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79707 /* 225013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79708 /* 225017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79709 /* 225019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79710 /* 225026 */ // (strict_fmul:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
79711 /* 225026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
79712 /* 225029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79713 /* 225031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79714 /* 225033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79715 /* 225037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79716 /* 225042 */ GIR_RootConstrainSelectedInstOperands,
79717 /* 225043 */ // GIR_Coverage, 24424,
79718 /* 225043 */ GIR_EraseRootFromParent_Done,
79719 /* 225044 */ // Label 5209: @225044
79720 /* 225044 */ GIM_Try, /*On fail goto*//*Label 5210*/ GIMT_Encode4(225102), // Rule ID 6464 //
79721 /* 225049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79722 /* 225052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79723 /* 225056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79724 /* 225060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79725 /* 225064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79726 /* 225067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79727 /* 225071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79728 /* 225075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79729 /* 225077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79730 /* 225084 */ // (strict_fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
79731 /* 225084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
79732 /* 225087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79733 /* 225089 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79734 /* 225091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79735 /* 225095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79736 /* 225100 */ GIR_RootConstrainSelectedInstOperands,
79737 /* 225101 */ // GIR_Coverage, 6464,
79738 /* 225101 */ GIR_EraseRootFromParent_Done,
79739 /* 225102 */ // Label 5210: @225102
79740 /* 225102 */ GIM_Try, /*On fail goto*//*Label 5211*/ GIMT_Encode4(225129), // Rule ID 6460 //
79741 /* 225107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79742 /* 225110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79743 /* 225114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79744 /* 225118 */ // (strict_fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
79745 /* 225118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
79746 /* 225123 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79747 /* 225127 */ GIR_RootConstrainSelectedInstOperands,
79748 /* 225128 */ // GIR_Coverage, 6460,
79749 /* 225128 */ GIR_Done,
79750 /* 225129 */ // Label 5211: @225129
79751 /* 225129 */ GIM_Reject,
79752 /* 225130 */ // Label 5208: @225130
79753 /* 225130 */ GIM_Reject,
79754 /* 225131 */ // Label 5129: @225131
79755 /* 225131 */ GIM_Try, /*On fail goto*//*Label 5212*/ GIMT_Encode4(225453),
79756 /* 225136 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
79757 /* 225139 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
79758 /* 225142 */ GIM_Try, /*On fail goto*//*Label 5213*/ GIMT_Encode4(225204), // Rule ID 23426 //
79759 /* 225147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79760 /* 225150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79761 /* 225154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79762 /* 225158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79763 /* 225162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79764 /* 225165 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79765 /* 225169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79766 /* 225173 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79767 /* 225177 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79768 /* 225179 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79769 /* 225186 */ // (strict_fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79770 /* 225186 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
79771 /* 225189 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79772 /* 225191 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79773 /* 225193 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79774 /* 225197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79775 /* 225202 */ GIR_RootConstrainSelectedInstOperands,
79776 /* 225203 */ // GIR_Coverage, 23426,
79777 /* 225203 */ GIR_EraseRootFromParent_Done,
79778 /* 225204 */ // Label 5213: @225204
79779 /* 225204 */ GIM_Try, /*On fail goto*//*Label 5214*/ GIMT_Encode4(225266), // Rule ID 24392 //
79780 /* 225209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79781 /* 225212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79782 /* 225216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79783 /* 225220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79784 /* 225224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79785 /* 225227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79786 /* 225231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79787 /* 225235 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79788 /* 225239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79789 /* 225241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79790 /* 225248 */ // (strict_fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79791 /* 225248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
79792 /* 225251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79793 /* 225253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79794 /* 225255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79795 /* 225259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79796 /* 225264 */ GIR_RootConstrainSelectedInstOperands,
79797 /* 225265 */ // GIR_Coverage, 24392,
79798 /* 225265 */ GIR_EraseRootFromParent_Done,
79799 /* 225266 */ // Label 5214: @225266
79800 /* 225266 */ GIM_Try, /*On fail goto*//*Label 5215*/ GIMT_Encode4(225328), // Rule ID 2183 //
79801 /* 225271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79802 /* 225274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79803 /* 225278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79804 /* 225282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79805 /* 225286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79806 /* 225290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79807 /* 225293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79808 /* 225297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79809 /* 225301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79810 /* 225303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79811 /* 225310 */ // (strict_fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79812 /* 225310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
79813 /* 225313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79814 /* 225315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79815 /* 225317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79816 /* 225321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79817 /* 225326 */ GIR_RootConstrainSelectedInstOperands,
79818 /* 225327 */ // GIR_Coverage, 2183,
79819 /* 225327 */ GIR_EraseRootFromParent_Done,
79820 /* 225328 */ // Label 5215: @225328
79821 /* 225328 */ GIM_Try, /*On fail goto*//*Label 5216*/ GIMT_Encode4(225390), // Rule ID 6416 //
79822 /* 225333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79823 /* 225336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79824 /* 225340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79825 /* 225344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79826 /* 225348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79827 /* 225352 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79828 /* 225355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79829 /* 225359 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79830 /* 225363 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79831 /* 225365 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79832 /* 225372 */ // (strict_fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79833 /* 225372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
79834 /* 225375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79835 /* 225377 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79836 /* 225379 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79837 /* 225383 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79838 /* 225388 */ GIR_RootConstrainSelectedInstOperands,
79839 /* 225389 */ // GIR_Coverage, 6416,
79840 /* 225389 */ GIR_EraseRootFromParent_Done,
79841 /* 225390 */ // Label 5216: @225390
79842 /* 225390 */ GIM_Try, /*On fail goto*//*Label 5217*/ GIMT_Encode4(225421), // Rule ID 2181 //
79843 /* 225395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79844 /* 225398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79845 /* 225402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79846 /* 225406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
79847 /* 225410 */ // (strict_fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
79848 /* 225410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
79849 /* 225415 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79850 /* 225419 */ GIR_RootConstrainSelectedInstOperands,
79851 /* 225420 */ // GIR_Coverage, 2181,
79852 /* 225420 */ GIR_Done,
79853 /* 225421 */ // Label 5217: @225421
79854 /* 225421 */ GIM_Try, /*On fail goto*//*Label 5218*/ GIMT_Encode4(225452), // Rule ID 6412 //
79855 /* 225426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79856 /* 225429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79857 /* 225433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79858 /* 225437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79859 /* 225441 */ // (strict_fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
79860 /* 225441 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
79861 /* 225446 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79862 /* 225450 */ GIR_RootConstrainSelectedInstOperands,
79863 /* 225451 */ // GIR_Coverage, 6412,
79864 /* 225451 */ GIR_Done,
79865 /* 225452 */ // Label 5218: @225452
79866 /* 225452 */ GIM_Reject,
79867 /* 225453 */ // Label 5212: @225453
79868 /* 225453 */ GIM_Reject,
79869 /* 225454 */ // Label 5130: @225454
79870 /* 225454 */ GIM_Try, /*On fail goto*//*Label 5219*/ GIMT_Encode4(225613),
79871 /* 225459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
79872 /* 225462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
79873 /* 225465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79874 /* 225469 */ GIM_Try, /*On fail goto*//*Label 5220*/ GIMT_Encode4(225527), // Rule ID 24376 //
79875 /* 225474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79876 /* 225477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79877 /* 225481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79878 /* 225485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79879 /* 225488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79880 /* 225492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79881 /* 225496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79882 /* 225500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79883 /* 225502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79884 /* 225509 */ // (strict_fmul:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79885 /* 225509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
79886 /* 225512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79887 /* 225514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79888 /* 225516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79889 /* 225520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79890 /* 225525 */ GIR_RootConstrainSelectedInstOperands,
79891 /* 225526 */ // GIR_Coverage, 24376,
79892 /* 225526 */ GIR_EraseRootFromParent_Done,
79893 /* 225527 */ // Label 5220: @225527
79894 /* 225527 */ GIM_Try, /*On fail goto*//*Label 5221*/ GIMT_Encode4(225585), // Rule ID 6392 //
79895 /* 225532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79896 /* 225535 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79897 /* 225539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79898 /* 225543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79899 /* 225547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79900 /* 225550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79901 /* 225554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79902 /* 225558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79903 /* 225560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79904 /* 225567 */ // (strict_fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79905 /* 225567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
79906 /* 225570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79907 /* 225572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79908 /* 225574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79909 /* 225578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79910 /* 225583 */ GIR_RootConstrainSelectedInstOperands,
79911 /* 225584 */ // GIR_Coverage, 6392,
79912 /* 225584 */ GIR_EraseRootFromParent_Done,
79913 /* 225585 */ // Label 5221: @225585
79914 /* 225585 */ GIM_Try, /*On fail goto*//*Label 5222*/ GIMT_Encode4(225612), // Rule ID 6388 //
79915 /* 225590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79916 /* 225593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79917 /* 225597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79918 /* 225601 */ // (strict_fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
79919 /* 225601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
79920 /* 225606 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79921 /* 225610 */ GIR_RootConstrainSelectedInstOperands,
79922 /* 225611 */ // GIR_Coverage, 6388,
79923 /* 225611 */ GIR_Done,
79924 /* 225612 */ // Label 5222: @225612
79925 /* 225612 */ GIM_Reject,
79926 /* 225613 */ // Label 5219: @225613
79927 /* 225613 */ GIM_Reject,
79928 /* 225614 */ // Label 5131: @225614
79929 /* 225614 */ GIM_Try, /*On fail goto*//*Label 5223*/ GIMT_Encode4(225773),
79930 /* 225619 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
79931 /* 225622 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
79932 /* 225625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79933 /* 225629 */ GIM_Try, /*On fail goto*//*Label 5224*/ GIMT_Encode4(225687), // Rule ID 24432 //
79934 /* 225634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79935 /* 225637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79936 /* 225641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79937 /* 225645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79938 /* 225648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79939 /* 225652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79940 /* 225656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79941 /* 225660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79942 /* 225662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79943 /* 225669 */ // (strict_fmul:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
79944 /* 225669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
79945 /* 225672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79946 /* 225674 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79947 /* 225676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79948 /* 225680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79949 /* 225685 */ GIR_RootConstrainSelectedInstOperands,
79950 /* 225686 */ // GIR_Coverage, 24432,
79951 /* 225686 */ GIR_EraseRootFromParent_Done,
79952 /* 225687 */ // Label 5224: @225687
79953 /* 225687 */ GIM_Try, /*On fail goto*//*Label 5225*/ GIMT_Encode4(225745), // Rule ID 6476 //
79954 /* 225692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79955 /* 225695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79956 /* 225699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79957 /* 225703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79958 /* 225707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79959 /* 225710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79960 /* 225714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79961 /* 225718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79962 /* 225720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79963 /* 225727 */ // (strict_fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
79964 /* 225727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
79965 /* 225730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79966 /* 225732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79967 /* 225734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79968 /* 225738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79969 /* 225743 */ GIR_RootConstrainSelectedInstOperands,
79970 /* 225744 */ // GIR_Coverage, 6476,
79971 /* 225744 */ GIR_EraseRootFromParent_Done,
79972 /* 225745 */ // Label 5225: @225745
79973 /* 225745 */ GIM_Try, /*On fail goto*//*Label 5226*/ GIMT_Encode4(225772), // Rule ID 6472 //
79974 /* 225750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79975 /* 225753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79976 /* 225757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79977 /* 225761 */ // (strict_fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
79978 /* 225761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
79979 /* 225766 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79980 /* 225770 */ GIR_RootConstrainSelectedInstOperands,
79981 /* 225771 */ // GIR_Coverage, 6472,
79982 /* 225771 */ GIR_Done,
79983 /* 225772 */ // Label 5226: @225772
79984 /* 225772 */ GIM_Reject,
79985 /* 225773 */ // Label 5223: @225773
79986 /* 225773 */ GIM_Reject,
79987 /* 225774 */ // Label 5132: @225774
79988 /* 225774 */ GIM_Try, /*On fail goto*//*Label 5227*/ GIMT_Encode4(225933),
79989 /* 225779 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
79990 /* 225782 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
79991 /* 225785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79992 /* 225789 */ GIM_Try, /*On fail goto*//*Label 5228*/ GIMT_Encode4(225847), // Rule ID 24368 //
79993 /* 225794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79994 /* 225797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79995 /* 225801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79996 /* 225805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79997 /* 225808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79998 /* 225812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79999 /* 225816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80000 /* 225820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80001 /* 225822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80002 /* 225829 */ // (strict_fmul:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80003 /* 225829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
80004 /* 225832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80005 /* 225834 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80006 /* 225836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80007 /* 225840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80008 /* 225845 */ GIR_RootConstrainSelectedInstOperands,
80009 /* 225846 */ // GIR_Coverage, 24368,
80010 /* 225846 */ GIR_EraseRootFromParent_Done,
80011 /* 225847 */ // Label 5228: @225847
80012 /* 225847 */ GIM_Try, /*On fail goto*//*Label 5229*/ GIMT_Encode4(225905), // Rule ID 6380 //
80013 /* 225852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80014 /* 225855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80015 /* 225859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80016 /* 225863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80017 /* 225867 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80018 /* 225870 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80019 /* 225874 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80020 /* 225878 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80021 /* 225880 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80022 /* 225887 */ // (strict_fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80023 /* 225887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
80024 /* 225890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80025 /* 225892 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80026 /* 225894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80027 /* 225898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80028 /* 225903 */ GIR_RootConstrainSelectedInstOperands,
80029 /* 225904 */ // GIR_Coverage, 6380,
80030 /* 225904 */ GIR_EraseRootFromParent_Done,
80031 /* 225905 */ // Label 5229: @225905
80032 /* 225905 */ GIM_Try, /*On fail goto*//*Label 5230*/ GIMT_Encode4(225932), // Rule ID 6376 //
80033 /* 225910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80034 /* 225913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80035 /* 225917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80036 /* 225921 */ // (strict_fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
80037 /* 225921 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
80038 /* 225926 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80039 /* 225930 */ GIR_RootConstrainSelectedInstOperands,
80040 /* 225931 */ // GIR_Coverage, 6376,
80041 /* 225931 */ GIR_Done,
80042 /* 225932 */ // Label 5230: @225932
80043 /* 225932 */ GIM_Reject,
80044 /* 225933 */ // Label 5227: @225933
80045 /* 225933 */ GIM_Reject,
80046 /* 225934 */ // Label 5133: @225934
80047 /* 225934 */ GIM_Try, /*On fail goto*//*Label 5231*/ GIMT_Encode4(226093),
80048 /* 225939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
80049 /* 225942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
80050 /* 225945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80051 /* 225949 */ GIM_Try, /*On fail goto*//*Label 5232*/ GIMT_Encode4(226007), // Rule ID 24416 //
80052 /* 225954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80053 /* 225957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80054 /* 225961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80055 /* 225965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80056 /* 225968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80057 /* 225972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80058 /* 225976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80059 /* 225980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80060 /* 225982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80061 /* 225989 */ // (strict_fmul:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
80062 /* 225989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
80063 /* 225992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80064 /* 225994 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80065 /* 225996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80066 /* 226000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80067 /* 226005 */ GIR_RootConstrainSelectedInstOperands,
80068 /* 226006 */ // GIR_Coverage, 24416,
80069 /* 226006 */ GIR_EraseRootFromParent_Done,
80070 /* 226007 */ // Label 5232: @226007
80071 /* 226007 */ GIM_Try, /*On fail goto*//*Label 5233*/ GIMT_Encode4(226065), // Rule ID 6452 //
80072 /* 226012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80073 /* 226015 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80074 /* 226019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80075 /* 226023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80076 /* 226027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80077 /* 226030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80078 /* 226034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80079 /* 226038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80080 /* 226040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80081 /* 226047 */ // (strict_fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
80082 /* 226047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
80083 /* 226050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80084 /* 226052 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80085 /* 226054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80086 /* 226058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80087 /* 226063 */ GIR_RootConstrainSelectedInstOperands,
80088 /* 226064 */ // GIR_Coverage, 6452,
80089 /* 226064 */ GIR_EraseRootFromParent_Done,
80090 /* 226065 */ // Label 5233: @226065
80091 /* 226065 */ GIM_Try, /*On fail goto*//*Label 5234*/ GIMT_Encode4(226092), // Rule ID 6448 //
80092 /* 226070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80093 /* 226073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80094 /* 226077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80095 /* 226081 */ // (strict_fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
80096 /* 226081 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
80097 /* 226086 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80098 /* 226090 */ GIR_RootConstrainSelectedInstOperands,
80099 /* 226091 */ // GIR_Coverage, 6448,
80100 /* 226091 */ GIR_Done,
80101 /* 226092 */ // Label 5234: @226092
80102 /* 226092 */ GIM_Reject,
80103 /* 226093 */ // Label 5231: @226093
80104 /* 226093 */ GIM_Reject,
80105 /* 226094 */ // Label 5134: @226094
80106 /* 226094 */ GIM_Reject,
80107 /* 226095 */ // Label 72: @226095
80108 /* 226095 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5248*/ GIMT_Encode4(229784),
80109 /* 226106 */ /*GILLT_s16*//*Label 5235*/ GIMT_Encode4(226190),
80110 /* 226110 */ /*GILLT_s32*//*Label 5236*/ GIMT_Encode4(226288),
80111 /* 226114 */ /*GILLT_s64*//*Label 5237*/ GIMT_Encode4(227007),
80112 /* 226118 */ /*GILLT_s80*//*Label 5238*/ GIMT_Encode4(227870), GIMT_Encode4(0), GIMT_Encode4(0),
80113 /* 226130 */ /*GILLT_v2s64*//*Label 5239*/ GIMT_Encode4(228436), GIMT_Encode4(0),
80114 /* 226138 */ /*GILLT_v4s32*//*Label 5240*/ GIMT_Encode4(228666),
80115 /* 226142 */ /*GILLT_v4s64*//*Label 5241*/ GIMT_Encode4(228896), GIMT_Encode4(0),
80116 /* 226150 */ /*GILLT_v8s16*//*Label 5242*/ GIMT_Encode4(229095),
80117 /* 226154 */ /*GILLT_v8s32*//*Label 5243*/ GIMT_Encode4(229193),
80118 /* 226158 */ /*GILLT_v8s64*//*Label 5244*/ GIMT_Encode4(229392), GIMT_Encode4(0), GIMT_Encode4(0),
80119 /* 226170 */ /*GILLT_v16s16*//*Label 5245*/ GIMT_Encode4(229490),
80120 /* 226174 */ /*GILLT_v16s32*//*Label 5246*/ GIMT_Encode4(229588), GIMT_Encode4(0), GIMT_Encode4(0),
80121 /* 226186 */ /*GILLT_v32s16*//*Label 5247*/ GIMT_Encode4(229686),
80122 /* 226190 */ // Label 5235: @226190
80123 /* 226190 */ GIM_Try, /*On fail goto*//*Label 5249*/ GIMT_Encode4(226287),
80124 /* 226195 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
80125 /* 226198 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
80126 /* 226201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80127 /* 226205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80128 /* 226209 */ GIM_Try, /*On fail goto*//*Label 5250*/ GIMT_Encode4(226263), // Rule ID 6128 //
80129 /* 226214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80130 /* 226217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80131 /* 226221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80132 /* 226225 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80133 /* 226228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80134 /* 226232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80135 /* 226236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80136 /* 226238 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80137 /* 226245 */ // (strict_fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
80138 /* 226245 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
80139 /* 226248 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80140 /* 226250 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80141 /* 226252 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80142 /* 226256 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80143 /* 226261 */ GIR_RootConstrainSelectedInstOperands,
80144 /* 226262 */ // GIR_Coverage, 6128,
80145 /* 226262 */ GIR_EraseRootFromParent_Done,
80146 /* 226263 */ // Label 5250: @226263
80147 /* 226263 */ GIM_Try, /*On fail goto*//*Label 5251*/ GIMT_Encode4(226286), // Rule ID 6126 //
80148 /* 226268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80149 /* 226271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80150 /* 226275 */ // (strict_fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
80151 /* 226275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
80152 /* 226280 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80153 /* 226284 */ GIR_RootConstrainSelectedInstOperands,
80154 /* 226285 */ // GIR_Coverage, 6126,
80155 /* 226285 */ GIR_Done,
80156 /* 226286 */ // Label 5251: @226286
80157 /* 226286 */ GIM_Reject,
80158 /* 226287 */ // Label 5249: @226287
80159 /* 226287 */ GIM_Reject,
80160 /* 226288 */ // Label 5236: @226288
80161 /* 226288 */ GIM_Try, /*On fail goto*//*Label 5252*/ GIMT_Encode4(227006),
80162 /* 226293 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
80163 /* 226296 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
80164 /* 226299 */ GIM_Try, /*On fail goto*//*Label 5253*/ GIMT_Encode4(226364), // Rule ID 1029 //
80165 /* 226304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
80166 /* 226307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80167 /* 226311 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80168 /* 226315 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80169 /* 226319 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
80170 /* 226326 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80171 /* 226330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80172 /* 226334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80173 /* 226336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80174 /* 226343 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80175 /* 226343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
80176 /* 226346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80177 /* 226348 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80178 /* 226350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80179 /* 226354 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80180 /* 226357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80181 /* 226362 */ GIR_RootConstrainSelectedInstOperands,
80182 /* 226363 */ // GIR_Coverage, 1029,
80183 /* 226363 */ GIR_EraseRootFromParent_Done,
80184 /* 226364 */ // Label 5253: @226364
80185 /* 226364 */ GIM_Try, /*On fail goto*//*Label 5254*/ GIMT_Encode4(226429), // Rule ID 1031 //
80186 /* 226369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
80187 /* 226372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80188 /* 226376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80189 /* 226380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80190 /* 226384 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80191 /* 226391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80192 /* 226395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80193 /* 226399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80194 /* 226401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80195 /* 226408 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80196 /* 226408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
80197 /* 226411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80198 /* 226413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80199 /* 226415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80200 /* 226419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80201 /* 226422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80202 /* 226427 */ GIR_RootConstrainSelectedInstOperands,
80203 /* 226428 */ // GIR_Coverage, 1031,
80204 /* 226428 */ GIR_EraseRootFromParent_Done,
80205 /* 226429 */ // Label 5254: @226429
80206 /* 226429 */ GIM_Try, /*On fail goto*//*Label 5255*/ GIMT_Encode4(226494), // Rule ID 1019 //
80207 /* 226434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
80208 /* 226437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80209 /* 226441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80210 /* 226445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80211 /* 226449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80212 /* 226452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80213 /* 226456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80214 /* 226460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80215 /* 226464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80216 /* 226466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80217 /* 226473 */ // (strict_fdiv:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP32:{ *:[f32] }:$src1) => (DIVR_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80218 /* 226473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
80219 /* 226476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80220 /* 226478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80221 /* 226480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80222 /* 226484 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80223 /* 226487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80224 /* 226492 */ GIR_RootConstrainSelectedInstOperands,
80225 /* 226493 */ // GIR_Coverage, 1019,
80226 /* 226493 */ GIR_EraseRootFromParent_Done,
80227 /* 226494 */ // Label 5255: @226494
80228 /* 226494 */ GIM_Try, /*On fail goto*//*Label 5256*/ GIMT_Encode4(226559), // Rule ID 1007 //
80229 /* 226499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
80230 /* 226502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80231 /* 226506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80232 /* 226510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80233 /* 226514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80234 /* 226518 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
80235 /* 226525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80236 /* 226529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80237 /* 226531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80238 /* 226538 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80239 /* 226538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
80240 /* 226541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80241 /* 226543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80242 /* 226545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80243 /* 226549 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80244 /* 226552 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80245 /* 226557 */ GIR_RootConstrainSelectedInstOperands,
80246 /* 226558 */ // GIR_Coverage, 1007,
80247 /* 226558 */ GIR_EraseRootFromParent_Done,
80248 /* 226559 */ // Label 5256: @226559
80249 /* 226559 */ GIM_Try, /*On fail goto*//*Label 5257*/ GIMT_Encode4(226624), // Rule ID 1009 //
80250 /* 226564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
80251 /* 226567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80252 /* 226571 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80253 /* 226575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80254 /* 226579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80255 /* 226583 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80256 /* 226590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80257 /* 226594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80258 /* 226596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80259 /* 226603 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80260 /* 226603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
80261 /* 226606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80262 /* 226608 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80263 /* 226610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80264 /* 226614 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80265 /* 226617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80266 /* 226622 */ GIR_RootConstrainSelectedInstOperands,
80267 /* 226623 */ // GIR_Coverage, 1009,
80268 /* 226623 */ GIR_EraseRootFromParent_Done,
80269 /* 226624 */ // Label 5257: @226624
80270 /* 226624 */ GIM_Try, /*On fail goto*//*Label 5258*/ GIMT_Encode4(226689), // Rule ID 997 //
80271 /* 226629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
80272 /* 226632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80273 /* 226636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80274 /* 226640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80275 /* 226644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80276 /* 226648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80277 /* 226651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80278 /* 226655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80279 /* 226659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80280 /* 226661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80281 /* 226668 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIV_Fp32m:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80282 /* 226668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
80283 /* 226671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80284 /* 226673 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80285 /* 226675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80286 /* 226679 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80287 /* 226682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80288 /* 226687 */ GIR_RootConstrainSelectedInstOperands,
80289 /* 226688 */ // GIR_Coverage, 997,
80290 /* 226688 */ GIR_EraseRootFromParent_Done,
80291 /* 226689 */ // Label 5258: @226689
80292 /* 226689 */ GIM_Try, /*On fail goto*//*Label 5259*/ GIMT_Encode4(226751), // Rule ID 2279 //
80293 /* 226694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
80294 /* 226697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80295 /* 226701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80296 /* 226705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80297 /* 226709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80298 /* 226713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80299 /* 226716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80300 /* 226720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80301 /* 226724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80302 /* 226726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80303 /* 226733 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80304 /* 226733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
80305 /* 226736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80306 /* 226738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80307 /* 226740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80308 /* 226744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80309 /* 226749 */ GIR_RootConstrainSelectedInstOperands,
80310 /* 226750 */ // GIR_Coverage, 2279,
80311 /* 226750 */ GIR_EraseRootFromParent_Done,
80312 /* 226751 */ // Label 5259: @226751
80313 /* 226751 */ GIM_Try, /*On fail goto*//*Label 5260*/ GIMT_Encode4(226813), // Rule ID 2287 //
80314 /* 226756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
80315 /* 226759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80316 /* 226763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80317 /* 226767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80318 /* 226771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80319 /* 226775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80320 /* 226778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80321 /* 226782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80322 /* 226786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80323 /* 226788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80324 /* 226795 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80325 /* 226795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
80326 /* 226798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80327 /* 226800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80328 /* 226802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80329 /* 226806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80330 /* 226811 */ GIR_RootConstrainSelectedInstOperands,
80331 /* 226812 */ // GIR_Coverage, 2287,
80332 /* 226812 */ GIR_EraseRootFromParent_Done,
80333 /* 226813 */ // Label 5260: @226813
80334 /* 226813 */ GIM_Try, /*On fail goto*//*Label 5261*/ GIMT_Encode4(226875), // Rule ID 6090 //
80335 /* 226818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80336 /* 226821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80337 /* 226825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80338 /* 226829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80339 /* 226833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80340 /* 226837 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80341 /* 226840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80342 /* 226844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80343 /* 226848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80344 /* 226850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80345 /* 226857 */ // (strict_fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80346 /* 226857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
80347 /* 226860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80348 /* 226862 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80349 /* 226864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80350 /* 226868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80351 /* 226873 */ GIR_RootConstrainSelectedInstOperands,
80352 /* 226874 */ // GIR_Coverage, 6090,
80353 /* 226874 */ GIR_EraseRootFromParent_Done,
80354 /* 226875 */ // Label 5261: @226875
80355 /* 226875 */ GIM_Try, /*On fail goto*//*Label 5262*/ GIMT_Encode4(226912), // Rule ID 903 //
80356 /* 226880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
80357 /* 226883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80358 /* 226887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80359 /* 226891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
80360 /* 226895 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
80361 /* 226895 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
80362 /* 226900 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
80363 /* 226906 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
80364 /* 226910 */ GIR_RootConstrainSelectedInstOperands,
80365 /* 226911 */ // GIR_Coverage, 903,
80366 /* 226911 */ GIR_Done,
80367 /* 226912 */ // Label 5262: @226912
80368 /* 226912 */ GIM_Try, /*On fail goto*//*Label 5263*/ GIMT_Encode4(226943), // Rule ID 2277 //
80369 /* 226917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
80370 /* 226920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80371 /* 226924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80372 /* 226928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80373 /* 226932 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
80374 /* 226932 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
80375 /* 226937 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80376 /* 226941 */ GIR_RootConstrainSelectedInstOperands,
80377 /* 226942 */ // GIR_Coverage, 2277,
80378 /* 226942 */ GIR_Done,
80379 /* 226943 */ // Label 5263: @226943
80380 /* 226943 */ GIM_Try, /*On fail goto*//*Label 5264*/ GIMT_Encode4(226974), // Rule ID 2285 //
80381 /* 226948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
80382 /* 226951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80383 /* 226955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80384 /* 226959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80385 /* 226963 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
80386 /* 226963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
80387 /* 226968 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80388 /* 226972 */ GIR_RootConstrainSelectedInstOperands,
80389 /* 226973 */ // GIR_Coverage, 2285,
80390 /* 226973 */ GIR_Done,
80391 /* 226974 */ // Label 5264: @226974
80392 /* 226974 */ GIM_Try, /*On fail goto*//*Label 5265*/ GIMT_Encode4(227005), // Rule ID 6088 //
80393 /* 226979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80394 /* 226982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80395 /* 226986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80396 /* 226990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80397 /* 226994 */ // (strict_fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
80398 /* 226994 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
80399 /* 226999 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80400 /* 227003 */ GIR_RootConstrainSelectedInstOperands,
80401 /* 227004 */ // GIR_Coverage, 6088,
80402 /* 227004 */ GIR_Done,
80403 /* 227005 */ // Label 5265: @227005
80404 /* 227005 */ GIM_Reject,
80405 /* 227006 */ // Label 5252: @227006
80406 /* 227006 */ GIM_Reject,
80407 /* 227007 */ // Label 5237: @227007
80408 /* 227007 */ GIM_Try, /*On fail goto*//*Label 5266*/ GIMT_Encode4(227869),
80409 /* 227012 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
80410 /* 227015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
80411 /* 227018 */ GIM_Try, /*On fail goto*//*Label 5267*/ GIMT_Encode4(227083), // Rule ID 1033 //
80412 /* 227023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80413 /* 227026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80414 /* 227030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80415 /* 227034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80416 /* 227038 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
80417 /* 227045 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80418 /* 227049 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80419 /* 227053 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80420 /* 227055 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80421 /* 227062 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80422 /* 227062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
80423 /* 227065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80424 /* 227067 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80425 /* 227069 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80426 /* 227073 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80427 /* 227076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80428 /* 227081 */ GIR_RootConstrainSelectedInstOperands,
80429 /* 227082 */ // GIR_Coverage, 1033,
80430 /* 227082 */ GIR_EraseRootFromParent_Done,
80431 /* 227083 */ // Label 5267: @227083
80432 /* 227083 */ GIM_Try, /*On fail goto*//*Label 5268*/ GIMT_Encode4(227148), // Rule ID 1035 //
80433 /* 227088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80434 /* 227091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80435 /* 227095 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80436 /* 227099 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80437 /* 227103 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80438 /* 227110 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80439 /* 227114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80440 /* 227118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80441 /* 227120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80442 /* 227127 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80443 /* 227127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
80444 /* 227130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80445 /* 227132 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80446 /* 227134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80447 /* 227138 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80448 /* 227141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80449 /* 227146 */ GIR_RootConstrainSelectedInstOperands,
80450 /* 227147 */ // GIR_Coverage, 1035,
80451 /* 227147 */ GIR_EraseRootFromParent_Done,
80452 /* 227148 */ // Label 5268: @227148
80453 /* 227148 */ GIM_Try, /*On fail goto*//*Label 5269*/ GIMT_Encode4(227213), // Rule ID 1021 //
80454 /* 227153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80455 /* 227156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80456 /* 227160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80457 /* 227164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80458 /* 227168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80459 /* 227171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80460 /* 227175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80461 /* 227179 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80462 /* 227183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80463 /* 227185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80464 /* 227192 */ // (strict_fdiv:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, RFP64:{ *:[f64] }:$src1) => (DIVR_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80465 /* 227192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
80466 /* 227195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80467 /* 227197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80468 /* 227199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80469 /* 227203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80470 /* 227206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80471 /* 227211 */ GIR_RootConstrainSelectedInstOperands,
80472 /* 227212 */ // GIR_Coverage, 1021,
80473 /* 227212 */ GIR_EraseRootFromParent_Done,
80474 /* 227213 */ // Label 5269: @227213
80475 /* 227213 */ GIM_Try, /*On fail goto*//*Label 5270*/ GIMT_Encode4(227285), // Rule ID 1023 //
80476 /* 227218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80477 /* 227221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80478 /* 227225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80479 /* 227229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80480 /* 227233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80481 /* 227236 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80482 /* 227240 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80483 /* 227247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80484 /* 227251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80485 /* 227255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80486 /* 227257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80487 /* 227264 */ // (strict_fdiv:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80488 /* 227264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
80489 /* 227267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80490 /* 227269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80491 /* 227271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80492 /* 227275 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80493 /* 227278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80494 /* 227283 */ GIR_RootConstrainSelectedInstOperands,
80495 /* 227284 */ // GIR_Coverage, 1023,
80496 /* 227284 */ GIR_EraseRootFromParent_Done,
80497 /* 227285 */ // Label 5270: @227285
80498 /* 227285 */ GIM_Try, /*On fail goto*//*Label 5271*/ GIMT_Encode4(227350), // Rule ID 1011 //
80499 /* 227290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80500 /* 227293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80501 /* 227297 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80502 /* 227301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80503 /* 227305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80504 /* 227309 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
80505 /* 227316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80506 /* 227320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80507 /* 227322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80508 /* 227329 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80509 /* 227329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
80510 /* 227332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80511 /* 227334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80512 /* 227336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80513 /* 227340 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80514 /* 227343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80515 /* 227348 */ GIR_RootConstrainSelectedInstOperands,
80516 /* 227349 */ // GIR_Coverage, 1011,
80517 /* 227349 */ GIR_EraseRootFromParent_Done,
80518 /* 227350 */ // Label 5271: @227350
80519 /* 227350 */ GIM_Try, /*On fail goto*//*Label 5272*/ GIMT_Encode4(227415), // Rule ID 1013 //
80520 /* 227355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80521 /* 227358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80522 /* 227362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80523 /* 227366 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80524 /* 227370 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80525 /* 227374 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80526 /* 227381 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80527 /* 227385 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80528 /* 227387 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80529 /* 227394 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80530 /* 227394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
80531 /* 227397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80532 /* 227399 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80533 /* 227401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80534 /* 227405 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80535 /* 227408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80536 /* 227413 */ GIR_RootConstrainSelectedInstOperands,
80537 /* 227414 */ // GIR_Coverage, 1013,
80538 /* 227414 */ GIR_EraseRootFromParent_Done,
80539 /* 227415 */ // Label 5272: @227415
80540 /* 227415 */ GIM_Try, /*On fail goto*//*Label 5273*/ GIMT_Encode4(227480), // Rule ID 999 //
80541 /* 227420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80542 /* 227423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80543 /* 227427 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80544 /* 227431 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80545 /* 227435 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80546 /* 227439 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80547 /* 227442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80548 /* 227446 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80549 /* 227450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80550 /* 227452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80551 /* 227459 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIV_Fp64m:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80552 /* 227459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
80553 /* 227462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80554 /* 227464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80555 /* 227466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80556 /* 227470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80557 /* 227473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80558 /* 227478 */ GIR_RootConstrainSelectedInstOperands,
80559 /* 227479 */ // GIR_Coverage, 999,
80560 /* 227479 */ GIR_EraseRootFromParent_Done,
80561 /* 227480 */ // Label 5273: @227480
80562 /* 227480 */ GIM_Try, /*On fail goto*//*Label 5274*/ GIMT_Encode4(227552), // Rule ID 1001 //
80563 /* 227485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80564 /* 227488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80565 /* 227492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80566 /* 227496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80567 /* 227500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80568 /* 227504 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80569 /* 227507 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80570 /* 227511 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80571 /* 227518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80572 /* 227522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80573 /* 227524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80574 /* 227531 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (DIV_Fp64m32:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80575 /* 227531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
80576 /* 227534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80577 /* 227536 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80578 /* 227538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80579 /* 227542 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80580 /* 227545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80581 /* 227550 */ GIR_RootConstrainSelectedInstOperands,
80582 /* 227551 */ // GIR_Coverage, 1001,
80583 /* 227551 */ GIR_EraseRootFromParent_Done,
80584 /* 227552 */ // Label 5274: @227552
80585 /* 227552 */ GIM_Try, /*On fail goto*//*Label 5275*/ GIMT_Encode4(227614), // Rule ID 2283 //
80586 /* 227557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
80587 /* 227560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80588 /* 227564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80589 /* 227568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80590 /* 227572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80591 /* 227576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80592 /* 227579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80593 /* 227583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80594 /* 227587 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80595 /* 227589 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80596 /* 227596 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80597 /* 227596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
80598 /* 227599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80599 /* 227601 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80600 /* 227603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80601 /* 227607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80602 /* 227612 */ GIR_RootConstrainSelectedInstOperands,
80603 /* 227613 */ // GIR_Coverage, 2283,
80604 /* 227613 */ GIR_EraseRootFromParent_Done,
80605 /* 227614 */ // Label 5275: @227614
80606 /* 227614 */ GIM_Try, /*On fail goto*//*Label 5276*/ GIMT_Encode4(227676), // Rule ID 2291 //
80607 /* 227619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
80608 /* 227622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80609 /* 227626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80610 /* 227630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80611 /* 227634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80612 /* 227638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80613 /* 227641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80614 /* 227645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80615 /* 227649 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80616 /* 227651 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80617 /* 227658 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80618 /* 227658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
80619 /* 227661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80620 /* 227663 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80621 /* 227665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80622 /* 227669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80623 /* 227674 */ GIR_RootConstrainSelectedInstOperands,
80624 /* 227675 */ // GIR_Coverage, 2291,
80625 /* 227675 */ GIR_EraseRootFromParent_Done,
80626 /* 227676 */ // Label 5276: @227676
80627 /* 227676 */ GIM_Try, /*On fail goto*//*Label 5277*/ GIMT_Encode4(227738), // Rule ID 6109 //
80628 /* 227681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80629 /* 227684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80630 /* 227688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80631 /* 227692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80632 /* 227696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80633 /* 227700 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80634 /* 227703 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80635 /* 227707 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80636 /* 227711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80637 /* 227713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80638 /* 227720 */ // (strict_fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80639 /* 227720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
80640 /* 227723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80641 /* 227725 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80642 /* 227727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80643 /* 227731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80644 /* 227736 */ GIR_RootConstrainSelectedInstOperands,
80645 /* 227737 */ // GIR_Coverage, 6109,
80646 /* 227737 */ GIR_EraseRootFromParent_Done,
80647 /* 227738 */ // Label 5277: @227738
80648 /* 227738 */ GIM_Try, /*On fail goto*//*Label 5278*/ GIMT_Encode4(227775), // Rule ID 905 //
80649 /* 227743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
80650 /* 227746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80651 /* 227750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80652 /* 227754 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
80653 /* 227758 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
80654 /* 227758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
80655 /* 227763 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
80656 /* 227769 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
80657 /* 227773 */ GIR_RootConstrainSelectedInstOperands,
80658 /* 227774 */ // GIR_Coverage, 905,
80659 /* 227774 */ GIR_Done,
80660 /* 227775 */ // Label 5278: @227775
80661 /* 227775 */ GIM_Try, /*On fail goto*//*Label 5279*/ GIMT_Encode4(227806), // Rule ID 2281 //
80662 /* 227780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
80663 /* 227783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80664 /* 227787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80665 /* 227791 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80666 /* 227795 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
80667 /* 227795 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
80668 /* 227800 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80669 /* 227804 */ GIR_RootConstrainSelectedInstOperands,
80670 /* 227805 */ // GIR_Coverage, 2281,
80671 /* 227805 */ GIR_Done,
80672 /* 227806 */ // Label 5279: @227806
80673 /* 227806 */ GIM_Try, /*On fail goto*//*Label 5280*/ GIMT_Encode4(227837), // Rule ID 2289 //
80674 /* 227811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
80675 /* 227814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80676 /* 227818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80677 /* 227822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80678 /* 227826 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
80679 /* 227826 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
80680 /* 227831 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80681 /* 227835 */ GIR_RootConstrainSelectedInstOperands,
80682 /* 227836 */ // GIR_Coverage, 2289,
80683 /* 227836 */ GIR_Done,
80684 /* 227837 */ // Label 5280: @227837
80685 /* 227837 */ GIM_Try, /*On fail goto*//*Label 5281*/ GIMT_Encode4(227868), // Rule ID 6107 //
80686 /* 227842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80687 /* 227845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80688 /* 227849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80689 /* 227853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80690 /* 227857 */ // (strict_fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
80691 /* 227857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
80692 /* 227862 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80693 /* 227866 */ GIR_RootConstrainSelectedInstOperands,
80694 /* 227867 */ // GIR_Coverage, 6107,
80695 /* 227867 */ GIR_Done,
80696 /* 227868 */ // Label 5281: @227868
80697 /* 227868 */ GIM_Reject,
80698 /* 227869 */ // Label 5266: @227869
80699 /* 227869 */ GIM_Reject,
80700 /* 227870 */ // Label 5238: @227870
80701 /* 227870 */ GIM_Try, /*On fail goto*//*Label 5282*/ GIMT_Encode4(228435),
80702 /* 227875 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
80703 /* 227878 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
80704 /* 227881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80705 /* 227885 */ GIM_Try, /*On fail goto*//*Label 5283*/ GIMT_Encode4(227946), // Rule ID 1037 //
80706 /* 227890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80707 /* 227893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80708 /* 227897 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80709 /* 227901 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
80710 /* 227908 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80711 /* 227912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80712 /* 227916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80713 /* 227918 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80714 /* 227925 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80715 /* 227925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
80716 /* 227928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80717 /* 227930 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80718 /* 227932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80719 /* 227936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80720 /* 227939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80721 /* 227944 */ GIR_RootConstrainSelectedInstOperands,
80722 /* 227945 */ // GIR_Coverage, 1037,
80723 /* 227945 */ GIR_EraseRootFromParent_Done,
80724 /* 227946 */ // Label 5283: @227946
80725 /* 227946 */ GIM_Try, /*On fail goto*//*Label 5284*/ GIMT_Encode4(228007), // Rule ID 1039 //
80726 /* 227951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80727 /* 227954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80728 /* 227958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80729 /* 227962 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80730 /* 227969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80731 /* 227973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80732 /* 227977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80733 /* 227979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80734 /* 227986 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80735 /* 227986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
80736 /* 227989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80737 /* 227991 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80738 /* 227993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80739 /* 227997 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80740 /* 228000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80741 /* 228005 */ GIR_RootConstrainSelectedInstOperands,
80742 /* 228006 */ // GIR_Coverage, 1039,
80743 /* 228006 */ GIR_EraseRootFromParent_Done,
80744 /* 228007 */ // Label 5284: @228007
80745 /* 228007 */ GIM_Try, /*On fail goto*//*Label 5285*/ GIMT_Encode4(228075), // Rule ID 1025 //
80746 /* 228012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80747 /* 228015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80748 /* 228019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80749 /* 228023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80750 /* 228026 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80751 /* 228030 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80752 /* 228037 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80753 /* 228041 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80754 /* 228045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80755 /* 228047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80756 /* 228054 */ // (strict_fdiv:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80757 /* 228054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
80758 /* 228057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80759 /* 228059 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80760 /* 228061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80761 /* 228065 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80762 /* 228068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80763 /* 228073 */ GIR_RootConstrainSelectedInstOperands,
80764 /* 228074 */ // GIR_Coverage, 1025,
80765 /* 228074 */ GIR_EraseRootFromParent_Done,
80766 /* 228075 */ // Label 5285: @228075
80767 /* 228075 */ GIM_Try, /*On fail goto*//*Label 5286*/ GIMT_Encode4(228143), // Rule ID 1027 //
80768 /* 228080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80769 /* 228083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80770 /* 228087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80771 /* 228091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80772 /* 228094 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80773 /* 228098 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
80774 /* 228105 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80775 /* 228109 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80776 /* 228113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80777 /* 228115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80778 /* 228122 */ // (strict_fdiv:{ *:[f80] } (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>, RFP80:{ *:[f80] }:$src1) => (DIVR_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80779 /* 228122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
80780 /* 228125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80781 /* 228127 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80782 /* 228129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80783 /* 228133 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80784 /* 228136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80785 /* 228141 */ GIR_RootConstrainSelectedInstOperands,
80786 /* 228142 */ // GIR_Coverage, 1027,
80787 /* 228142 */ GIR_EraseRootFromParent_Done,
80788 /* 228143 */ // Label 5286: @228143
80789 /* 228143 */ GIM_Try, /*On fail goto*//*Label 5287*/ GIMT_Encode4(228204), // Rule ID 1015 //
80790 /* 228148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80791 /* 228151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80792 /* 228155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80793 /* 228159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80794 /* 228163 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
80795 /* 228170 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80796 /* 228174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80797 /* 228176 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80798 /* 228183 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80799 /* 228183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
80800 /* 228186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80801 /* 228188 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80802 /* 228190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80803 /* 228194 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80804 /* 228197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80805 /* 228202 */ GIR_RootConstrainSelectedInstOperands,
80806 /* 228203 */ // GIR_Coverage, 1015,
80807 /* 228203 */ GIR_EraseRootFromParent_Done,
80808 /* 228204 */ // Label 5287: @228204
80809 /* 228204 */ GIM_Try, /*On fail goto*//*Label 5288*/ GIMT_Encode4(228265), // Rule ID 1017 //
80810 /* 228209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80811 /* 228212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80812 /* 228216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80813 /* 228220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
80814 /* 228224 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80815 /* 228231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80816 /* 228235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80817 /* 228237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80818 /* 228244 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80819 /* 228244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
80820 /* 228247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80821 /* 228249 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80822 /* 228251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80823 /* 228255 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80824 /* 228258 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80825 /* 228263 */ GIR_RootConstrainSelectedInstOperands,
80826 /* 228264 */ // GIR_Coverage, 1017,
80827 /* 228264 */ GIR_EraseRootFromParent_Done,
80828 /* 228265 */ // Label 5288: @228265
80829 /* 228265 */ GIM_Try, /*On fail goto*//*Label 5289*/ GIMT_Encode4(228333), // Rule ID 1003 //
80830 /* 228270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80831 /* 228273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80832 /* 228277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80833 /* 228281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80834 /* 228285 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80835 /* 228288 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80836 /* 228292 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
80837 /* 228299 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80838 /* 228303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80839 /* 228305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80840 /* 228312 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>>) => (DIV_Fp80m32:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80841 /* 228312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
80842 /* 228315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80843 /* 228317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80844 /* 228319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80845 /* 228323 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80846 /* 228326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80847 /* 228331 */ GIR_RootConstrainSelectedInstOperands,
80848 /* 228332 */ // GIR_Coverage, 1003,
80849 /* 228332 */ GIR_EraseRootFromParent_Done,
80850 /* 228333 */ // Label 5289: @228333
80851 /* 228333 */ GIM_Try, /*On fail goto*//*Label 5290*/ GIMT_Encode4(228401), // Rule ID 1005 //
80852 /* 228338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80853 /* 228341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80854 /* 228345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80855 /* 228349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80856 /* 228353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80857 /* 228356 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80858 /* 228360 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
80859 /* 228367 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80860 /* 228371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80861 /* 228373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80862 /* 228380 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>>) => (DIV_Fp80m64:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
80863 /* 228380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
80864 /* 228383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80865 /* 228385 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80866 /* 228387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80867 /* 228391 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
80868 /* 228394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80869 /* 228399 */ GIR_RootConstrainSelectedInstOperands,
80870 /* 228400 */ // GIR_Coverage, 1005,
80871 /* 228400 */ GIR_EraseRootFromParent_Done,
80872 /* 228401 */ // Label 5290: @228401
80873 /* 228401 */ GIM_Try, /*On fail goto*//*Label 5291*/ GIMT_Encode4(228434), // Rule ID 907 //
80874 /* 228406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
80875 /* 228409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80876 /* 228413 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
80877 /* 228417 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
80878 /* 228417 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
80879 /* 228422 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
80880 /* 228428 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
80881 /* 228432 */ GIR_RootConstrainSelectedInstOperands,
80882 /* 228433 */ // GIR_Coverage, 907,
80883 /* 228433 */ GIR_Done,
80884 /* 228434 */ // Label 5291: @228434
80885 /* 228434 */ GIM_Reject,
80886 /* 228435 */ // Label 5282: @228435
80887 /* 228435 */ GIM_Reject,
80888 /* 228436 */ // Label 5239: @228436
80889 /* 228436 */ GIM_Try, /*On fail goto*//*Label 5292*/ GIMT_Encode4(228665),
80890 /* 228441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
80891 /* 228444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
80892 /* 228447 */ GIM_Try, /*On fail goto*//*Label 5293*/ GIMT_Encode4(228509), // Rule ID 2259 //
80893 /* 228452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80894 /* 228455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80895 /* 228459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80896 /* 228463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80897 /* 228467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80898 /* 228471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80899 /* 228474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80900 /* 228478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80901 /* 228482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80902 /* 228484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80903 /* 228491 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80904 /* 228491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
80905 /* 228494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80906 /* 228496 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80907 /* 228498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80908 /* 228502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80909 /* 228507 */ GIR_RootConstrainSelectedInstOperands,
80910 /* 228508 */ // GIR_Coverage, 2259,
80911 /* 228508 */ GIR_EraseRootFromParent_Done,
80912 /* 228509 */ // Label 5293: @228509
80913 /* 228509 */ GIM_Try, /*On fail goto*//*Label 5294*/ GIMT_Encode4(228571), // Rule ID 6662 //
80914 /* 228514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80915 /* 228517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80916 /* 228521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80917 /* 228525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80918 /* 228529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80919 /* 228533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80920 /* 228536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80921 /* 228540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80922 /* 228544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80923 /* 228546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80924 /* 228553 */ // (strict_fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
80925 /* 228553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
80926 /* 228556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80927 /* 228558 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80928 /* 228560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80929 /* 228564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80930 /* 228569 */ GIR_RootConstrainSelectedInstOperands,
80931 /* 228570 */ // GIR_Coverage, 6662,
80932 /* 228570 */ GIR_EraseRootFromParent_Done,
80933 /* 228571 */ // Label 5294: @228571
80934 /* 228571 */ GIM_Try, /*On fail goto*//*Label 5295*/ GIMT_Encode4(228602), // Rule ID 2257 //
80935 /* 228576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80936 /* 228579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80937 /* 228583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80938 /* 228587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80939 /* 228591 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
80940 /* 228591 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
80941 /* 228596 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80942 /* 228600 */ GIR_RootConstrainSelectedInstOperands,
80943 /* 228601 */ // GIR_Coverage, 2257,
80944 /* 228601 */ GIR_Done,
80945 /* 228602 */ // Label 5295: @228602
80946 /* 228602 */ GIM_Try, /*On fail goto*//*Label 5296*/ GIMT_Encode4(228633), // Rule ID 2273 //
80947 /* 228607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
80948 /* 228610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80949 /* 228614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80950 /* 228618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80951 /* 228622 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
80952 /* 228622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
80953 /* 228627 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80954 /* 228631 */ GIR_RootConstrainSelectedInstOperands,
80955 /* 228632 */ // GIR_Coverage, 2273,
80956 /* 228632 */ GIR_Done,
80957 /* 228633 */ // Label 5296: @228633
80958 /* 228633 */ GIM_Try, /*On fail goto*//*Label 5297*/ GIMT_Encode4(228664), // Rule ID 6658 //
80959 /* 228638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80960 /* 228641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80961 /* 228645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80962 /* 228649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80963 /* 228653 */ // (strict_fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
80964 /* 228653 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
80965 /* 228658 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80966 /* 228662 */ GIR_RootConstrainSelectedInstOperands,
80967 /* 228663 */ // GIR_Coverage, 6658,
80968 /* 228663 */ GIR_Done,
80969 /* 228664 */ // Label 5297: @228664
80970 /* 228664 */ GIM_Reject,
80971 /* 228665 */ // Label 5292: @228665
80972 /* 228665 */ GIM_Reject,
80973 /* 228666 */ // Label 5240: @228666
80974 /* 228666 */ GIM_Try, /*On fail goto*//*Label 5298*/ GIMT_Encode4(228895),
80975 /* 228671 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
80976 /* 228674 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
80977 /* 228677 */ GIM_Try, /*On fail goto*//*Label 5299*/ GIMT_Encode4(228739), // Rule ID 2255 //
80978 /* 228682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80979 /* 228685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80980 /* 228689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80981 /* 228693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80982 /* 228697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80983 /* 228701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80984 /* 228704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80985 /* 228708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80986 /* 228712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80987 /* 228714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80988 /* 228721 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
80989 /* 228721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
80990 /* 228724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80991 /* 228726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80992 /* 228728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80993 /* 228732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80994 /* 228737 */ GIR_RootConstrainSelectedInstOperands,
80995 /* 228738 */ // GIR_Coverage, 2255,
80996 /* 228738 */ GIR_EraseRootFromParent_Done,
80997 /* 228739 */ // Label 5299: @228739
80998 /* 228739 */ GIM_Try, /*On fail goto*//*Label 5300*/ GIMT_Encode4(228801), // Rule ID 6638 //
80999 /* 228744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81000 /* 228747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81001 /* 228751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81002 /* 228755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81003 /* 228759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81004 /* 228763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81005 /* 228766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81006 /* 228770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81007 /* 228774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81008 /* 228776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81009 /* 228783 */ // (strict_fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
81010 /* 228783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
81011 /* 228786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81012 /* 228788 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81013 /* 228790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81014 /* 228794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81015 /* 228799 */ GIR_RootConstrainSelectedInstOperands,
81016 /* 228800 */ // GIR_Coverage, 6638,
81017 /* 228800 */ GIR_EraseRootFromParent_Done,
81018 /* 228801 */ // Label 5300: @228801
81019 /* 228801 */ GIM_Try, /*On fail goto*//*Label 5301*/ GIMT_Encode4(228832), // Rule ID 2253 //
81020 /* 228806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
81021 /* 228809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81022 /* 228813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81023 /* 228817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81024 /* 228821 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
81025 /* 228821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
81026 /* 228826 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81027 /* 228830 */ GIR_RootConstrainSelectedInstOperands,
81028 /* 228831 */ // GIR_Coverage, 2253,
81029 /* 228831 */ GIR_Done,
81030 /* 228832 */ // Label 5301: @228832
81031 /* 228832 */ GIM_Try, /*On fail goto*//*Label 5302*/ GIMT_Encode4(228863), // Rule ID 2269 //
81032 /* 228837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
81033 /* 228840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81034 /* 228844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81035 /* 228848 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81036 /* 228852 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
81037 /* 228852 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
81038 /* 228857 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81039 /* 228861 */ GIR_RootConstrainSelectedInstOperands,
81040 /* 228862 */ // GIR_Coverage, 2269,
81041 /* 228862 */ GIR_Done,
81042 /* 228863 */ // Label 5302: @228863
81043 /* 228863 */ GIM_Try, /*On fail goto*//*Label 5303*/ GIMT_Encode4(228894), // Rule ID 6634 //
81044 /* 228868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81045 /* 228871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81046 /* 228875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81047 /* 228879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81048 /* 228883 */ // (strict_fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
81049 /* 228883 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
81050 /* 228888 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81051 /* 228892 */ GIR_RootConstrainSelectedInstOperands,
81052 /* 228893 */ // GIR_Coverage, 6634,
81053 /* 228893 */ GIR_Done,
81054 /* 228894 */ // Label 5303: @228894
81055 /* 228894 */ GIM_Reject,
81056 /* 228895 */ // Label 5298: @228895
81057 /* 228895 */ GIM_Reject,
81058 /* 228896 */ // Label 5241: @228896
81059 /* 228896 */ GIM_Try, /*On fail goto*//*Label 5304*/ GIMT_Encode4(229094),
81060 /* 228901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
81061 /* 228904 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
81062 /* 228907 */ GIM_Try, /*On fail goto*//*Label 5305*/ GIMT_Encode4(228969), // Rule ID 2267 //
81063 /* 228912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
81064 /* 228915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81065 /* 228919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81066 /* 228923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81067 /* 228927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81068 /* 228931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81069 /* 228934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81070 /* 228938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81071 /* 228942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81072 /* 228944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81073 /* 228951 */ // (strict_fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
81074 /* 228951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
81075 /* 228954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81076 /* 228956 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81077 /* 228958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81078 /* 228962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81079 /* 228967 */ GIR_RootConstrainSelectedInstOperands,
81080 /* 228968 */ // GIR_Coverage, 2267,
81081 /* 228968 */ GIR_EraseRootFromParent_Done,
81082 /* 228969 */ // Label 5305: @228969
81083 /* 228969 */ GIM_Try, /*On fail goto*//*Label 5306*/ GIMT_Encode4(229031), // Rule ID 6674 //
81084 /* 228974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81085 /* 228977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81086 /* 228981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81087 /* 228985 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81088 /* 228989 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81089 /* 228993 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81090 /* 228996 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81091 /* 229000 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81092 /* 229004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81093 /* 229006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81094 /* 229013 */ // (strict_fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
81095 /* 229013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
81096 /* 229016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81097 /* 229018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81098 /* 229020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81099 /* 229024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81100 /* 229029 */ GIR_RootConstrainSelectedInstOperands,
81101 /* 229030 */ // GIR_Coverage, 6674,
81102 /* 229030 */ GIR_EraseRootFromParent_Done,
81103 /* 229031 */ // Label 5306: @229031
81104 /* 229031 */ GIM_Try, /*On fail goto*//*Label 5307*/ GIMT_Encode4(229062), // Rule ID 2265 //
81105 /* 229036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
81106 /* 229039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81107 /* 229043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81108 /* 229047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81109 /* 229051 */ // (strict_fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
81110 /* 229051 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
81111 /* 229056 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81112 /* 229060 */ GIR_RootConstrainSelectedInstOperands,
81113 /* 229061 */ // GIR_Coverage, 2265,
81114 /* 229061 */ GIR_Done,
81115 /* 229062 */ // Label 5307: @229062
81116 /* 229062 */ GIM_Try, /*On fail goto*//*Label 5308*/ GIMT_Encode4(229093), // Rule ID 6670 //
81117 /* 229067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81118 /* 229070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81119 /* 229074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81120 /* 229078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81121 /* 229082 */ // (strict_fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
81122 /* 229082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
81123 /* 229087 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81124 /* 229091 */ GIR_RootConstrainSelectedInstOperands,
81125 /* 229092 */ // GIR_Coverage, 6670,
81126 /* 229092 */ GIR_Done,
81127 /* 229093 */ // Label 5308: @229093
81128 /* 229093 */ GIM_Reject,
81129 /* 229094 */ // Label 5304: @229094
81130 /* 229094 */ GIM_Reject,
81131 /* 229095 */ // Label 5242: @229095
81132 /* 229095 */ GIM_Try, /*On fail goto*//*Label 5309*/ GIMT_Encode4(229192),
81133 /* 229100 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
81134 /* 229103 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
81135 /* 229106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81136 /* 229110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81137 /* 229114 */ GIM_Try, /*On fail goto*//*Label 5310*/ GIMT_Encode4(229168), // Rule ID 6698 //
81138 /* 229119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81139 /* 229122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81140 /* 229126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81141 /* 229130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81142 /* 229133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81143 /* 229137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81144 /* 229141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81145 /* 229143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81146 /* 229150 */ // (strict_fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
81147 /* 229150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
81148 /* 229153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81149 /* 229155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81150 /* 229157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81151 /* 229161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81152 /* 229166 */ GIR_RootConstrainSelectedInstOperands,
81153 /* 229167 */ // GIR_Coverage, 6698,
81154 /* 229167 */ GIR_EraseRootFromParent_Done,
81155 /* 229168 */ // Label 5310: @229168
81156 /* 229168 */ GIM_Try, /*On fail goto*//*Label 5311*/ GIMT_Encode4(229191), // Rule ID 6694 //
81157 /* 229173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81158 /* 229176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81159 /* 229180 */ // (strict_fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
81160 /* 229180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
81161 /* 229185 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81162 /* 229189 */ GIR_RootConstrainSelectedInstOperands,
81163 /* 229190 */ // GIR_Coverage, 6694,
81164 /* 229190 */ GIR_Done,
81165 /* 229191 */ // Label 5311: @229191
81166 /* 229191 */ GIM_Reject,
81167 /* 229192 */ // Label 5309: @229192
81168 /* 229192 */ GIM_Reject,
81169 /* 229193 */ // Label 5243: @229193
81170 /* 229193 */ GIM_Try, /*On fail goto*//*Label 5312*/ GIMT_Encode4(229391),
81171 /* 229198 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
81172 /* 229201 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
81173 /* 229204 */ GIM_Try, /*On fail goto*//*Label 5313*/ GIMT_Encode4(229266), // Rule ID 2263 //
81174 /* 229209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
81175 /* 229212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81176 /* 229216 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81177 /* 229220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81178 /* 229224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81179 /* 229228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81180 /* 229231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81181 /* 229235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81182 /* 229239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81183 /* 229241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81184 /* 229248 */ // (strict_fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
81185 /* 229248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
81186 /* 229251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81187 /* 229253 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81188 /* 229255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81189 /* 229259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81190 /* 229264 */ GIR_RootConstrainSelectedInstOperands,
81191 /* 229265 */ // GIR_Coverage, 2263,
81192 /* 229265 */ GIR_EraseRootFromParent_Done,
81193 /* 229266 */ // Label 5313: @229266
81194 /* 229266 */ GIM_Try, /*On fail goto*//*Label 5314*/ GIMT_Encode4(229328), // Rule ID 6650 //
81195 /* 229271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81196 /* 229274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81197 /* 229278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81198 /* 229282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81199 /* 229286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81200 /* 229290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81201 /* 229293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81202 /* 229297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81203 /* 229301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81204 /* 229303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81205 /* 229310 */ // (strict_fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
81206 /* 229310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
81207 /* 229313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81208 /* 229315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81209 /* 229317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81210 /* 229321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81211 /* 229326 */ GIR_RootConstrainSelectedInstOperands,
81212 /* 229327 */ // GIR_Coverage, 6650,
81213 /* 229327 */ GIR_EraseRootFromParent_Done,
81214 /* 229328 */ // Label 5314: @229328
81215 /* 229328 */ GIM_Try, /*On fail goto*//*Label 5315*/ GIMT_Encode4(229359), // Rule ID 2261 //
81216 /* 229333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
81217 /* 229336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81218 /* 229340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81219 /* 229344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81220 /* 229348 */ // (strict_fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
81221 /* 229348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
81222 /* 229353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81223 /* 229357 */ GIR_RootConstrainSelectedInstOperands,
81224 /* 229358 */ // GIR_Coverage, 2261,
81225 /* 229358 */ GIR_Done,
81226 /* 229359 */ // Label 5315: @229359
81227 /* 229359 */ GIM_Try, /*On fail goto*//*Label 5316*/ GIMT_Encode4(229390), // Rule ID 6646 //
81228 /* 229364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81229 /* 229367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81230 /* 229371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81231 /* 229375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81232 /* 229379 */ // (strict_fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
81233 /* 229379 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
81234 /* 229384 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81235 /* 229388 */ GIR_RootConstrainSelectedInstOperands,
81236 /* 229389 */ // GIR_Coverage, 6646,
81237 /* 229389 */ GIR_Done,
81238 /* 229390 */ // Label 5316: @229390
81239 /* 229390 */ GIM_Reject,
81240 /* 229391 */ // Label 5312: @229391
81241 /* 229391 */ GIM_Reject,
81242 /* 229392 */ // Label 5244: @229392
81243 /* 229392 */ GIM_Try, /*On fail goto*//*Label 5317*/ GIMT_Encode4(229489),
81244 /* 229397 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
81245 /* 229400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
81246 /* 229403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81247 /* 229407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81248 /* 229411 */ GIM_Try, /*On fail goto*//*Label 5318*/ GIMT_Encode4(229465), // Rule ID 6626 //
81249 /* 229416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81250 /* 229419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81251 /* 229423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81252 /* 229427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81253 /* 229430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81254 /* 229434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81255 /* 229438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81256 /* 229440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81257 /* 229447 */ // (strict_fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
81258 /* 229447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
81259 /* 229450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81260 /* 229452 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81261 /* 229454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81262 /* 229458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81263 /* 229463 */ GIR_RootConstrainSelectedInstOperands,
81264 /* 229464 */ // GIR_Coverage, 6626,
81265 /* 229464 */ GIR_EraseRootFromParent_Done,
81266 /* 229465 */ // Label 5318: @229465
81267 /* 229465 */ GIM_Try, /*On fail goto*//*Label 5319*/ GIMT_Encode4(229488), // Rule ID 6622 //
81268 /* 229470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81269 /* 229473 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81270 /* 229477 */ // (strict_fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
81271 /* 229477 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
81272 /* 229482 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81273 /* 229486 */ GIR_RootConstrainSelectedInstOperands,
81274 /* 229487 */ // GIR_Coverage, 6622,
81275 /* 229487 */ GIR_Done,
81276 /* 229488 */ // Label 5319: @229488
81277 /* 229488 */ GIM_Reject,
81278 /* 229489 */ // Label 5317: @229489
81279 /* 229489 */ GIM_Reject,
81280 /* 229490 */ // Label 5245: @229490
81281 /* 229490 */ GIM_Try, /*On fail goto*//*Label 5320*/ GIMT_Encode4(229587),
81282 /* 229495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
81283 /* 229498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
81284 /* 229501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81285 /* 229505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81286 /* 229509 */ GIM_Try, /*On fail goto*//*Label 5321*/ GIMT_Encode4(229563), // Rule ID 6710 //
81287 /* 229514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81288 /* 229517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81289 /* 229521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81290 /* 229525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81291 /* 229528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81292 /* 229532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81293 /* 229536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81294 /* 229538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81295 /* 229545 */ // (strict_fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
81296 /* 229545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
81297 /* 229548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81298 /* 229550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81299 /* 229552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81300 /* 229556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81301 /* 229561 */ GIR_RootConstrainSelectedInstOperands,
81302 /* 229562 */ // GIR_Coverage, 6710,
81303 /* 229562 */ GIR_EraseRootFromParent_Done,
81304 /* 229563 */ // Label 5321: @229563
81305 /* 229563 */ GIM_Try, /*On fail goto*//*Label 5322*/ GIMT_Encode4(229586), // Rule ID 6706 //
81306 /* 229568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81307 /* 229571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81308 /* 229575 */ // (strict_fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
81309 /* 229575 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
81310 /* 229580 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81311 /* 229584 */ GIR_RootConstrainSelectedInstOperands,
81312 /* 229585 */ // GIR_Coverage, 6706,
81313 /* 229585 */ GIR_Done,
81314 /* 229586 */ // Label 5322: @229586
81315 /* 229586 */ GIM_Reject,
81316 /* 229587 */ // Label 5320: @229587
81317 /* 229587 */ GIM_Reject,
81318 /* 229588 */ // Label 5246: @229588
81319 /* 229588 */ GIM_Try, /*On fail goto*//*Label 5323*/ GIMT_Encode4(229685),
81320 /* 229593 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
81321 /* 229596 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
81322 /* 229599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81323 /* 229603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81324 /* 229607 */ GIM_Try, /*On fail goto*//*Label 5324*/ GIMT_Encode4(229661), // Rule ID 6614 //
81325 /* 229612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81326 /* 229615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81327 /* 229619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81328 /* 229623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81329 /* 229626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81330 /* 229630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81331 /* 229634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81332 /* 229636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81333 /* 229643 */ // (strict_fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
81334 /* 229643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
81335 /* 229646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81336 /* 229648 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81337 /* 229650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81338 /* 229654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81339 /* 229659 */ GIR_RootConstrainSelectedInstOperands,
81340 /* 229660 */ // GIR_Coverage, 6614,
81341 /* 229660 */ GIR_EraseRootFromParent_Done,
81342 /* 229661 */ // Label 5324: @229661
81343 /* 229661 */ GIM_Try, /*On fail goto*//*Label 5325*/ GIMT_Encode4(229684), // Rule ID 6610 //
81344 /* 229666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81345 /* 229669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81346 /* 229673 */ // (strict_fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
81347 /* 229673 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
81348 /* 229678 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81349 /* 229682 */ GIR_RootConstrainSelectedInstOperands,
81350 /* 229683 */ // GIR_Coverage, 6610,
81351 /* 229683 */ GIR_Done,
81352 /* 229684 */ // Label 5325: @229684
81353 /* 229684 */ GIM_Reject,
81354 /* 229685 */ // Label 5323: @229685
81355 /* 229685 */ GIM_Reject,
81356 /* 229686 */ // Label 5247: @229686
81357 /* 229686 */ GIM_Try, /*On fail goto*//*Label 5326*/ GIMT_Encode4(229783),
81358 /* 229691 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
81359 /* 229694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
81360 /* 229697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81361 /* 229701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81362 /* 229705 */ GIM_Try, /*On fail goto*//*Label 5327*/ GIMT_Encode4(229759), // Rule ID 6686 //
81363 /* 229710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81364 /* 229713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81365 /* 229717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81366 /* 229721 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81367 /* 229724 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81368 /* 229728 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81369 /* 229732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81370 /* 229734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81371 /* 229741 */ // (strict_fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
81372 /* 229741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
81373 /* 229744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81374 /* 229746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81375 /* 229748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81376 /* 229752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81377 /* 229757 */ GIR_RootConstrainSelectedInstOperands,
81378 /* 229758 */ // GIR_Coverage, 6686,
81379 /* 229758 */ GIR_EraseRootFromParent_Done,
81380 /* 229759 */ // Label 5327: @229759
81381 /* 229759 */ GIM_Try, /*On fail goto*//*Label 5328*/ GIMT_Encode4(229782), // Rule ID 6682 //
81382 /* 229764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81383 /* 229767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81384 /* 229771 */ // (strict_fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
81385 /* 229771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
81386 /* 229776 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81387 /* 229780 */ GIR_RootConstrainSelectedInstOperands,
81388 /* 229781 */ // GIR_Coverage, 6682,
81389 /* 229781 */ GIR_Done,
81390 /* 229782 */ // Label 5328: @229782
81391 /* 229782 */ GIM_Reject,
81392 /* 229783 */ // Label 5326: @229783
81393 /* 229783 */ GIM_Reject,
81394 /* 229784 */ // Label 5248: @229784
81395 /* 229784 */ GIM_Reject,
81396 /* 229785 */ // Label 73: @229785
81397 /* 229785 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5341*/ GIMT_Encode4(235772),
81398 /* 229796 */ /*GILLT_s16*//*Label 5329*/ GIMT_Encode4(229880),
81399 /* 229800 */ /*GILLT_s32*//*Label 5330*/ GIMT_Encode4(230125),
81400 /* 229804 */ /*GILLT_s64*//*Label 5331*/ GIMT_Encode4(230862), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
81401 /* 229820 */ /*GILLT_v2s64*//*Label 5332*/ GIMT_Encode4(231599), GIMT_Encode4(0),
81402 /* 229828 */ /*GILLT_v4s32*//*Label 5333*/ GIMT_Encode4(232336),
81403 /* 229832 */ /*GILLT_v4s64*//*Label 5334*/ GIMT_Encode4(233073), GIMT_Encode4(0),
81404 /* 229840 */ /*GILLT_v8s16*//*Label 5335*/ GIMT_Encode4(233810),
81405 /* 229844 */ /*GILLT_v8s32*//*Label 5336*/ GIMT_Encode4(234055),
81406 /* 229848 */ /*GILLT_v8s64*//*Label 5337*/ GIMT_Encode4(234792), GIMT_Encode4(0), GIMT_Encode4(0),
81407 /* 229860 */ /*GILLT_v16s16*//*Label 5338*/ GIMT_Encode4(235037),
81408 /* 229864 */ /*GILLT_v16s32*//*Label 5339*/ GIMT_Encode4(235282), GIMT_Encode4(0), GIMT_Encode4(0),
81409 /* 229876 */ /*GILLT_v32s16*//*Label 5340*/ GIMT_Encode4(235527),
81410 /* 229880 */ // Label 5329: @229880
81411 /* 229880 */ GIM_Try, /*On fail goto*//*Label 5342*/ GIMT_Encode4(230124),
81412 /* 229885 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
81413 /* 229888 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
81414 /* 229891 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
81415 /* 229894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81416 /* 229898 */ GIM_Try, /*On fail goto*//*Label 5343*/ GIMT_Encode4(229962), // Rule ID 10160 //
81417 /* 229903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81418 /* 229906 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81419 /* 229910 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81420 /* 229914 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81421 /* 229917 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81422 /* 229921 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81423 /* 229925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81424 /* 229929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81425 /* 229933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81426 /* 229935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81427 /* 229942 */ // (strict_fma:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VFMADD132SHZm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, addr:{ *:[iPTR] }:$src3)
81428 /* 229942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
81429 /* 229945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81430 /* 229947 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81431 /* 229949 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81432 /* 229951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81433 /* 229955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81434 /* 229960 */ GIR_RootConstrainSelectedInstOperands,
81435 /* 229961 */ // GIR_Coverage, 10160,
81436 /* 229961 */ GIR_EraseRootFromParent_Done,
81437 /* 229962 */ // Label 5343: @229962
81438 /* 229962 */ GIM_Try, /*On fail goto*//*Label 5344*/ GIMT_Encode4(230026), // Rule ID 10158 //
81439 /* 229967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81440 /* 229970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81441 /* 229974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81442 /* 229978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81443 /* 229982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81444 /* 229985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81445 /* 229989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81446 /* 229993 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81447 /* 229997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81448 /* 229999 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81449 /* 230006 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VFMADD231SHZm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, addr:{ *:[iPTR] }:$src3)
81450 /* 230006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
81451 /* 230009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81452 /* 230011 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81453 /* 230013 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81454 /* 230015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81455 /* 230019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81456 /* 230024 */ GIR_RootConstrainSelectedInstOperands,
81457 /* 230025 */ // GIR_Coverage, 10158,
81458 /* 230025 */ GIR_EraseRootFromParent_Done,
81459 /* 230026 */ // Label 5344: @230026
81460 /* 230026 */ GIM_Try, /*On fail goto*//*Label 5345*/ GIMT_Encode4(230090), // Rule ID 10155 //
81461 /* 230031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81462 /* 230034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81463 /* 230038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81464 /* 230042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81465 /* 230046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81466 /* 230050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81467 /* 230053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81468 /* 230057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81469 /* 230061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81470 /* 230063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81471 /* 230070 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SHZm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, addr:{ *:[iPTR] }:$src3)
81472 /* 230070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
81473 /* 230073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81474 /* 230075 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81475 /* 230077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81476 /* 230079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81477 /* 230083 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81478 /* 230088 */ GIR_RootConstrainSelectedInstOperands,
81479 /* 230089 */ // GIR_Coverage, 10155,
81480 /* 230089 */ GIR_EraseRootFromParent_Done,
81481 /* 230090 */ // Label 5345: @230090
81482 /* 230090 */ GIM_Try, /*On fail goto*//*Label 5346*/ GIMT_Encode4(230123), // Rule ID 10153 //
81483 /* 230095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81484 /* 230098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81485 /* 230102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81486 /* 230106 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
81487 /* 230110 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
81488 /* 230110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
81489 /* 230113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81490 /* 230115 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81491 /* 230117 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81492 /* 230119 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81493 /* 230121 */ GIR_RootConstrainSelectedInstOperands,
81494 /* 230122 */ // GIR_Coverage, 10153,
81495 /* 230122 */ GIR_EraseRootFromParent_Done,
81496 /* 230123 */ // Label 5346: @230123
81497 /* 230123 */ GIM_Reject,
81498 /* 230124 */ // Label 5342: @230124
81499 /* 230124 */ GIM_Reject,
81500 /* 230125 */ // Label 5330: @230125
81501 /* 230125 */ GIM_Try, /*On fail goto*//*Label 5347*/ GIMT_Encode4(230861),
81502 /* 230130 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
81503 /* 230133 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
81504 /* 230136 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
81505 /* 230139 */ GIM_Try, /*On fail goto*//*Label 5348*/ GIMT_Encode4(230207), // Rule ID 1302 //
81506 /* 230144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81507 /* 230147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81508 /* 230151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81509 /* 230155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81510 /* 230159 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81511 /* 230162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81512 /* 230166 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81513 /* 230170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81514 /* 230174 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81515 /* 230178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81516 /* 230180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81517 /* 230187 */ // (strict_fma:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VFMADD132SSm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
81518 /* 230187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
81519 /* 230190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81520 /* 230192 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81521 /* 230194 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81522 /* 230196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81523 /* 230200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81524 /* 230205 */ GIR_RootConstrainSelectedInstOperands,
81525 /* 230206 */ // GIR_Coverage, 1302,
81526 /* 230206 */ GIR_EraseRootFromParent_Done,
81527 /* 230207 */ // Label 5348: @230207
81528 /* 230207 */ GIM_Try, /*On fail goto*//*Label 5349*/ GIMT_Encode4(230275), // Rule ID 10142 //
81529 /* 230212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81530 /* 230215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81531 /* 230219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81532 /* 230223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81533 /* 230227 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81534 /* 230230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81535 /* 230234 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81536 /* 230238 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81537 /* 230242 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81538 /* 230246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81539 /* 230248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81540 /* 230255 */ // (strict_fma:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VFMADD132SSZm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
81541 /* 230255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
81542 /* 230258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81543 /* 230260 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81544 /* 230262 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81545 /* 230264 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81546 /* 230268 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81547 /* 230273 */ GIR_RootConstrainSelectedInstOperands,
81548 /* 230274 */ // GIR_Coverage, 10142,
81549 /* 230274 */ GIR_EraseRootFromParent_Done,
81550 /* 230275 */ // Label 5349: @230275
81551 /* 230275 */ GIM_Try, /*On fail goto*//*Label 5350*/ GIMT_Encode4(230343), // Rule ID 23313 //
81552 /* 230280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81553 /* 230283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81554 /* 230287 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81555 /* 230291 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81556 /* 230295 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81557 /* 230298 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81558 /* 230302 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81559 /* 230306 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81560 /* 230310 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81561 /* 230314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81562 /* 230316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81563 /* 230323 */ // (strict_fma:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADDSS4mr:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2, FR32:{ *:[f32] }:$src3)
81564 /* 230323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
81565 /* 230326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81566 /* 230328 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81567 /* 230330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81568 /* 230334 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81569 /* 230336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81570 /* 230341 */ GIR_RootConstrainSelectedInstOperands,
81571 /* 230342 */ // GIR_Coverage, 23313,
81572 /* 230342 */ GIR_EraseRootFromParent_Done,
81573 /* 230343 */ // Label 5350: @230343
81574 /* 230343 */ GIM_Try, /*On fail goto*//*Label 5351*/ GIMT_Encode4(230411), // Rule ID 1300 //
81575 /* 230348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81576 /* 230351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81577 /* 230355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81578 /* 230359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81579 /* 230363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81580 /* 230367 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81581 /* 230370 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81582 /* 230374 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81583 /* 230378 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81584 /* 230382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81585 /* 230384 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81586 /* 230391 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VFMADD231SSm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
81587 /* 230391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
81588 /* 230394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81589 /* 230396 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81590 /* 230398 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81591 /* 230400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81592 /* 230404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81593 /* 230409 */ GIR_RootConstrainSelectedInstOperands,
81594 /* 230410 */ // GIR_Coverage, 1300,
81595 /* 230410 */ GIR_EraseRootFromParent_Done,
81596 /* 230411 */ // Label 5351: @230411
81597 /* 230411 */ GIM_Try, /*On fail goto*//*Label 5352*/ GIMT_Encode4(230479), // Rule ID 1364 //
81598 /* 230416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81599 /* 230419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81600 /* 230423 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81601 /* 230427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81602 /* 230431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81603 /* 230435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81604 /* 230438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81605 /* 230442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81606 /* 230446 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81607 /* 230450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81608 /* 230452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81609 /* 230459 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src3) => (VFMADDSS4mr:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2, FR32:{ *:[f32] }:$src3)
81610 /* 230459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
81611 /* 230462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81612 /* 230464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81613 /* 230466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81614 /* 230470 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81615 /* 230472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81616 /* 230477 */ GIR_RootConstrainSelectedInstOperands,
81617 /* 230478 */ // GIR_Coverage, 1364,
81618 /* 230478 */ GIR_EraseRootFromParent_Done,
81619 /* 230479 */ // Label 5352: @230479
81620 /* 230479 */ GIM_Try, /*On fail goto*//*Label 5353*/ GIMT_Encode4(230547), // Rule ID 10140 //
81621 /* 230484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81622 /* 230487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81623 /* 230491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81624 /* 230495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81625 /* 230499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81626 /* 230503 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81627 /* 230506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81628 /* 230510 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81629 /* 230514 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81630 /* 230518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81631 /* 230520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81632 /* 230527 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VFMADD231SSZm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
81633 /* 230527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
81634 /* 230530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81635 /* 230532 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81636 /* 230534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81637 /* 230536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81638 /* 230540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81639 /* 230545 */ GIR_RootConstrainSelectedInstOperands,
81640 /* 230546 */ // GIR_Coverage, 10140,
81641 /* 230546 */ GIR_EraseRootFromParent_Done,
81642 /* 230547 */ // Label 5353: @230547
81643 /* 230547 */ GIM_Try, /*On fail goto*//*Label 5354*/ GIMT_Encode4(230615), // Rule ID 1298 //
81644 /* 230552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81645 /* 230555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81646 /* 230559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81647 /* 230563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81648 /* 230567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81649 /* 230571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81650 /* 230575 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81651 /* 230578 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81652 /* 230582 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81653 /* 230586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81654 /* 230588 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81655 /* 230595 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SSm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
81656 /* 230595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
81657 /* 230598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81658 /* 230600 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81659 /* 230602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81660 /* 230604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81661 /* 230608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81662 /* 230613 */ GIR_RootConstrainSelectedInstOperands,
81663 /* 230614 */ // GIR_Coverage, 1298,
81664 /* 230614 */ GIR_EraseRootFromParent_Done,
81665 /* 230615 */ // Label 5354: @230615
81666 /* 230615 */ GIM_Try, /*On fail goto*//*Label 5355*/ GIMT_Encode4(230683), // Rule ID 1362 //
81667 /* 230620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81668 /* 230623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81669 /* 230627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81670 /* 230631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81671 /* 230635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81672 /* 230639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81673 /* 230643 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81674 /* 230646 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81675 /* 230650 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81676 /* 230654 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81677 /* 230656 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81678 /* 230663 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDSS4rm:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
81679 /* 230663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
81680 /* 230666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81681 /* 230668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81682 /* 230670 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81683 /* 230672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81684 /* 230676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81685 /* 230681 */ GIR_RootConstrainSelectedInstOperands,
81686 /* 230682 */ // GIR_Coverage, 1362,
81687 /* 230682 */ GIR_EraseRootFromParent_Done,
81688 /* 230683 */ // Label 5355: @230683
81689 /* 230683 */ GIM_Try, /*On fail goto*//*Label 5356*/ GIMT_Encode4(230751), // Rule ID 10137 //
81690 /* 230688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81691 /* 230691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81692 /* 230695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81693 /* 230699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81694 /* 230703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81695 /* 230707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81696 /* 230711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81697 /* 230714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81698 /* 230718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81699 /* 230722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81700 /* 230724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81701 /* 230731 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SSZm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, addr:{ *:[iPTR] }:$src3)
81702 /* 230731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
81703 /* 230734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81704 /* 230736 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81705 /* 230738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81706 /* 230740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81707 /* 230744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81708 /* 230749 */ GIR_RootConstrainSelectedInstOperands,
81709 /* 230750 */ // GIR_Coverage, 10137,
81710 /* 230750 */ GIR_EraseRootFromParent_Done,
81711 /* 230751 */ // Label 5356: @230751
81712 /* 230751 */ GIM_Try, /*On fail goto*//*Label 5357*/ GIMT_Encode4(230788), // Rule ID 1296 //
81713 /* 230756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81714 /* 230759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81715 /* 230763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81716 /* 230767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81717 /* 230771 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81718 /* 230775 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
81719 /* 230775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
81720 /* 230778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81721 /* 230780 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81722 /* 230782 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81723 /* 230784 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81724 /* 230786 */ GIR_RootConstrainSelectedInstOperands,
81725 /* 230787 */ // GIR_Coverage, 1296,
81726 /* 230787 */ GIR_EraseRootFromParent_Done,
81727 /* 230788 */ // Label 5357: @230788
81728 /* 230788 */ GIM_Try, /*On fail goto*//*Label 5358*/ GIMT_Encode4(230823), // Rule ID 1360 //
81729 /* 230793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81730 /* 230796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81731 /* 230800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81732 /* 230804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81733 /* 230808 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
81734 /* 230812 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
81735 /* 230812 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
81736 /* 230817 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81737 /* 230821 */ GIR_RootConstrainSelectedInstOperands,
81738 /* 230822 */ // GIR_Coverage, 1360,
81739 /* 230822 */ GIR_Done,
81740 /* 230823 */ // Label 5358: @230823
81741 /* 230823 */ GIM_Try, /*On fail goto*//*Label 5359*/ GIMT_Encode4(230860), // Rule ID 10135 //
81742 /* 230828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81743 /* 230831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81744 /* 230835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81745 /* 230839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81746 /* 230843 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
81747 /* 230847 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
81748 /* 230847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
81749 /* 230850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81750 /* 230852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81751 /* 230854 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81752 /* 230856 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81753 /* 230858 */ GIR_RootConstrainSelectedInstOperands,
81754 /* 230859 */ // GIR_Coverage, 10135,
81755 /* 230859 */ GIR_EraseRootFromParent_Done,
81756 /* 230860 */ // Label 5359: @230860
81757 /* 230860 */ GIM_Reject,
81758 /* 230861 */ // Label 5347: @230861
81759 /* 230861 */ GIM_Reject,
81760 /* 230862 */ // Label 5331: @230862
81761 /* 230862 */ GIM_Try, /*On fail goto*//*Label 5360*/ GIMT_Encode4(231598),
81762 /* 230867 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
81763 /* 230870 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
81764 /* 230873 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
81765 /* 230876 */ GIM_Try, /*On fail goto*//*Label 5361*/ GIMT_Encode4(230944), // Rule ID 1310 //
81766 /* 230881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81767 /* 230884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81768 /* 230888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81769 /* 230892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81770 /* 230896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81771 /* 230899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81772 /* 230903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81773 /* 230907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81774 /* 230911 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81775 /* 230915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81776 /* 230917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81777 /* 230924 */ // (strict_fma:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VFMADD132SDm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
81778 /* 230924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
81779 /* 230927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81780 /* 230929 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81781 /* 230931 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81782 /* 230933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81783 /* 230937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81784 /* 230942 */ GIR_RootConstrainSelectedInstOperands,
81785 /* 230943 */ // GIR_Coverage, 1310,
81786 /* 230943 */ GIR_EraseRootFromParent_Done,
81787 /* 230944 */ // Label 5361: @230944
81788 /* 230944 */ GIM_Try, /*On fail goto*//*Label 5362*/ GIMT_Encode4(231012), // Rule ID 10151 //
81789 /* 230949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81790 /* 230952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81791 /* 230956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81792 /* 230960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81793 /* 230964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81794 /* 230967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81795 /* 230971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81796 /* 230975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81797 /* 230979 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81798 /* 230983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81799 /* 230985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81800 /* 230992 */ // (strict_fma:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VFMADD132SDZm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
81801 /* 230992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
81802 /* 230995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81803 /* 230997 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81804 /* 230999 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81805 /* 231001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81806 /* 231005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81807 /* 231010 */ GIR_RootConstrainSelectedInstOperands,
81808 /* 231011 */ // GIR_Coverage, 10151,
81809 /* 231011 */ GIR_EraseRootFromParent_Done,
81810 /* 231012 */ // Label 5362: @231012
81811 /* 231012 */ GIM_Try, /*On fail goto*//*Label 5363*/ GIMT_Encode4(231080), // Rule ID 23341 //
81812 /* 231017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81813 /* 231020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81814 /* 231024 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81815 /* 231028 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81816 /* 231032 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81817 /* 231035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81818 /* 231039 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81819 /* 231043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81820 /* 231047 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81821 /* 231051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81822 /* 231053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81823 /* 231060 */ // (strict_fma:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADDSD4mr:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2, FR64:{ *:[f64] }:$src3)
81824 /* 231060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
81825 /* 231063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81826 /* 231065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81827 /* 231067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81828 /* 231071 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81829 /* 231073 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81830 /* 231078 */ GIR_RootConstrainSelectedInstOperands,
81831 /* 231079 */ // GIR_Coverage, 23341,
81832 /* 231079 */ GIR_EraseRootFromParent_Done,
81833 /* 231080 */ // Label 5363: @231080
81834 /* 231080 */ GIM_Try, /*On fail goto*//*Label 5364*/ GIMT_Encode4(231148), // Rule ID 1308 //
81835 /* 231085 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81836 /* 231088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81837 /* 231092 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81838 /* 231096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81839 /* 231100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81840 /* 231104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81841 /* 231107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81842 /* 231111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81843 /* 231115 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81844 /* 231119 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81845 /* 231121 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81846 /* 231128 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VFMADD231SDm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
81847 /* 231128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
81848 /* 231131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81849 /* 231133 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81850 /* 231135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81851 /* 231137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81852 /* 231141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81853 /* 231146 */ GIR_RootConstrainSelectedInstOperands,
81854 /* 231147 */ // GIR_Coverage, 1308,
81855 /* 231147 */ GIR_EraseRootFromParent_Done,
81856 /* 231148 */ // Label 5364: @231148
81857 /* 231148 */ GIM_Try, /*On fail goto*//*Label 5365*/ GIMT_Encode4(231216), // Rule ID 1448 //
81858 /* 231153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81859 /* 231156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81860 /* 231160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81861 /* 231164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81862 /* 231168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81863 /* 231172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81864 /* 231175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81865 /* 231179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81866 /* 231183 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81867 /* 231187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81868 /* 231189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81869 /* 231196 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src3) => (VFMADDSD4mr:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2, FR64:{ *:[f64] }:$src3)
81870 /* 231196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
81871 /* 231199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81872 /* 231201 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81873 /* 231203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81874 /* 231207 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81875 /* 231209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81876 /* 231214 */ GIR_RootConstrainSelectedInstOperands,
81877 /* 231215 */ // GIR_Coverage, 1448,
81878 /* 231215 */ GIR_EraseRootFromParent_Done,
81879 /* 231216 */ // Label 5365: @231216
81880 /* 231216 */ GIM_Try, /*On fail goto*//*Label 5366*/ GIMT_Encode4(231284), // Rule ID 10149 //
81881 /* 231221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81882 /* 231224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81883 /* 231228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81884 /* 231232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81885 /* 231236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81886 /* 231240 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81887 /* 231243 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81888 /* 231247 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81889 /* 231251 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81890 /* 231255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81891 /* 231257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81892 /* 231264 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VFMADD231SDZm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
81893 /* 231264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
81894 /* 231267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81895 /* 231269 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81896 /* 231271 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81897 /* 231273 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81898 /* 231277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81899 /* 231282 */ GIR_RootConstrainSelectedInstOperands,
81900 /* 231283 */ // GIR_Coverage, 10149,
81901 /* 231283 */ GIR_EraseRootFromParent_Done,
81902 /* 231284 */ // Label 5366: @231284
81903 /* 231284 */ GIM_Try, /*On fail goto*//*Label 5367*/ GIMT_Encode4(231352), // Rule ID 1306 //
81904 /* 231289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81905 /* 231292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81906 /* 231296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81907 /* 231300 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81908 /* 231304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81909 /* 231308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81910 /* 231312 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81911 /* 231315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81912 /* 231319 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81913 /* 231323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81914 /* 231325 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81915 /* 231332 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SDm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
81916 /* 231332 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
81917 /* 231335 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81918 /* 231337 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81919 /* 231339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81920 /* 231341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81921 /* 231345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81922 /* 231350 */ GIR_RootConstrainSelectedInstOperands,
81923 /* 231351 */ // GIR_Coverage, 1306,
81924 /* 231351 */ GIR_EraseRootFromParent_Done,
81925 /* 231352 */ // Label 5367: @231352
81926 /* 231352 */ GIM_Try, /*On fail goto*//*Label 5368*/ GIMT_Encode4(231420), // Rule ID 1446 //
81927 /* 231357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81928 /* 231360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81929 /* 231364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81930 /* 231368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81931 /* 231372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81932 /* 231376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81933 /* 231380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81934 /* 231383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81935 /* 231387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81936 /* 231391 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81937 /* 231393 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81938 /* 231400 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDSD4rm:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
81939 /* 231400 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
81940 /* 231403 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81941 /* 231405 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81942 /* 231407 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81943 /* 231409 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81944 /* 231413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81945 /* 231418 */ GIR_RootConstrainSelectedInstOperands,
81946 /* 231419 */ // GIR_Coverage, 1446,
81947 /* 231419 */ GIR_EraseRootFromParent_Done,
81948 /* 231420 */ // Label 5368: @231420
81949 /* 231420 */ GIM_Try, /*On fail goto*//*Label 5369*/ GIMT_Encode4(231488), // Rule ID 10146 //
81950 /* 231425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81951 /* 231428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81952 /* 231432 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81953 /* 231436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
81954 /* 231440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81955 /* 231444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81956 /* 231448 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81957 /* 231451 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81958 /* 231455 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81959 /* 231459 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81960 /* 231461 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81961 /* 231468 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213SDZm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, addr:{ *:[iPTR] }:$src3)
81962 /* 231468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
81963 /* 231471 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81964 /* 231473 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81965 /* 231475 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81966 /* 231477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81967 /* 231481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81968 /* 231486 */ GIR_RootConstrainSelectedInstOperands,
81969 /* 231487 */ // GIR_Coverage, 10146,
81970 /* 231487 */ GIR_EraseRootFromParent_Done,
81971 /* 231488 */ // Label 5369: @231488
81972 /* 231488 */ GIM_Try, /*On fail goto*//*Label 5370*/ GIMT_Encode4(231525), // Rule ID 1304 //
81973 /* 231493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
81974 /* 231496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81975 /* 231500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81976 /* 231504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81977 /* 231508 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81978 /* 231512 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
81979 /* 231512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
81980 /* 231515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81981 /* 231517 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81982 /* 231519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81983 /* 231521 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81984 /* 231523 */ GIR_RootConstrainSelectedInstOperands,
81985 /* 231524 */ // GIR_Coverage, 1304,
81986 /* 231524 */ GIR_EraseRootFromParent_Done,
81987 /* 231525 */ // Label 5370: @231525
81988 /* 231525 */ GIM_Try, /*On fail goto*//*Label 5371*/ GIMT_Encode4(231560), // Rule ID 1444 //
81989 /* 231530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
81990 /* 231533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81991 /* 231537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81992 /* 231541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81993 /* 231545 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
81994 /* 231549 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
81995 /* 231549 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
81996 /* 231554 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81997 /* 231558 */ GIR_RootConstrainSelectedInstOperands,
81998 /* 231559 */ // GIR_Coverage, 1444,
81999 /* 231559 */ GIR_Done,
82000 /* 231560 */ // Label 5371: @231560
82001 /* 231560 */ GIM_Try, /*On fail goto*//*Label 5372*/ GIMT_Encode4(231597), // Rule ID 10144 //
82002 /* 231565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82003 /* 231568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82004 /* 231572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82005 /* 231576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82006 /* 231580 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82007 /* 231584 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
82008 /* 231584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
82009 /* 231587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82010 /* 231589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82011 /* 231591 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82012 /* 231593 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82013 /* 231595 */ GIR_RootConstrainSelectedInstOperands,
82014 /* 231596 */ // GIR_Coverage, 10144,
82015 /* 231596 */ GIR_EraseRootFromParent_Done,
82016 /* 231597 */ // Label 5372: @231597
82017 /* 231597 */ GIM_Reject,
82018 /* 231598 */ // Label 5360: @231598
82019 /* 231598 */ GIM_Reject,
82020 /* 231599 */ // Label 5332: @231599
82021 /* 231599 */ GIM_Try, /*On fail goto*//*Label 5373*/ GIMT_Encode4(232335),
82022 /* 231604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
82023 /* 231607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
82024 /* 231610 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
82025 /* 231613 */ GIM_Try, /*On fail goto*//*Label 5374*/ GIMT_Encode4(231681), // Rule ID 1190 //
82026 /* 231618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82027 /* 231621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82028 /* 231625 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82029 /* 231629 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82030 /* 231633 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82031 /* 231636 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82032 /* 231640 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82033 /* 231644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82034 /* 231648 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82035 /* 231652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82036 /* 231654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82037 /* 231661 */ // (strict_fma:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VFMADD132PDm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82038 /* 231661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
82039 /* 231664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82040 /* 231666 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82041 /* 231668 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82042 /* 231670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82043 /* 231674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82044 /* 231679 */ GIR_RootConstrainSelectedInstOperands,
82045 /* 231680 */ // GIR_Coverage, 1190,
82046 /* 231680 */ GIR_EraseRootFromParent_Done,
82047 /* 231681 */ // Label 5374: @231681
82048 /* 231681 */ GIM_Try, /*On fail goto*//*Label 5375*/ GIMT_Encode4(231749), // Rule ID 9683 //
82049 /* 231686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82050 /* 231689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82051 /* 231693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82052 /* 231697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82053 /* 231701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82054 /* 231704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82055 /* 231708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82056 /* 231712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82057 /* 231716 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82058 /* 231720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82059 /* 231722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82060 /* 231729 */ // (strict_fma:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VFMADD132PDZ128m:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82061 /* 231729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
82062 /* 231732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82063 /* 231734 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82064 /* 231736 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82065 /* 231738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82066 /* 231742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82067 /* 231747 */ GIR_RootConstrainSelectedInstOperands,
82068 /* 231748 */ // GIR_Coverage, 9683,
82069 /* 231748 */ GIR_EraseRootFromParent_Done,
82070 /* 231749 */ // Label 5375: @231749
82071 /* 231749 */ GIM_Try, /*On fail goto*//*Label 5376*/ GIMT_Encode4(231817), // Rule ID 23349 //
82072 /* 231754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82073 /* 231757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82074 /* 231761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82075 /* 231765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82076 /* 231769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82077 /* 231772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82078 /* 231776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82079 /* 231780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82080 /* 231784 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82081 /* 231788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82082 /* 231790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82083 /* 231797 */ // (strict_fma:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4mr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2f64] }:$src3)
82084 /* 231797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
82085 /* 231800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82086 /* 231802 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82087 /* 231804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82088 /* 231808 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82089 /* 231810 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82090 /* 231815 */ GIR_RootConstrainSelectedInstOperands,
82091 /* 231816 */ // GIR_Coverage, 23349,
82092 /* 231816 */ GIR_EraseRootFromParent_Done,
82093 /* 231817 */ // Label 5376: @231817
82094 /* 231817 */ GIM_Try, /*On fail goto*//*Label 5377*/ GIMT_Encode4(231885), // Rule ID 1188 //
82095 /* 231822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82096 /* 231825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82097 /* 231829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82098 /* 231833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82099 /* 231837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82100 /* 231841 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82101 /* 231844 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82102 /* 231848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82103 /* 231852 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82104 /* 231856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82105 /* 231858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82106 /* 231865 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VFMADD231PDm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82107 /* 231865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
82108 /* 231868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82109 /* 231870 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82110 /* 231872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82111 /* 231874 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82112 /* 231878 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82113 /* 231883 */ GIR_RootConstrainSelectedInstOperands,
82114 /* 231884 */ // GIR_Coverage, 1188,
82115 /* 231884 */ GIR_EraseRootFromParent_Done,
82116 /* 231885 */ // Label 5377: @231885
82117 /* 231885 */ GIM_Try, /*On fail goto*//*Label 5378*/ GIMT_Encode4(231953), // Rule ID 1472 //
82118 /* 231890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82119 /* 231893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82120 /* 231897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82121 /* 231901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82122 /* 231905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82123 /* 231909 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82124 /* 231912 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82125 /* 231916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82126 /* 231920 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82127 /* 231924 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82128 /* 231926 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82129 /* 231933 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4mr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2f64] }:$src3)
82130 /* 231933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
82131 /* 231936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82132 /* 231938 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82133 /* 231940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82134 /* 231944 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82135 /* 231946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82136 /* 231951 */ GIR_RootConstrainSelectedInstOperands,
82137 /* 231952 */ // GIR_Coverage, 1472,
82138 /* 231952 */ GIR_EraseRootFromParent_Done,
82139 /* 231953 */ // Label 5378: @231953
82140 /* 231953 */ GIM_Try, /*On fail goto*//*Label 5379*/ GIMT_Encode4(232021), // Rule ID 9143 //
82141 /* 231958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82142 /* 231961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82143 /* 231965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82144 /* 231969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82145 /* 231973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82146 /* 231977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82147 /* 231980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82148 /* 231984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82149 /* 231988 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82150 /* 231992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82151 /* 231994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82152 /* 232001 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VFMADD231PDZ128m:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82153 /* 232001 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
82154 /* 232004 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82155 /* 232006 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82156 /* 232008 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82157 /* 232010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82158 /* 232014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82159 /* 232019 */ GIR_RootConstrainSelectedInstOperands,
82160 /* 232020 */ // GIR_Coverage, 9143,
82161 /* 232020 */ GIR_EraseRootFromParent_Done,
82162 /* 232021 */ // Label 5379: @232021
82163 /* 232021 */ GIM_Try, /*On fail goto*//*Label 5380*/ GIMT_Encode4(232089), // Rule ID 1186 //
82164 /* 232026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82165 /* 232029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82166 /* 232033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82167 /* 232037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82168 /* 232041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82169 /* 232045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82170 /* 232049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82171 /* 232052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82172 /* 232056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82173 /* 232060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82174 /* 232062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82175 /* 232069 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82176 /* 232069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
82177 /* 232072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82178 /* 232074 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82179 /* 232076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82180 /* 232078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82181 /* 232082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82182 /* 232087 */ GIR_RootConstrainSelectedInstOperands,
82183 /* 232088 */ // GIR_Coverage, 1186,
82184 /* 232088 */ GIR_EraseRootFromParent_Done,
82185 /* 232089 */ // Label 5380: @232089
82186 /* 232089 */ GIM_Try, /*On fail goto*//*Label 5381*/ GIMT_Encode4(232157), // Rule ID 1470 //
82187 /* 232094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82188 /* 232097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82189 /* 232101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82190 /* 232105 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82191 /* 232109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82192 /* 232113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82193 /* 232117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82194 /* 232120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82195 /* 232124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82196 /* 232128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82197 /* 232130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82198 /* 232137 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPD4rm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82199 /* 232137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
82200 /* 232140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82201 /* 232142 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82202 /* 232144 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
82203 /* 232146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82204 /* 232150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82205 /* 232155 */ GIR_RootConstrainSelectedInstOperands,
82206 /* 232156 */ // GIR_Coverage, 1470,
82207 /* 232156 */ GIR_EraseRootFromParent_Done,
82208 /* 232157 */ // Label 5381: @232157
82209 /* 232157 */ GIM_Try, /*On fail goto*//*Label 5382*/ GIMT_Encode4(232225), // Rule ID 8516 //
82210 /* 232162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82211 /* 232165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82212 /* 232169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82213 /* 232173 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82214 /* 232177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82215 /* 232181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82216 /* 232185 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82217 /* 232188 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82218 /* 232192 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82219 /* 232196 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82220 /* 232198 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82221 /* 232205 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDZ128m:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82222 /* 232205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
82223 /* 232208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82224 /* 232210 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82225 /* 232212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82226 /* 232214 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82227 /* 232218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82228 /* 232223 */ GIR_RootConstrainSelectedInstOperands,
82229 /* 232224 */ // GIR_Coverage, 8516,
82230 /* 232224 */ GIR_EraseRootFromParent_Done,
82231 /* 232225 */ // Label 5382: @232225
82232 /* 232225 */ GIM_Try, /*On fail goto*//*Label 5383*/ GIMT_Encode4(232262), // Rule ID 1184 //
82233 /* 232230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82234 /* 232233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82235 /* 232237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82236 /* 232241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82237 /* 232245 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82238 /* 232249 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
82239 /* 232249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
82240 /* 232252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82241 /* 232254 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82242 /* 232256 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82243 /* 232258 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82244 /* 232260 */ GIR_RootConstrainSelectedInstOperands,
82245 /* 232261 */ // GIR_Coverage, 1184,
82246 /* 232261 */ GIR_EraseRootFromParent_Done,
82247 /* 232262 */ // Label 5383: @232262
82248 /* 232262 */ GIM_Try, /*On fail goto*//*Label 5384*/ GIMT_Encode4(232297), // Rule ID 1468 //
82249 /* 232267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82250 /* 232270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82251 /* 232274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82252 /* 232278 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82253 /* 232282 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82254 /* 232286 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
82255 /* 232286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
82256 /* 232291 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82257 /* 232295 */ GIR_RootConstrainSelectedInstOperands,
82258 /* 232296 */ // GIR_Coverage, 1468,
82259 /* 232296 */ GIR_Done,
82260 /* 232297 */ // Label 5384: @232297
82261 /* 232297 */ GIM_Try, /*On fail goto*//*Label 5385*/ GIMT_Encode4(232334), // Rule ID 8512 //
82262 /* 232302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82263 /* 232305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82264 /* 232309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82265 /* 232313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82266 /* 232317 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82267 /* 232321 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
82268 /* 232321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
82269 /* 232324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82270 /* 232326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82271 /* 232328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82272 /* 232330 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82273 /* 232332 */ GIR_RootConstrainSelectedInstOperands,
82274 /* 232333 */ // GIR_Coverage, 8512,
82275 /* 232333 */ GIR_EraseRootFromParent_Done,
82276 /* 232334 */ // Label 5385: @232334
82277 /* 232334 */ GIM_Reject,
82278 /* 232335 */ // Label 5373: @232335
82279 /* 232335 */ GIM_Reject,
82280 /* 232336 */ // Label 5333: @232336
82281 /* 232336 */ GIM_Try, /*On fail goto*//*Label 5386*/ GIMT_Encode4(233072),
82282 /* 232341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
82283 /* 232344 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
82284 /* 232347 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
82285 /* 232350 */ GIM_Try, /*On fail goto*//*Label 5387*/ GIMT_Encode4(232418), // Rule ID 1142 //
82286 /* 232355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82287 /* 232358 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82288 /* 232362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82289 /* 232366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82290 /* 232370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82291 /* 232373 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82292 /* 232377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82293 /* 232381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82294 /* 232385 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82295 /* 232389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82296 /* 232391 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82297 /* 232398 */ // (strict_fma:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VFMADD132PSm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82298 /* 232398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
82299 /* 232401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82300 /* 232403 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82301 /* 232405 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82302 /* 232407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82303 /* 232411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82304 /* 232416 */ GIR_RootConstrainSelectedInstOperands,
82305 /* 232417 */ // GIR_Coverage, 1142,
82306 /* 232417 */ GIR_EraseRootFromParent_Done,
82307 /* 232418 */ // Label 5387: @232418
82308 /* 232418 */ GIM_Try, /*On fail goto*//*Label 5388*/ GIMT_Encode4(232486), // Rule ID 9651 //
82309 /* 232423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82310 /* 232426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82311 /* 232430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82312 /* 232434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82313 /* 232438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82314 /* 232441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82315 /* 232445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82316 /* 232449 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82317 /* 232453 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82318 /* 232457 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82319 /* 232459 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82320 /* 232466 */ // (strict_fma:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VFMADD132PSZ128m:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82321 /* 232466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
82322 /* 232469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82323 /* 232471 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82324 /* 232473 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82325 /* 232475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82326 /* 232479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82327 /* 232484 */ GIR_RootConstrainSelectedInstOperands,
82328 /* 232485 */ // GIR_Coverage, 9651,
82329 /* 232485 */ GIR_EraseRootFromParent_Done,
82330 /* 232486 */ // Label 5388: @232486
82331 /* 232486 */ GIM_Try, /*On fail goto*//*Label 5389*/ GIMT_Encode4(232554), // Rule ID 23321 //
82332 /* 232491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82333 /* 232494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82334 /* 232498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82335 /* 232502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82336 /* 232506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82337 /* 232509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82338 /* 232513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82339 /* 232517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82340 /* 232521 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82341 /* 232525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82342 /* 232527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82343 /* 232534 */ // (strict_fma:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4mr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4f32] }:$src3)
82344 /* 232534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
82345 /* 232537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82346 /* 232539 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82347 /* 232541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82348 /* 232545 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82349 /* 232547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82350 /* 232552 */ GIR_RootConstrainSelectedInstOperands,
82351 /* 232553 */ // GIR_Coverage, 23321,
82352 /* 232553 */ GIR_EraseRootFromParent_Done,
82353 /* 232554 */ // Label 5389: @232554
82354 /* 232554 */ GIM_Try, /*On fail goto*//*Label 5390*/ GIMT_Encode4(232622), // Rule ID 1140 //
82355 /* 232559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82356 /* 232562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82357 /* 232566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82358 /* 232570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82359 /* 232574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82360 /* 232578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82361 /* 232581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82362 /* 232585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82363 /* 232589 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82364 /* 232593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82365 /* 232595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82366 /* 232602 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VFMADD231PSm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82367 /* 232602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
82368 /* 232605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82369 /* 232607 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82370 /* 232609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82371 /* 232611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82372 /* 232615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82373 /* 232620 */ GIR_RootConstrainSelectedInstOperands,
82374 /* 232621 */ // GIR_Coverage, 1140,
82375 /* 232621 */ GIR_EraseRootFromParent_Done,
82376 /* 232622 */ // Label 5390: @232622
82377 /* 232622 */ GIM_Try, /*On fail goto*//*Label 5391*/ GIMT_Encode4(232690), // Rule ID 1388 //
82378 /* 232627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82379 /* 232630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82380 /* 232634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82381 /* 232638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82382 /* 232642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82383 /* 232646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82384 /* 232649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82385 /* 232653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82386 /* 232657 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82387 /* 232661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82388 /* 232663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82389 /* 232670 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4mr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4f32] }:$src3)
82390 /* 232670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
82391 /* 232673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82392 /* 232675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82393 /* 232677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82394 /* 232681 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82395 /* 232683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82396 /* 232688 */ GIR_RootConstrainSelectedInstOperands,
82397 /* 232689 */ // GIR_Coverage, 1388,
82398 /* 232689 */ GIR_EraseRootFromParent_Done,
82399 /* 232690 */ // Label 5391: @232690
82400 /* 232690 */ GIM_Try, /*On fail goto*//*Label 5392*/ GIMT_Encode4(232758), // Rule ID 9111 //
82401 /* 232695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82402 /* 232698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82403 /* 232702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82404 /* 232706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82405 /* 232710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82406 /* 232714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82407 /* 232717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82408 /* 232721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82409 /* 232725 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82410 /* 232729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82411 /* 232731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82412 /* 232738 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VFMADD231PSZ128m:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82413 /* 232738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
82414 /* 232741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82415 /* 232743 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82416 /* 232745 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82417 /* 232747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82418 /* 232751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82419 /* 232756 */ GIR_RootConstrainSelectedInstOperands,
82420 /* 232757 */ // GIR_Coverage, 9111,
82421 /* 232757 */ GIR_EraseRootFromParent_Done,
82422 /* 232758 */ // Label 5392: @232758
82423 /* 232758 */ GIM_Try, /*On fail goto*//*Label 5393*/ GIMT_Encode4(232826), // Rule ID 1138 //
82424 /* 232763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82425 /* 232766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82426 /* 232770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82427 /* 232774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82428 /* 232778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82429 /* 232782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82430 /* 232786 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82431 /* 232789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82432 /* 232793 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82433 /* 232797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82434 /* 232799 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82435 /* 232806 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82436 /* 232806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
82437 /* 232809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82438 /* 232811 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82439 /* 232813 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82440 /* 232815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82441 /* 232819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82442 /* 232824 */ GIR_RootConstrainSelectedInstOperands,
82443 /* 232825 */ // GIR_Coverage, 1138,
82444 /* 232825 */ GIR_EraseRootFromParent_Done,
82445 /* 232826 */ // Label 5393: @232826
82446 /* 232826 */ GIM_Try, /*On fail goto*//*Label 5394*/ GIMT_Encode4(232894), // Rule ID 1386 //
82447 /* 232831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82448 /* 232834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82449 /* 232838 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82450 /* 232842 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82451 /* 232846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82452 /* 232850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82453 /* 232854 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82454 /* 232857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82455 /* 232861 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82456 /* 232865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82457 /* 232867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82458 /* 232874 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPS4rm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82459 /* 232874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
82460 /* 232877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82461 /* 232879 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82462 /* 232881 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
82463 /* 232883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82464 /* 232887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82465 /* 232892 */ GIR_RootConstrainSelectedInstOperands,
82466 /* 232893 */ // GIR_Coverage, 1386,
82467 /* 232893 */ GIR_EraseRootFromParent_Done,
82468 /* 232894 */ // Label 5394: @232894
82469 /* 232894 */ GIM_Try, /*On fail goto*//*Label 5395*/ GIMT_Encode4(232962), // Rule ID 8477 //
82470 /* 232899 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82471 /* 232902 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82472 /* 232906 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82473 /* 232910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82474 /* 232914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82475 /* 232918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82476 /* 232922 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82477 /* 232925 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82478 /* 232929 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82479 /* 232933 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82480 /* 232935 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82481 /* 232942 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSZ128m:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82482 /* 232942 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
82483 /* 232945 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82484 /* 232947 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82485 /* 232949 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82486 /* 232951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82487 /* 232955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82488 /* 232960 */ GIR_RootConstrainSelectedInstOperands,
82489 /* 232961 */ // GIR_Coverage, 8477,
82490 /* 232961 */ GIR_EraseRootFromParent_Done,
82491 /* 232962 */ // Label 5395: @232962
82492 /* 232962 */ GIM_Try, /*On fail goto*//*Label 5396*/ GIMT_Encode4(232999), // Rule ID 1136 //
82493 /* 232967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82494 /* 232970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82495 /* 232974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82496 /* 232978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82497 /* 232982 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82498 /* 232986 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
82499 /* 232986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
82500 /* 232989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82501 /* 232991 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82502 /* 232993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82503 /* 232995 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82504 /* 232997 */ GIR_RootConstrainSelectedInstOperands,
82505 /* 232998 */ // GIR_Coverage, 1136,
82506 /* 232998 */ GIR_EraseRootFromParent_Done,
82507 /* 232999 */ // Label 5396: @232999
82508 /* 232999 */ GIM_Try, /*On fail goto*//*Label 5397*/ GIMT_Encode4(233034), // Rule ID 1384 //
82509 /* 233004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82510 /* 233007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82511 /* 233011 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82512 /* 233015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82513 /* 233019 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82514 /* 233023 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
82515 /* 233023 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
82516 /* 233028 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82517 /* 233032 */ GIR_RootConstrainSelectedInstOperands,
82518 /* 233033 */ // GIR_Coverage, 1384,
82519 /* 233033 */ GIR_Done,
82520 /* 233034 */ // Label 5397: @233034
82521 /* 233034 */ GIM_Try, /*On fail goto*//*Label 5398*/ GIMT_Encode4(233071), // Rule ID 8473 //
82522 /* 233039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82523 /* 233042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82524 /* 233046 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82525 /* 233050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82526 /* 233054 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82527 /* 233058 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
82528 /* 233058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
82529 /* 233061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82530 /* 233063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82531 /* 233065 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82532 /* 233067 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82533 /* 233069 */ GIR_RootConstrainSelectedInstOperands,
82534 /* 233070 */ // GIR_Coverage, 8473,
82535 /* 233070 */ GIR_EraseRootFromParent_Done,
82536 /* 233071 */ // Label 5398: @233071
82537 /* 233071 */ GIM_Reject,
82538 /* 233072 */ // Label 5386: @233072
82539 /* 233072 */ GIM_Reject,
82540 /* 233073 */ // Label 5334: @233073
82541 /* 233073 */ GIM_Try, /*On fail goto*//*Label 5399*/ GIMT_Encode4(233809),
82542 /* 233078 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
82543 /* 233081 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
82544 /* 233084 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
82545 /* 233087 */ GIM_Try, /*On fail goto*//*Label 5400*/ GIMT_Encode4(233155), // Rule ID 1198 //
82546 /* 233092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82547 /* 233095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82548 /* 233099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82549 /* 233103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82550 /* 233107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82551 /* 233110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82552 /* 233114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82553 /* 233118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82554 /* 233122 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82555 /* 233126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82556 /* 233128 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82557 /* 233135 */ // (strict_fma:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VFMADD132PDYm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82558 /* 233135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
82559 /* 233138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82560 /* 233140 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82561 /* 233142 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82562 /* 233144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82563 /* 233148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82564 /* 233153 */ GIR_RootConstrainSelectedInstOperands,
82565 /* 233154 */ // GIR_Coverage, 1198,
82566 /* 233154 */ GIR_EraseRootFromParent_Done,
82567 /* 233155 */ // Label 5400: @233155
82568 /* 233155 */ GIM_Try, /*On fail goto*//*Label 5401*/ GIMT_Encode4(233223), // Rule ID 9673 //
82569 /* 233160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82570 /* 233163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82571 /* 233167 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82572 /* 233171 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82573 /* 233175 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82574 /* 233178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82575 /* 233182 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82576 /* 233186 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82577 /* 233190 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82578 /* 233194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82579 /* 233196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82580 /* 233203 */ // (strict_fma:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VFMADD132PDZ256m:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82581 /* 233203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
82582 /* 233206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82583 /* 233208 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82584 /* 233210 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82585 /* 233212 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82586 /* 233216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82587 /* 233221 */ GIR_RootConstrainSelectedInstOperands,
82588 /* 233222 */ // GIR_Coverage, 9673,
82589 /* 233222 */ GIR_EraseRootFromParent_Done,
82590 /* 233223 */ // Label 5401: @233223
82591 /* 233223 */ GIM_Try, /*On fail goto*//*Label 5402*/ GIMT_Encode4(233291), // Rule ID 23351 //
82592 /* 233228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82593 /* 233231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82594 /* 233235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82595 /* 233239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82596 /* 233243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82597 /* 233246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82598 /* 233250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82599 /* 233254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82600 /* 233258 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82601 /* 233262 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82602 /* 233264 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82603 /* 233271 */ // (strict_fma:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Ymr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4f64] }:$src3)
82604 /* 233271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
82605 /* 233274 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82606 /* 233276 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82607 /* 233278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82608 /* 233282 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82609 /* 233284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82610 /* 233289 */ GIR_RootConstrainSelectedInstOperands,
82611 /* 233290 */ // GIR_Coverage, 23351,
82612 /* 233290 */ GIR_EraseRootFromParent_Done,
82613 /* 233291 */ // Label 5402: @233291
82614 /* 233291 */ GIM_Try, /*On fail goto*//*Label 5403*/ GIMT_Encode4(233359), // Rule ID 1196 //
82615 /* 233296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82616 /* 233299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82617 /* 233303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82618 /* 233307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82619 /* 233311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82620 /* 233315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82621 /* 233318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82622 /* 233322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82623 /* 233326 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82624 /* 233330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82625 /* 233332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82626 /* 233339 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VFMADD231PDYm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82627 /* 233339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
82628 /* 233342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82629 /* 233344 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82630 /* 233346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82631 /* 233348 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82632 /* 233352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82633 /* 233357 */ GIR_RootConstrainSelectedInstOperands,
82634 /* 233358 */ // GIR_Coverage, 1196,
82635 /* 233358 */ GIR_EraseRootFromParent_Done,
82636 /* 233359 */ // Label 5403: @233359
82637 /* 233359 */ GIM_Try, /*On fail goto*//*Label 5404*/ GIMT_Encode4(233427), // Rule ID 1478 //
82638 /* 233364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82639 /* 233367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82640 /* 233371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82641 /* 233375 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82642 /* 233379 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82643 /* 233383 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82644 /* 233386 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82645 /* 233390 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82646 /* 233394 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82647 /* 233398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82648 /* 233400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82649 /* 233407 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Ymr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4f64] }:$src3)
82650 /* 233407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
82651 /* 233410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82652 /* 233412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82653 /* 233414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82654 /* 233418 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82655 /* 233420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82656 /* 233425 */ GIR_RootConstrainSelectedInstOperands,
82657 /* 233426 */ // GIR_Coverage, 1478,
82658 /* 233426 */ GIR_EraseRootFromParent_Done,
82659 /* 233427 */ // Label 5404: @233427
82660 /* 233427 */ GIM_Try, /*On fail goto*//*Label 5405*/ GIMT_Encode4(233495), // Rule ID 9133 //
82661 /* 233432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82662 /* 233435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82663 /* 233439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82664 /* 233443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82665 /* 233447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82666 /* 233451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82667 /* 233454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82668 /* 233458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82669 /* 233462 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82670 /* 233466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82671 /* 233468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82672 /* 233475 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VFMADD231PDZ256m:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82673 /* 233475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
82674 /* 233478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82675 /* 233480 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82676 /* 233482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82677 /* 233484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82678 /* 233488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82679 /* 233493 */ GIR_RootConstrainSelectedInstOperands,
82680 /* 233494 */ // GIR_Coverage, 9133,
82681 /* 233494 */ GIR_EraseRootFromParent_Done,
82682 /* 233495 */ // Label 5405: @233495
82683 /* 233495 */ GIM_Try, /*On fail goto*//*Label 5406*/ GIMT_Encode4(233563), // Rule ID 1194 //
82684 /* 233500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82685 /* 233503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82686 /* 233507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82687 /* 233511 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82688 /* 233515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82689 /* 233519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82690 /* 233523 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82691 /* 233526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82692 /* 233530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82693 /* 233534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82694 /* 233536 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82695 /* 233543 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDYm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82696 /* 233543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
82697 /* 233546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82698 /* 233548 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82699 /* 233550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82700 /* 233552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82701 /* 233556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82702 /* 233561 */ GIR_RootConstrainSelectedInstOperands,
82703 /* 233562 */ // GIR_Coverage, 1194,
82704 /* 233562 */ GIR_EraseRootFromParent_Done,
82705 /* 233563 */ // Label 5406: @233563
82706 /* 233563 */ GIM_Try, /*On fail goto*//*Label 5407*/ GIMT_Encode4(233631), // Rule ID 1476 //
82707 /* 233568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82708 /* 233571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82709 /* 233575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82710 /* 233579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82711 /* 233583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82712 /* 233587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82713 /* 233591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82714 /* 233594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82715 /* 233598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82716 /* 233602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82717 /* 233604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82718 /* 233611 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPD4Yrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82719 /* 233611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
82720 /* 233614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82721 /* 233616 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82722 /* 233618 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
82723 /* 233620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82724 /* 233624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82725 /* 233629 */ GIR_RootConstrainSelectedInstOperands,
82726 /* 233630 */ // GIR_Coverage, 1476,
82727 /* 233630 */ GIR_EraseRootFromParent_Done,
82728 /* 233631 */ // Label 5407: @233631
82729 /* 233631 */ GIM_Try, /*On fail goto*//*Label 5408*/ GIMT_Encode4(233699), // Rule ID 8504 //
82730 /* 233636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82731 /* 233639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82732 /* 233643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82733 /* 233647 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82734 /* 233651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82735 /* 233655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82736 /* 233659 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82737 /* 233662 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82738 /* 233666 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82739 /* 233670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82740 /* 233672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82741 /* 233679 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDZ256m:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, addr:{ *:[iPTR] }:$src3)
82742 /* 233679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
82743 /* 233682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82744 /* 233684 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82745 /* 233686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82746 /* 233688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82747 /* 233692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82748 /* 233697 */ GIR_RootConstrainSelectedInstOperands,
82749 /* 233698 */ // GIR_Coverage, 8504,
82750 /* 233698 */ GIR_EraseRootFromParent_Done,
82751 /* 233699 */ // Label 5408: @233699
82752 /* 233699 */ GIM_Try, /*On fail goto*//*Label 5409*/ GIMT_Encode4(233736), // Rule ID 1192 //
82753 /* 233704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82754 /* 233707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82755 /* 233711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82756 /* 233715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82757 /* 233719 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82758 /* 233723 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
82759 /* 233723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
82760 /* 233726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82761 /* 233728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82762 /* 233730 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82763 /* 233732 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82764 /* 233734 */ GIR_RootConstrainSelectedInstOperands,
82765 /* 233735 */ // GIR_Coverage, 1192,
82766 /* 233735 */ GIR_EraseRootFromParent_Done,
82767 /* 233736 */ // Label 5409: @233736
82768 /* 233736 */ GIM_Try, /*On fail goto*//*Label 5410*/ GIMT_Encode4(233771), // Rule ID 1474 //
82769 /* 233741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82770 /* 233744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82771 /* 233748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82772 /* 233752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82773 /* 233756 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82774 /* 233760 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
82775 /* 233760 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
82776 /* 233765 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82777 /* 233769 */ GIR_RootConstrainSelectedInstOperands,
82778 /* 233770 */ // GIR_Coverage, 1474,
82779 /* 233770 */ GIR_Done,
82780 /* 233771 */ // Label 5410: @233771
82781 /* 233771 */ GIM_Try, /*On fail goto*//*Label 5411*/ GIMT_Encode4(233808), // Rule ID 8500 //
82782 /* 233776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82783 /* 233779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82784 /* 233783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82785 /* 233787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82786 /* 233791 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82787 /* 233795 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
82788 /* 233795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
82789 /* 233798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82790 /* 233800 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82791 /* 233802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82792 /* 233804 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82793 /* 233806 */ GIR_RootConstrainSelectedInstOperands,
82794 /* 233807 */ // GIR_Coverage, 8500,
82795 /* 233807 */ GIR_EraseRootFromParent_Done,
82796 /* 233808 */ // Label 5411: @233808
82797 /* 233808 */ GIM_Reject,
82798 /* 233809 */ // Label 5399: @233809
82799 /* 233809 */ GIM_Reject,
82800 /* 233810 */ // Label 5335: @233810
82801 /* 233810 */ GIM_Try, /*On fail goto*//*Label 5412*/ GIMT_Encode4(234054),
82802 /* 233815 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
82803 /* 233818 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
82804 /* 233821 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
82805 /* 233824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82806 /* 233828 */ GIM_Try, /*On fail goto*//*Label 5413*/ GIMT_Encode4(233892), // Rule ID 9619 //
82807 /* 233833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82808 /* 233836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82809 /* 233840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82810 /* 233844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82811 /* 233847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82812 /* 233851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82813 /* 233855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82814 /* 233859 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82815 /* 233863 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82816 /* 233865 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82817 /* 233872 */ // (strict_fma:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VFMADD132PHZ128m:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, addr:{ *:[iPTR] }:$src3)
82818 /* 233872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
82819 /* 233875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82820 /* 233877 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82821 /* 233879 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82822 /* 233881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82823 /* 233885 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82824 /* 233890 */ GIR_RootConstrainSelectedInstOperands,
82825 /* 233891 */ // GIR_Coverage, 9619,
82826 /* 233891 */ GIR_EraseRootFromParent_Done,
82827 /* 233892 */ // Label 5413: @233892
82828 /* 233892 */ GIM_Try, /*On fail goto*//*Label 5414*/ GIMT_Encode4(233956), // Rule ID 9079 //
82829 /* 233897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82830 /* 233900 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82831 /* 233904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82832 /* 233908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82833 /* 233912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82834 /* 233915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82835 /* 233919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82836 /* 233923 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82837 /* 233927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82838 /* 233929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82839 /* 233936 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VFMADD231PHZ128m:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, addr:{ *:[iPTR] }:$src3)
82840 /* 233936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
82841 /* 233939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82842 /* 233941 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82843 /* 233943 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82844 /* 233945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82845 /* 233949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82846 /* 233954 */ GIR_RootConstrainSelectedInstOperands,
82847 /* 233955 */ // GIR_Coverage, 9079,
82848 /* 233955 */ GIR_EraseRootFromParent_Done,
82849 /* 233956 */ // Label 5414: @233956
82850 /* 233956 */ GIM_Try, /*On fail goto*//*Label 5415*/ GIMT_Encode4(234020), // Rule ID 8438 //
82851 /* 233961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82852 /* 233964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82853 /* 233968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82854 /* 233972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82855 /* 233976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82856 /* 233980 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82857 /* 233983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82858 /* 233987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82859 /* 233991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82860 /* 233993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82861 /* 234000 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PHZ128m:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, addr:{ *:[iPTR] }:$src3)
82862 /* 234000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
82863 /* 234003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82864 /* 234005 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82865 /* 234007 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82866 /* 234009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82867 /* 234013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82868 /* 234018 */ GIR_RootConstrainSelectedInstOperands,
82869 /* 234019 */ // GIR_Coverage, 8438,
82870 /* 234019 */ GIR_EraseRootFromParent_Done,
82871 /* 234020 */ // Label 5415: @234020
82872 /* 234020 */ GIM_Try, /*On fail goto*//*Label 5416*/ GIMT_Encode4(234053), // Rule ID 8434 //
82873 /* 234025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82874 /* 234028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82875 /* 234032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82876 /* 234036 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82877 /* 234040 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
82878 /* 234040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
82879 /* 234043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82880 /* 234045 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82881 /* 234047 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82882 /* 234049 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82883 /* 234051 */ GIR_RootConstrainSelectedInstOperands,
82884 /* 234052 */ // GIR_Coverage, 8434,
82885 /* 234052 */ GIR_EraseRootFromParent_Done,
82886 /* 234053 */ // Label 5416: @234053
82887 /* 234053 */ GIM_Reject,
82888 /* 234054 */ // Label 5412: @234054
82889 /* 234054 */ GIM_Reject,
82890 /* 234055 */ // Label 5336: @234055
82891 /* 234055 */ GIM_Try, /*On fail goto*//*Label 5417*/ GIMT_Encode4(234791),
82892 /* 234060 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
82893 /* 234063 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
82894 /* 234066 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
82895 /* 234069 */ GIM_Try, /*On fail goto*//*Label 5418*/ GIMT_Encode4(234137), // Rule ID 1150 //
82896 /* 234074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82897 /* 234077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82898 /* 234081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82899 /* 234085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82900 /* 234089 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82901 /* 234092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82902 /* 234096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82903 /* 234100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82904 /* 234104 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82905 /* 234108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82906 /* 234110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82907 /* 234117 */ // (strict_fma:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VFMADD132PSYm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82908 /* 234117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
82909 /* 234120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82910 /* 234122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82911 /* 234124 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82912 /* 234126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82913 /* 234130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82914 /* 234135 */ GIR_RootConstrainSelectedInstOperands,
82915 /* 234136 */ // GIR_Coverage, 1150,
82916 /* 234136 */ GIR_EraseRootFromParent_Done,
82917 /* 234137 */ // Label 5418: @234137
82918 /* 234137 */ GIM_Try, /*On fail goto*//*Label 5419*/ GIMT_Encode4(234205), // Rule ID 9641 //
82919 /* 234142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82920 /* 234145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82921 /* 234149 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82922 /* 234153 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82923 /* 234157 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82924 /* 234160 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82925 /* 234164 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82926 /* 234168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82927 /* 234172 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82928 /* 234176 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82929 /* 234178 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82930 /* 234185 */ // (strict_fma:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VFMADD132PSZ256m:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82931 /* 234185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
82932 /* 234188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82933 /* 234190 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82934 /* 234192 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82935 /* 234194 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82936 /* 234198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82937 /* 234203 */ GIR_RootConstrainSelectedInstOperands,
82938 /* 234204 */ // GIR_Coverage, 9641,
82939 /* 234204 */ GIR_EraseRootFromParent_Done,
82940 /* 234205 */ // Label 5419: @234205
82941 /* 234205 */ GIM_Try, /*On fail goto*//*Label 5420*/ GIMT_Encode4(234273), // Rule ID 23323 //
82942 /* 234210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82943 /* 234213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82944 /* 234217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82945 /* 234221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82946 /* 234225 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82947 /* 234228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82948 /* 234232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82949 /* 234236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82950 /* 234240 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82951 /* 234244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82952 /* 234246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82953 /* 234253 */ // (strict_fma:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Ymr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8f32] }:$src3)
82954 /* 234253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
82955 /* 234256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82956 /* 234258 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82957 /* 234260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82958 /* 234264 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82959 /* 234266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82960 /* 234271 */ GIR_RootConstrainSelectedInstOperands,
82961 /* 234272 */ // GIR_Coverage, 23323,
82962 /* 234272 */ GIR_EraseRootFromParent_Done,
82963 /* 234273 */ // Label 5420: @234273
82964 /* 234273 */ GIM_Try, /*On fail goto*//*Label 5421*/ GIMT_Encode4(234341), // Rule ID 1148 //
82965 /* 234278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82966 /* 234281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82967 /* 234285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82968 /* 234289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82969 /* 234293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82970 /* 234297 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82971 /* 234300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82972 /* 234304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82973 /* 234308 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82974 /* 234312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82975 /* 234314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82976 /* 234321 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VFMADD231PSYm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
82977 /* 234321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
82978 /* 234324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82979 /* 234326 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82980 /* 234328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82981 /* 234330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82982 /* 234334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82983 /* 234339 */ GIR_RootConstrainSelectedInstOperands,
82984 /* 234340 */ // GIR_Coverage, 1148,
82985 /* 234340 */ GIR_EraseRootFromParent_Done,
82986 /* 234341 */ // Label 5421: @234341
82987 /* 234341 */ GIM_Try, /*On fail goto*//*Label 5422*/ GIMT_Encode4(234409), // Rule ID 1394 //
82988 /* 234346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82989 /* 234349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82990 /* 234353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82991 /* 234357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82992 /* 234361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82993 /* 234365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82994 /* 234368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82995 /* 234372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82996 /* 234376 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82997 /* 234380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82998 /* 234382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82999 /* 234389 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Ymr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8f32] }:$src3)
83000 /* 234389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
83001 /* 234392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83002 /* 234394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
83003 /* 234396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
83004 /* 234400 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
83005 /* 234402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83006 /* 234407 */ GIR_RootConstrainSelectedInstOperands,
83007 /* 234408 */ // GIR_Coverage, 1394,
83008 /* 234408 */ GIR_EraseRootFromParent_Done,
83009 /* 234409 */ // Label 5422: @234409
83010 /* 234409 */ GIM_Try, /*On fail goto*//*Label 5423*/ GIMT_Encode4(234477), // Rule ID 9101 //
83011 /* 234414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
83012 /* 234417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83013 /* 234421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83014 /* 234425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
83015 /* 234429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83016 /* 234433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83017 /* 234436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83018 /* 234440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83019 /* 234444 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83020 /* 234448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83021 /* 234450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83022 /* 234457 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VFMADD231PSZ256m:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
83023 /* 234457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
83024 /* 234460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83025 /* 234462 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
83026 /* 234464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83027 /* 234466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83028 /* 234470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83029 /* 234475 */ GIR_RootConstrainSelectedInstOperands,
83030 /* 234476 */ // GIR_Coverage, 9101,
83031 /* 234476 */ GIR_EraseRootFromParent_Done,
83032 /* 234477 */ // Label 5423: @234477
83033 /* 234477 */ GIM_Try, /*On fail goto*//*Label 5424*/ GIMT_Encode4(234545), // Rule ID 1146 //
83034 /* 234482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
83035 /* 234485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83036 /* 234489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83037 /* 234493 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83038 /* 234497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
83039 /* 234501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83040 /* 234505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83041 /* 234508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83042 /* 234512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83043 /* 234516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83044 /* 234518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83045 /* 234525 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSYm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
83046 /* 234525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
83047 /* 234528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83048 /* 234530 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83049 /* 234532 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83050 /* 234534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83051 /* 234538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83052 /* 234543 */ GIR_RootConstrainSelectedInstOperands,
83053 /* 234544 */ // GIR_Coverage, 1146,
83054 /* 234544 */ GIR_EraseRootFromParent_Done,
83055 /* 234545 */ // Label 5424: @234545
83056 /* 234545 */ GIM_Try, /*On fail goto*//*Label 5425*/ GIMT_Encode4(234613), // Rule ID 1392 //
83057 /* 234550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
83058 /* 234553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83059 /* 234557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83060 /* 234561 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83061 /* 234565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
83062 /* 234569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83063 /* 234573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83064 /* 234576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83065 /* 234580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83066 /* 234584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83067 /* 234586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83068 /* 234593 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADDPS4Yrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
83069 /* 234593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
83070 /* 234596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83071 /* 234598 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
83072 /* 234600 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
83073 /* 234602 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83074 /* 234606 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83075 /* 234611 */ GIR_RootConstrainSelectedInstOperands,
83076 /* 234612 */ // GIR_Coverage, 1392,
83077 /* 234612 */ GIR_EraseRootFromParent_Done,
83078 /* 234613 */ // Label 5425: @234613
83079 /* 234613 */ GIM_Try, /*On fail goto*//*Label 5426*/ GIMT_Encode4(234681), // Rule ID 8465 //
83080 /* 234618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
83081 /* 234621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83082 /* 234625 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83083 /* 234629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83084 /* 234633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
83085 /* 234637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83086 /* 234641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83087 /* 234644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83088 /* 234648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83089 /* 234652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83090 /* 234654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83091 /* 234661 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSZ256m:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, addr:{ *:[iPTR] }:$src3)
83092 /* 234661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
83093 /* 234664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83094 /* 234666 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83095 /* 234668 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83096 /* 234670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83097 /* 234674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83098 /* 234679 */ GIR_RootConstrainSelectedInstOperands,
83099 /* 234680 */ // GIR_Coverage, 8465,
83100 /* 234680 */ GIR_EraseRootFromParent_Done,
83101 /* 234681 */ // Label 5426: @234681
83102 /* 234681 */ GIM_Try, /*On fail goto*//*Label 5427*/ GIMT_Encode4(234718), // Rule ID 1144 //
83103 /* 234686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
83104 /* 234689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83105 /* 234693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83106 /* 234697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83107 /* 234701 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83108 /* 234705 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
83109 /* 234705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
83110 /* 234708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83111 /* 234710 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83112 /* 234712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83113 /* 234714 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
83114 /* 234716 */ GIR_RootConstrainSelectedInstOperands,
83115 /* 234717 */ // GIR_Coverage, 1144,
83116 /* 234717 */ GIR_EraseRootFromParent_Done,
83117 /* 234718 */ // Label 5427: @234718
83118 /* 234718 */ GIM_Try, /*On fail goto*//*Label 5428*/ GIMT_Encode4(234753), // Rule ID 1390 //
83119 /* 234723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
83120 /* 234726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83121 /* 234730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83122 /* 234734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83123 /* 234738 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83124 /* 234742 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
83125 /* 234742 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
83126 /* 234747 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83127 /* 234751 */ GIR_RootConstrainSelectedInstOperands,
83128 /* 234752 */ // GIR_Coverage, 1390,
83129 /* 234752 */ GIR_Done,
83130 /* 234753 */ // Label 5428: @234753
83131 /* 234753 */ GIM_Try, /*On fail goto*//*Label 5429*/ GIMT_Encode4(234790), // Rule ID 8461 //
83132 /* 234758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
83133 /* 234761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83134 /* 234765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83135 /* 234769 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83136 /* 234773 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83137 /* 234777 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
83138 /* 234777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
83139 /* 234780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83140 /* 234782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83141 /* 234784 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83142 /* 234786 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
83143 /* 234788 */ GIR_RootConstrainSelectedInstOperands,
83144 /* 234789 */ // GIR_Coverage, 8461,
83145 /* 234789 */ GIR_EraseRootFromParent_Done,
83146 /* 234790 */ // Label 5429: @234790
83147 /* 234790 */ GIM_Reject,
83148 /* 234791 */ // Label 5417: @234791
83149 /* 234791 */ GIM_Reject,
83150 /* 234792 */ // Label 5337: @234792
83151 /* 234792 */ GIM_Try, /*On fail goto*//*Label 5430*/ GIMT_Encode4(235036),
83152 /* 234797 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
83153 /* 234800 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
83154 /* 234803 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
83155 /* 234806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83156 /* 234810 */ GIM_Try, /*On fail goto*//*Label 5431*/ GIMT_Encode4(234874), // Rule ID 9661 //
83157 /* 234815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83158 /* 234818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83159 /* 234822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83160 /* 234826 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83161 /* 234829 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83162 /* 234833 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83163 /* 234837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83164 /* 234841 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83165 /* 234845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83166 /* 234847 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83167 /* 234854 */ // (strict_fma:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VFMADD132PDZm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, addr:{ *:[iPTR] }:$src3)
83168 /* 234854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
83169 /* 234857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83170 /* 234859 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83171 /* 234861 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
83172 /* 234863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83173 /* 234867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83174 /* 234872 */ GIR_RootConstrainSelectedInstOperands,
83175 /* 234873 */ // GIR_Coverage, 9661,
83176 /* 234873 */ GIR_EraseRootFromParent_Done,
83177 /* 234874 */ // Label 5431: @234874
83178 /* 234874 */ GIM_Try, /*On fail goto*//*Label 5432*/ GIMT_Encode4(234938), // Rule ID 9121 //
83179 /* 234879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83180 /* 234882 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83181 /* 234886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
83182 /* 234890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83183 /* 234894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83184 /* 234897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83185 /* 234901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83186 /* 234905 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83187 /* 234909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83188 /* 234911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83189 /* 234918 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VFMADD231PDZm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, addr:{ *:[iPTR] }:$src3)
83190 /* 234918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
83191 /* 234921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83192 /* 234923 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
83193 /* 234925 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83194 /* 234927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83195 /* 234931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83196 /* 234936 */ GIR_RootConstrainSelectedInstOperands,
83197 /* 234937 */ // GIR_Coverage, 9121,
83198 /* 234937 */ GIR_EraseRootFromParent_Done,
83199 /* 234938 */ // Label 5432: @234938
83200 /* 234938 */ GIM_Try, /*On fail goto*//*Label 5433*/ GIMT_Encode4(235002), // Rule ID 8489 //
83201 /* 234943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83202 /* 234946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83203 /* 234950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83204 /* 234954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
83205 /* 234958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83206 /* 234962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83207 /* 234965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83208 /* 234969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83209 /* 234973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83210 /* 234975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83211 /* 234982 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PDZm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, addr:{ *:[iPTR] }:$src3)
83212 /* 234982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
83213 /* 234985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83214 /* 234987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83215 /* 234989 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83216 /* 234991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83217 /* 234995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83218 /* 235000 */ GIR_RootConstrainSelectedInstOperands,
83219 /* 235001 */ // GIR_Coverage, 8489,
83220 /* 235001 */ GIR_EraseRootFromParent_Done,
83221 /* 235002 */ // Label 5433: @235002
83222 /* 235002 */ GIM_Try, /*On fail goto*//*Label 5434*/ GIMT_Encode4(235035), // Rule ID 8485 //
83223 /* 235007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83224 /* 235010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83225 /* 235014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83226 /* 235018 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83227 /* 235022 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
83228 /* 235022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
83229 /* 235025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83230 /* 235027 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83231 /* 235029 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83232 /* 235031 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
83233 /* 235033 */ GIR_RootConstrainSelectedInstOperands,
83234 /* 235034 */ // GIR_Coverage, 8485,
83235 /* 235034 */ GIR_EraseRootFromParent_Done,
83236 /* 235035 */ // Label 5434: @235035
83237 /* 235035 */ GIM_Reject,
83238 /* 235036 */ // Label 5430: @235036
83239 /* 235036 */ GIM_Reject,
83240 /* 235037 */ // Label 5338: @235037
83241 /* 235037 */ GIM_Try, /*On fail goto*//*Label 5435*/ GIMT_Encode4(235281),
83242 /* 235042 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
83243 /* 235045 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
83244 /* 235048 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
83245 /* 235051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83246 /* 235055 */ GIM_Try, /*On fail goto*//*Label 5436*/ GIMT_Encode4(235119), // Rule ID 9609 //
83247 /* 235060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83248 /* 235063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83249 /* 235067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83250 /* 235071 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83251 /* 235074 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83252 /* 235078 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83253 /* 235082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83254 /* 235086 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83255 /* 235090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83256 /* 235092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83257 /* 235099 */ // (strict_fma:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VFMADD132PHZ256m:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, addr:{ *:[iPTR] }:$src3)
83258 /* 235099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
83259 /* 235102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83260 /* 235104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83261 /* 235106 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
83262 /* 235108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83263 /* 235112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83264 /* 235117 */ GIR_RootConstrainSelectedInstOperands,
83265 /* 235118 */ // GIR_Coverage, 9609,
83266 /* 235118 */ GIR_EraseRootFromParent_Done,
83267 /* 235119 */ // Label 5436: @235119
83268 /* 235119 */ GIM_Try, /*On fail goto*//*Label 5437*/ GIMT_Encode4(235183), // Rule ID 9069 //
83269 /* 235124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83270 /* 235127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83271 /* 235131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
83272 /* 235135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83273 /* 235139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83274 /* 235142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83275 /* 235146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83276 /* 235150 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83277 /* 235154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83278 /* 235156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83279 /* 235163 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VFMADD231PHZ256m:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, addr:{ *:[iPTR] }:$src3)
83280 /* 235163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
83281 /* 235166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83282 /* 235168 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
83283 /* 235170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83284 /* 235172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83285 /* 235176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83286 /* 235181 */ GIR_RootConstrainSelectedInstOperands,
83287 /* 235182 */ // GIR_Coverage, 9069,
83288 /* 235182 */ GIR_EraseRootFromParent_Done,
83289 /* 235183 */ // Label 5437: @235183
83290 /* 235183 */ GIM_Try, /*On fail goto*//*Label 5438*/ GIMT_Encode4(235247), // Rule ID 8426 //
83291 /* 235188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83292 /* 235191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83293 /* 235195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83294 /* 235199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
83295 /* 235203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83296 /* 235207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83297 /* 235210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83298 /* 235214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83299 /* 235218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83300 /* 235220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83301 /* 235227 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PHZ256m:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, addr:{ *:[iPTR] }:$src3)
83302 /* 235227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
83303 /* 235230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83304 /* 235232 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83305 /* 235234 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83306 /* 235236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83307 /* 235240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83308 /* 235245 */ GIR_RootConstrainSelectedInstOperands,
83309 /* 235246 */ // GIR_Coverage, 8426,
83310 /* 235246 */ GIR_EraseRootFromParent_Done,
83311 /* 235247 */ // Label 5438: @235247
83312 /* 235247 */ GIM_Try, /*On fail goto*//*Label 5439*/ GIMT_Encode4(235280), // Rule ID 8422 //
83313 /* 235252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
83314 /* 235255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83315 /* 235259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83316 /* 235263 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83317 /* 235267 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
83318 /* 235267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
83319 /* 235270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83320 /* 235272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83321 /* 235274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83322 /* 235276 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
83323 /* 235278 */ GIR_RootConstrainSelectedInstOperands,
83324 /* 235279 */ // GIR_Coverage, 8422,
83325 /* 235279 */ GIR_EraseRootFromParent_Done,
83326 /* 235280 */ // Label 5439: @235280
83327 /* 235280 */ GIM_Reject,
83328 /* 235281 */ // Label 5435: @235281
83329 /* 235281 */ GIM_Reject,
83330 /* 235282 */ // Label 5339: @235282
83331 /* 235282 */ GIM_Try, /*On fail goto*//*Label 5440*/ GIMT_Encode4(235526),
83332 /* 235287 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
83333 /* 235290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
83334 /* 235293 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
83335 /* 235296 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83336 /* 235300 */ GIM_Try, /*On fail goto*//*Label 5441*/ GIMT_Encode4(235364), // Rule ID 9629 //
83337 /* 235305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83338 /* 235308 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83339 /* 235312 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83340 /* 235316 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83341 /* 235319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83342 /* 235323 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83343 /* 235327 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83344 /* 235331 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83345 /* 235335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83346 /* 235337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83347 /* 235344 */ // (strict_fma:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VFMADD132PSZm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, addr:{ *:[iPTR] }:$src3)
83348 /* 235344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
83349 /* 235347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83350 /* 235349 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83351 /* 235351 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
83352 /* 235353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83353 /* 235357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83354 /* 235362 */ GIR_RootConstrainSelectedInstOperands,
83355 /* 235363 */ // GIR_Coverage, 9629,
83356 /* 235363 */ GIR_EraseRootFromParent_Done,
83357 /* 235364 */ // Label 5441: @235364
83358 /* 235364 */ GIM_Try, /*On fail goto*//*Label 5442*/ GIMT_Encode4(235428), // Rule ID 9089 //
83359 /* 235369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83360 /* 235372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83361 /* 235376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
83362 /* 235380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83363 /* 235384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83364 /* 235387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83365 /* 235391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83366 /* 235395 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83367 /* 235399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83368 /* 235401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83369 /* 235408 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VFMADD231PSZm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, addr:{ *:[iPTR] }:$src3)
83370 /* 235408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
83371 /* 235411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83372 /* 235413 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
83373 /* 235415 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83374 /* 235417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83375 /* 235421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83376 /* 235426 */ GIR_RootConstrainSelectedInstOperands,
83377 /* 235427 */ // GIR_Coverage, 9089,
83378 /* 235427 */ GIR_EraseRootFromParent_Done,
83379 /* 235428 */ // Label 5442: @235428
83380 /* 235428 */ GIM_Try, /*On fail goto*//*Label 5443*/ GIMT_Encode4(235492), // Rule ID 8450 //
83381 /* 235433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83382 /* 235436 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83383 /* 235440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83384 /* 235444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
83385 /* 235448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83386 /* 235452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83387 /* 235455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83388 /* 235459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83389 /* 235463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83390 /* 235465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83391 /* 235472 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PSZm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, addr:{ *:[iPTR] }:$src3)
83392 /* 235472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
83393 /* 235475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83394 /* 235477 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83395 /* 235479 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83396 /* 235481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83397 /* 235485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83398 /* 235490 */ GIR_RootConstrainSelectedInstOperands,
83399 /* 235491 */ // GIR_Coverage, 8450,
83400 /* 235491 */ GIR_EraseRootFromParent_Done,
83401 /* 235492 */ // Label 5443: @235492
83402 /* 235492 */ GIM_Try, /*On fail goto*//*Label 5444*/ GIMT_Encode4(235525), // Rule ID 8446 //
83403 /* 235497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83404 /* 235500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83405 /* 235504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83406 /* 235508 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83407 /* 235512 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
83408 /* 235512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
83409 /* 235515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83410 /* 235517 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83411 /* 235519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83412 /* 235521 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
83413 /* 235523 */ GIR_RootConstrainSelectedInstOperands,
83414 /* 235524 */ // GIR_Coverage, 8446,
83415 /* 235524 */ GIR_EraseRootFromParent_Done,
83416 /* 235525 */ // Label 5444: @235525
83417 /* 235525 */ GIM_Reject,
83418 /* 235526 */ // Label 5440: @235526
83419 /* 235526 */ GIM_Reject,
83420 /* 235527 */ // Label 5340: @235527
83421 /* 235527 */ GIM_Try, /*On fail goto*//*Label 5445*/ GIMT_Encode4(235771),
83422 /* 235532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
83423 /* 235535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
83424 /* 235538 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
83425 /* 235541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83426 /* 235545 */ GIM_Try, /*On fail goto*//*Label 5446*/ GIMT_Encode4(235609), // Rule ID 9597 //
83427 /* 235550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
83428 /* 235553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83429 /* 235557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83430 /* 235561 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83431 /* 235564 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83432 /* 235568 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83433 /* 235572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83434 /* 235576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83435 /* 235580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83436 /* 235582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83437 /* 235589 */ // (strict_fma:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VFMADD132PHZm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, addr:{ *:[iPTR] }:$src3)
83438 /* 235589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
83439 /* 235592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83440 /* 235594 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83441 /* 235596 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
83442 /* 235598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83443 /* 235602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83444 /* 235607 */ GIR_RootConstrainSelectedInstOperands,
83445 /* 235608 */ // GIR_Coverage, 9597,
83446 /* 235608 */ GIR_EraseRootFromParent_Done,
83447 /* 235609 */ // Label 5446: @235609
83448 /* 235609 */ GIM_Try, /*On fail goto*//*Label 5447*/ GIMT_Encode4(235673), // Rule ID 9057 //
83449 /* 235614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
83450 /* 235617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83451 /* 235621 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
83452 /* 235625 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83453 /* 235629 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83454 /* 235632 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83455 /* 235636 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83456 /* 235640 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83457 /* 235644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83458 /* 235646 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83459 /* 235653 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VFMADD231PHZm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, addr:{ *:[iPTR] }:$src3)
83460 /* 235653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
83461 /* 235656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83462 /* 235658 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
83463 /* 235660 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83464 /* 235662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83465 /* 235666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83466 /* 235671 */ GIR_RootConstrainSelectedInstOperands,
83467 /* 235672 */ // GIR_Coverage, 9057,
83468 /* 235672 */ GIR_EraseRootFromParent_Done,
83469 /* 235673 */ // Label 5447: @235673
83470 /* 235673 */ GIM_Try, /*On fail goto*//*Label 5448*/ GIMT_Encode4(235737), // Rule ID 8411 //
83471 /* 235678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
83472 /* 235681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83473 /* 235685 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83474 /* 235689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
83475 /* 235693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83476 /* 235697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83477 /* 235700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83478 /* 235704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83479 /* 235708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83480 /* 235710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83481 /* 235717 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src3)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFMADD213PHZm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, addr:{ *:[iPTR] }:$src3)
83482 /* 235717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
83483 /* 235720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83484 /* 235722 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83485 /* 235724 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83486 /* 235726 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
83487 /* 235730 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83488 /* 235735 */ GIR_RootConstrainSelectedInstOperands,
83489 /* 235736 */ // GIR_Coverage, 8411,
83490 /* 235736 */ GIR_EraseRootFromParent_Done,
83491 /* 235737 */ // Label 5448: @235737
83492 /* 235737 */ GIM_Try, /*On fail goto*//*Label 5449*/ GIMT_Encode4(235770), // Rule ID 8407 //
83493 /* 235742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
83494 /* 235745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83495 /* 235749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83496 /* 235753 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83497 /* 235757 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
83498 /* 235757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
83499 /* 235760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83500 /* 235762 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
83501 /* 235764 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
83502 /* 235766 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
83503 /* 235768 */ GIR_RootConstrainSelectedInstOperands,
83504 /* 235769 */ // GIR_Coverage, 8407,
83505 /* 235769 */ GIR_EraseRootFromParent_Done,
83506 /* 235770 */ // Label 5449: @235770
83507 /* 235770 */ GIM_Reject,
83508 /* 235771 */ // Label 5445: @235771
83509 /* 235771 */ GIM_Reject,
83510 /* 235772 */ // Label 5341: @235772
83511 /* 235772 */ GIM_Reject,
83512 /* 235773 */ // Label 74: @235773
83513 /* 235773 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(23), /*)*//*default:*//*Label 5463*/ GIMT_Encode4(237941),
83514 /* 235784 */ /*GILLT_s16*//*Label 5450*/ GIMT_Encode4(235868),
83515 /* 235788 */ /*GILLT_s32*//*Label 5451*/ GIMT_Encode4(235989),
83516 /* 235792 */ /*GILLT_s64*//*Label 5452*/ GIMT_Encode4(236345),
83517 /* 235796 */ /*GILLT_s80*//*Label 5453*/ GIMT_Encode4(236701), GIMT_Encode4(0), GIMT_Encode4(0),
83518 /* 235808 */ /*GILLT_v2s64*//*Label 5454*/ GIMT_Encode4(236738), GIMT_Encode4(0),
83519 /* 235816 */ /*GILLT_v4s32*//*Label 5455*/ GIMT_Encode4(236941),
83520 /* 235820 */ /*GILLT_v4s64*//*Label 5456*/ GIMT_Encode4(237144), GIMT_Encode4(0),
83521 /* 235828 */ /*GILLT_v8s16*//*Label 5457*/ GIMT_Encode4(237320),
83522 /* 235832 */ /*GILLT_v8s32*//*Label 5458*/ GIMT_Encode4(237409),
83523 /* 235836 */ /*GILLT_v8s64*//*Label 5459*/ GIMT_Encode4(237585), GIMT_Encode4(0), GIMT_Encode4(0),
83524 /* 235848 */ /*GILLT_v16s16*//*Label 5460*/ GIMT_Encode4(237674),
83525 /* 235852 */ /*GILLT_v16s32*//*Label 5461*/ GIMT_Encode4(237763), GIMT_Encode4(0), GIMT_Encode4(0),
83526 /* 235864 */ /*GILLT_v32s16*//*Label 5462*/ GIMT_Encode4(237852),
83527 /* 235868 */ // Label 5450: @235868
83528 /* 235868 */ GIM_Try, /*On fail goto*//*Label 5464*/ GIMT_Encode4(235988),
83529 /* 235873 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
83530 /* 235876 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
83531 /* 235880 */ GIM_Try, /*On fail goto*//*Label 5465*/ GIMT_Encode4(235949), // Rule ID 21428 //
83532 /* 235885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
83533 /* 235888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83534 /* 235892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83535 /* 235896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83536 /* 235899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83537 /* 235903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83538 /* 235907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83539 /* 235909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83540 /* 235916 */ // (strict_fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
83541 /* 235916 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
83542 /* 235919 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83543 /* 235923 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83544 /* 235928 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83545 /* 235930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
83546 /* 235933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83547 /* 235935 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83548 /* 235938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83549 /* 235942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83550 /* 235947 */ GIR_RootConstrainSelectedInstOperands,
83551 /* 235948 */ // GIR_Coverage, 21428,
83552 /* 235948 */ GIR_EraseRootFromParent_Done,
83553 /* 235949 */ // Label 5465: @235949
83554 /* 235949 */ GIM_Try, /*On fail goto*//*Label 5466*/ GIMT_Encode4(235987), // Rule ID 21426 //
83555 /* 235954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
83556 /* 235957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
83557 /* 235961 */ // (strict_fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
83558 /* 235961 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
83559 /* 235964 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83560 /* 235968 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83561 /* 235973 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83562 /* 235975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
83563 /* 235978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83564 /* 235980 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83565 /* 235983 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
83566 /* 235985 */ GIR_RootConstrainSelectedInstOperands,
83567 /* 235986 */ // GIR_Coverage, 21426,
83568 /* 235986 */ GIR_EraseRootFromParent_Done,
83569 /* 235987 */ // Label 5466: @235987
83570 /* 235987 */ GIM_Reject,
83571 /* 235988 */ // Label 5464: @235988
83572 /* 235988 */ GIM_Reject,
83573 /* 235989 */ // Label 5451: @235989
83574 /* 235989 */ GIM_Try, /*On fail goto*//*Label 5467*/ GIMT_Encode4(236344),
83575 /* 235994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
83576 /* 235997 */ GIM_Try, /*On fail goto*//*Label 5468*/ GIMT_Encode4(236053), // Rule ID 2447 //
83577 /* 236002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
83578 /* 236005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
83579 /* 236009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83580 /* 236013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83581 /* 236017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83582 /* 236020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83583 /* 236024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83584 /* 236028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83585 /* 236030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83586 /* 236037 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
83587 /* 236037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
83588 /* 236040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83589 /* 236042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
83590 /* 236046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83591 /* 236051 */ GIR_RootConstrainSelectedInstOperands,
83592 /* 236052 */ // GIR_Coverage, 2447,
83593 /* 236052 */ GIR_EraseRootFromParent_Done,
83594 /* 236053 */ // Label 5468: @236053
83595 /* 236053 */ GIM_Try, /*On fail goto*//*Label 5469*/ GIMT_Encode4(236126), // Rule ID 18265 //
83596 /* 236058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
83597 /* 236061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
83598 /* 236065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83599 /* 236069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83600 /* 236073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83601 /* 236076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83602 /* 236080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83603 /* 236084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83604 /* 236086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83605 /* 236093 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
83606 /* 236093 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
83607 /* 236096 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83608 /* 236100 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83609 /* 236105 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83610 /* 236107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
83611 /* 236110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83612 /* 236112 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83613 /* 236115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83614 /* 236119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83615 /* 236124 */ GIR_RootConstrainSelectedInstOperands,
83616 /* 236125 */ // GIR_Coverage, 18265,
83617 /* 236125 */ GIR_EraseRootFromParent_Done,
83618 /* 236126 */ // Label 5469: @236126
83619 /* 236126 */ GIM_Try, /*On fail goto*//*Label 5470*/ GIMT_Encode4(236199), // Rule ID 21432 //
83620 /* 236131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
83621 /* 236134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
83622 /* 236138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83623 /* 236142 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83624 /* 236146 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83625 /* 236149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83626 /* 236153 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83627 /* 236157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83628 /* 236159 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83629 /* 236166 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
83630 /* 236166 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
83631 /* 236169 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83632 /* 236173 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83633 /* 236178 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83634 /* 236180 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
83635 /* 236183 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83636 /* 236185 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83637 /* 236188 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83638 /* 236192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83639 /* 236197 */ GIR_RootConstrainSelectedInstOperands,
83640 /* 236198 */ // GIR_Coverage, 21432,
83641 /* 236198 */ GIR_EraseRootFromParent_Done,
83642 /* 236199 */ // Label 5470: @236199
83643 /* 236199 */ GIM_Try, /*On fail goto*//*Label 5471*/ GIMT_Encode4(236232), // Rule ID 1047 //
83644 /* 236204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83645 /* 236207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83646 /* 236211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83647 /* 236215 */ // (strict_fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
83648 /* 236215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
83649 /* 236220 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
83650 /* 236226 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
83651 /* 236230 */ GIR_RootConstrainSelectedInstOperands,
83652 /* 236231 */ // GIR_Coverage, 1047,
83653 /* 236231 */ GIR_Done,
83654 /* 236232 */ // Label 5471: @236232
83655 /* 236232 */ GIM_Try, /*On fail goto*//*Label 5472*/ GIMT_Encode4(236259), // Rule ID 2445 //
83656 /* 236237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
83657 /* 236240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
83658 /* 236244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
83659 /* 236248 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
83660 /* 236248 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
83661 /* 236253 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83662 /* 236257 */ GIR_RootConstrainSelectedInstOperands,
83663 /* 236258 */ // GIR_Coverage, 2445,
83664 /* 236258 */ GIR_Done,
83665 /* 236259 */ // Label 5472: @236259
83666 /* 236259 */ GIM_Try, /*On fail goto*//*Label 5473*/ GIMT_Encode4(236301), // Rule ID 18263 //
83667 /* 236264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
83668 /* 236267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
83669 /* 236271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
83670 /* 236275 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
83671 /* 236275 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
83672 /* 236278 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83673 /* 236282 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83674 /* 236287 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83675 /* 236289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
83676 /* 236292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83677 /* 236294 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83678 /* 236297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
83679 /* 236299 */ GIR_RootConstrainSelectedInstOperands,
83680 /* 236300 */ // GIR_Coverage, 18263,
83681 /* 236300 */ GIR_EraseRootFromParent_Done,
83682 /* 236301 */ // Label 5473: @236301
83683 /* 236301 */ GIM_Try, /*On fail goto*//*Label 5474*/ GIMT_Encode4(236343), // Rule ID 21430 //
83684 /* 236306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83685 /* 236309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
83686 /* 236313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
83687 /* 236317 */ // (strict_fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
83688 /* 236317 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
83689 /* 236320 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83690 /* 236324 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83691 /* 236329 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83692 /* 236331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
83693 /* 236334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83694 /* 236336 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83695 /* 236339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
83696 /* 236341 */ GIR_RootConstrainSelectedInstOperands,
83697 /* 236342 */ // GIR_Coverage, 21430,
83698 /* 236342 */ GIR_EraseRootFromParent_Done,
83699 /* 236343 */ // Label 5474: @236343
83700 /* 236343 */ GIM_Reject,
83701 /* 236344 */ // Label 5467: @236344
83702 /* 236344 */ GIM_Reject,
83703 /* 236345 */ // Label 5452: @236345
83704 /* 236345 */ GIM_Try, /*On fail goto*//*Label 5475*/ GIMT_Encode4(236700),
83705 /* 236350 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
83706 /* 236353 */ GIM_Try, /*On fail goto*//*Label 5476*/ GIMT_Encode4(236409), // Rule ID 2463 //
83707 /* 236358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
83708 /* 236361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
83709 /* 236365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83710 /* 236369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83711 /* 236373 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83712 /* 236376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83713 /* 236380 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83714 /* 236384 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83715 /* 236386 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83716 /* 236393 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
83717 /* 236393 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
83718 /* 236396 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83719 /* 236398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
83720 /* 236402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83721 /* 236407 */ GIR_RootConstrainSelectedInstOperands,
83722 /* 236408 */ // GIR_Coverage, 2463,
83723 /* 236408 */ GIR_EraseRootFromParent_Done,
83724 /* 236409 */ // Label 5476: @236409
83725 /* 236409 */ GIM_Try, /*On fail goto*//*Label 5477*/ GIMT_Encode4(236482), // Rule ID 18269 //
83726 /* 236414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
83727 /* 236417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
83728 /* 236421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83729 /* 236425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83730 /* 236429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83731 /* 236432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83732 /* 236436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83733 /* 236440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83734 /* 236442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83735 /* 236449 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
83736 /* 236449 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
83737 /* 236452 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83738 /* 236456 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83739 /* 236461 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83740 /* 236463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
83741 /* 236466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83742 /* 236468 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83743 /* 236471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83744 /* 236475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83745 /* 236480 */ GIR_RootConstrainSelectedInstOperands,
83746 /* 236481 */ // GIR_Coverage, 18269,
83747 /* 236481 */ GIR_EraseRootFromParent_Done,
83748 /* 236482 */ // Label 5477: @236482
83749 /* 236482 */ GIM_Try, /*On fail goto*//*Label 5478*/ GIMT_Encode4(236555), // Rule ID 21436 //
83750 /* 236487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
83751 /* 236490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
83752 /* 236494 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83753 /* 236498 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83754 /* 236502 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83755 /* 236505 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83756 /* 236509 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83757 /* 236513 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83758 /* 236515 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83759 /* 236522 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
83760 /* 236522 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
83761 /* 236525 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83762 /* 236529 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83763 /* 236534 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83764 /* 236536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
83765 /* 236539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83766 /* 236541 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83767 /* 236544 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83768 /* 236548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83769 /* 236553 */ GIR_RootConstrainSelectedInstOperands,
83770 /* 236554 */ // GIR_Coverage, 21436,
83771 /* 236554 */ GIR_EraseRootFromParent_Done,
83772 /* 236555 */ // Label 5478: @236555
83773 /* 236555 */ GIM_Try, /*On fail goto*//*Label 5479*/ GIMT_Encode4(236588), // Rule ID 1049 //
83774 /* 236560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83775 /* 236563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83776 /* 236567 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83777 /* 236571 */ // (strict_fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
83778 /* 236571 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
83779 /* 236576 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
83780 /* 236582 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
83781 /* 236586 */ GIR_RootConstrainSelectedInstOperands,
83782 /* 236587 */ // GIR_Coverage, 1049,
83783 /* 236587 */ GIR_Done,
83784 /* 236588 */ // Label 5479: @236588
83785 /* 236588 */ GIM_Try, /*On fail goto*//*Label 5480*/ GIMT_Encode4(236615), // Rule ID 2461 //
83786 /* 236593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
83787 /* 236596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
83788 /* 236600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
83789 /* 236604 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
83790 /* 236604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
83791 /* 236609 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83792 /* 236613 */ GIR_RootConstrainSelectedInstOperands,
83793 /* 236614 */ // GIR_Coverage, 2461,
83794 /* 236614 */ GIR_Done,
83795 /* 236615 */ // Label 5480: @236615
83796 /* 236615 */ GIM_Try, /*On fail goto*//*Label 5481*/ GIMT_Encode4(236657), // Rule ID 18267 //
83797 /* 236620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
83798 /* 236623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
83799 /* 236627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
83800 /* 236631 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
83801 /* 236631 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
83802 /* 236634 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83803 /* 236638 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83804 /* 236643 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83805 /* 236645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
83806 /* 236648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83807 /* 236650 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83808 /* 236653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
83809 /* 236655 */ GIR_RootConstrainSelectedInstOperands,
83810 /* 236656 */ // GIR_Coverage, 18267,
83811 /* 236656 */ GIR_EraseRootFromParent_Done,
83812 /* 236657 */ // Label 5481: @236657
83813 /* 236657 */ GIM_Try, /*On fail goto*//*Label 5482*/ GIMT_Encode4(236699), // Rule ID 21434 //
83814 /* 236662 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83815 /* 236665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
83816 /* 236669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
83817 /* 236673 */ // (strict_fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
83818 /* 236673 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
83819 /* 236676 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
83820 /* 236680 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
83821 /* 236685 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
83822 /* 236687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
83823 /* 236690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83824 /* 236692 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
83825 /* 236695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
83826 /* 236697 */ GIR_RootConstrainSelectedInstOperands,
83827 /* 236698 */ // GIR_Coverage, 21434,
83828 /* 236698 */ GIR_EraseRootFromParent_Done,
83829 /* 236699 */ // Label 5482: @236699
83830 /* 236699 */ GIM_Reject,
83831 /* 236700 */ // Label 5475: @236700
83832 /* 236700 */ GIM_Reject,
83833 /* 236701 */ // Label 5453: @236701
83834 /* 236701 */ GIM_Try, /*On fail goto*//*Label 5483*/ GIMT_Encode4(236737), // Rule ID 1051 //
83835 /* 236706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83836 /* 236709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
83837 /* 236712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83838 /* 236716 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83839 /* 236720 */ // (strict_fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
83840 /* 236720 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
83841 /* 236725 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
83842 /* 236731 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
83843 /* 236735 */ GIR_RootConstrainSelectedInstOperands,
83844 /* 236736 */ // GIR_Coverage, 1051,
83845 /* 236736 */ GIR_Done,
83846 /* 236737 */ // Label 5483: @236737
83847 /* 236737 */ GIM_Reject,
83848 /* 236738 */ // Label 5454: @236738
83849 /* 236738 */ GIM_Try, /*On fail goto*//*Label 5484*/ GIMT_Encode4(236940),
83850 /* 236743 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
83851 /* 236746 */ GIM_Try, /*On fail goto*//*Label 5485*/ GIMT_Encode4(236802), // Rule ID 2467 //
83852 /* 236751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83853 /* 236754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83854 /* 236758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83855 /* 236762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83856 /* 236766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83857 /* 236769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83858 /* 236773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83859 /* 236777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83860 /* 236779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83861 /* 236786 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
83862 /* 236786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
83863 /* 236789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83864 /* 236791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83865 /* 236795 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83866 /* 236800 */ GIR_RootConstrainSelectedInstOperands,
83867 /* 236801 */ // GIR_Coverage, 2467,
83868 /* 236801 */ GIR_EraseRootFromParent_Done,
83869 /* 236802 */ // Label 5485: @236802
83870 /* 236802 */ GIM_Try, /*On fail goto*//*Label 5486*/ GIMT_Encode4(236858), // Rule ID 12089 //
83871 /* 236807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83872 /* 236810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83873 /* 236814 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83874 /* 236818 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83875 /* 236822 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83876 /* 236825 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83877 /* 236829 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83878 /* 236833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83879 /* 236835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83880 /* 236842 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
83881 /* 236842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
83882 /* 236845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83883 /* 236847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83884 /* 236851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83885 /* 236856 */ GIR_RootConstrainSelectedInstOperands,
83886 /* 236857 */ // GIR_Coverage, 12089,
83887 /* 236857 */ GIR_EraseRootFromParent_Done,
83888 /* 236858 */ // Label 5486: @236858
83889 /* 236858 */ GIM_Try, /*On fail goto*//*Label 5487*/ GIMT_Encode4(236885), // Rule ID 2465 //
83890 /* 236863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83891 /* 236866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83892 /* 236870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83893 /* 236874 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
83894 /* 236874 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
83895 /* 236879 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83896 /* 236883 */ GIR_RootConstrainSelectedInstOperands,
83897 /* 236884 */ // GIR_Coverage, 2465,
83898 /* 236884 */ GIR_Done,
83899 /* 236885 */ // Label 5487: @236885
83900 /* 236885 */ GIM_Try, /*On fail goto*//*Label 5488*/ GIMT_Encode4(236912), // Rule ID 2473 //
83901 /* 236890 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
83902 /* 236893 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83903 /* 236897 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83904 /* 236901 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
83905 /* 236901 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
83906 /* 236906 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83907 /* 236910 */ GIR_RootConstrainSelectedInstOperands,
83908 /* 236911 */ // GIR_Coverage, 2473,
83909 /* 236911 */ GIR_Done,
83910 /* 236912 */ // Label 5488: @236912
83911 /* 236912 */ GIM_Try, /*On fail goto*//*Label 5489*/ GIMT_Encode4(236939), // Rule ID 12085 //
83912 /* 236917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83913 /* 236920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83914 /* 236924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83915 /* 236928 */ // (strict_fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
83916 /* 236928 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
83917 /* 236933 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83918 /* 236937 */ GIR_RootConstrainSelectedInstOperands,
83919 /* 236938 */ // GIR_Coverage, 12085,
83920 /* 236938 */ GIR_Done,
83921 /* 236939 */ // Label 5489: @236939
83922 /* 236939 */ GIM_Reject,
83923 /* 236940 */ // Label 5484: @236940
83924 /* 236940 */ GIM_Reject,
83925 /* 236941 */ // Label 5455: @236941
83926 /* 236941 */ GIM_Try, /*On fail goto*//*Label 5490*/ GIMT_Encode4(237143),
83927 /* 236946 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
83928 /* 236949 */ GIM_Try, /*On fail goto*//*Label 5491*/ GIMT_Encode4(237005), // Rule ID 2451 //
83929 /* 236954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83930 /* 236957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83931 /* 236961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83932 /* 236965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83933 /* 236969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83934 /* 236972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83935 /* 236976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83936 /* 236980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83937 /* 236982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83938 /* 236989 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
83939 /* 236989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
83940 /* 236992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83941 /* 236994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83942 /* 236998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83943 /* 237003 */ GIR_RootConstrainSelectedInstOperands,
83944 /* 237004 */ // GIR_Coverage, 2451,
83945 /* 237004 */ GIR_EraseRootFromParent_Done,
83946 /* 237005 */ // Label 5491: @237005
83947 /* 237005 */ GIM_Try, /*On fail goto*//*Label 5492*/ GIMT_Encode4(237061), // Rule ID 12065 //
83948 /* 237010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83949 /* 237013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83950 /* 237017 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83951 /* 237021 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83952 /* 237025 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83953 /* 237028 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83954 /* 237032 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83955 /* 237036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83956 /* 237038 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83957 /* 237045 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
83958 /* 237045 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
83959 /* 237048 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83960 /* 237050 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83961 /* 237054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83962 /* 237059 */ GIR_RootConstrainSelectedInstOperands,
83963 /* 237060 */ // GIR_Coverage, 12065,
83964 /* 237060 */ GIR_EraseRootFromParent_Done,
83965 /* 237061 */ // Label 5492: @237061
83966 /* 237061 */ GIM_Try, /*On fail goto*//*Label 5493*/ GIMT_Encode4(237088), // Rule ID 2449 //
83967 /* 237066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83968 /* 237069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83969 /* 237073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83970 /* 237077 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
83971 /* 237077 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
83972 /* 237082 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83973 /* 237086 */ GIR_RootConstrainSelectedInstOperands,
83974 /* 237087 */ // GIR_Coverage, 2449,
83975 /* 237087 */ GIR_Done,
83976 /* 237088 */ // Label 5493: @237088
83977 /* 237088 */ GIM_Try, /*On fail goto*//*Label 5494*/ GIMT_Encode4(237115), // Rule ID 2457 //
83978 /* 237093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
83979 /* 237096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83980 /* 237100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83981 /* 237104 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
83982 /* 237104 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
83983 /* 237109 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83984 /* 237113 */ GIR_RootConstrainSelectedInstOperands,
83985 /* 237114 */ // GIR_Coverage, 2457,
83986 /* 237114 */ GIR_Done,
83987 /* 237115 */ // Label 5494: @237115
83988 /* 237115 */ GIM_Try, /*On fail goto*//*Label 5495*/ GIMT_Encode4(237142), // Rule ID 12061 //
83989 /* 237120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83990 /* 237123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83991 /* 237127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83992 /* 237131 */ // (strict_fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
83993 /* 237131 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
83994 /* 237136 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83995 /* 237140 */ GIR_RootConstrainSelectedInstOperands,
83996 /* 237141 */ // GIR_Coverage, 12061,
83997 /* 237141 */ GIR_Done,
83998 /* 237142 */ // Label 5495: @237142
83999 /* 237142 */ GIM_Reject,
84000 /* 237143 */ // Label 5490: @237143
84001 /* 237143 */ GIM_Reject,
84002 /* 237144 */ // Label 5456: @237144
84003 /* 237144 */ GIM_Try, /*On fail goto*//*Label 5496*/ GIMT_Encode4(237319),
84004 /* 237149 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
84005 /* 237152 */ GIM_Try, /*On fail goto*//*Label 5497*/ GIMT_Encode4(237208), // Rule ID 2471 //
84006 /* 237157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
84007 /* 237160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
84008 /* 237164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84009 /* 237168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84010 /* 237172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84011 /* 237175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84012 /* 237179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84013 /* 237183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84014 /* 237185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84015 /* 237192 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
84016 /* 237192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
84017 /* 237195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84018 /* 237197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84019 /* 237201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84020 /* 237206 */ GIR_RootConstrainSelectedInstOperands,
84021 /* 237207 */ // GIR_Coverage, 2471,
84022 /* 237207 */ GIR_EraseRootFromParent_Done,
84023 /* 237208 */ // Label 5497: @237208
84024 /* 237208 */ GIM_Try, /*On fail goto*//*Label 5498*/ GIMT_Encode4(237264), // Rule ID 12101 //
84025 /* 237213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
84026 /* 237216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84027 /* 237220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84028 /* 237224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84029 /* 237228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84030 /* 237231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84031 /* 237235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84032 /* 237239 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84033 /* 237241 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84034 /* 237248 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
84035 /* 237248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
84036 /* 237251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84037 /* 237253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84038 /* 237257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84039 /* 237262 */ GIR_RootConstrainSelectedInstOperands,
84040 /* 237263 */ // GIR_Coverage, 12101,
84041 /* 237263 */ GIR_EraseRootFromParent_Done,
84042 /* 237264 */ // Label 5498: @237264
84043 /* 237264 */ GIM_Try, /*On fail goto*//*Label 5499*/ GIMT_Encode4(237291), // Rule ID 2469 //
84044 /* 237269 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
84045 /* 237272 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
84046 /* 237276 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
84047 /* 237280 */ // (strict_fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
84048 /* 237280 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
84049 /* 237285 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84050 /* 237289 */ GIR_RootConstrainSelectedInstOperands,
84051 /* 237290 */ // GIR_Coverage, 2469,
84052 /* 237290 */ GIR_Done,
84053 /* 237291 */ // Label 5499: @237291
84054 /* 237291 */ GIM_Try, /*On fail goto*//*Label 5500*/ GIMT_Encode4(237318), // Rule ID 12097 //
84055 /* 237296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
84056 /* 237299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84057 /* 237303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84058 /* 237307 */ // (strict_fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
84059 /* 237307 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
84060 /* 237312 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84061 /* 237316 */ GIR_RootConstrainSelectedInstOperands,
84062 /* 237317 */ // GIR_Coverage, 12097,
84063 /* 237317 */ GIR_Done,
84064 /* 237318 */ // Label 5500: @237318
84065 /* 237318 */ GIM_Reject,
84066 /* 237319 */ // Label 5496: @237319
84067 /* 237319 */ GIM_Reject,
84068 /* 237320 */ // Label 5457: @237320
84069 /* 237320 */ GIM_Try, /*On fail goto*//*Label 5501*/ GIMT_Encode4(237408),
84070 /* 237325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
84071 /* 237328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
84072 /* 237332 */ GIM_Try, /*On fail goto*//*Label 5502*/ GIMT_Encode4(237384), // Rule ID 12017 //
84073 /* 237337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
84074 /* 237340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84075 /* 237344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84076 /* 237348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84077 /* 237351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84078 /* 237355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84079 /* 237359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84080 /* 237361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84081 /* 237368 */ // (strict_fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
84082 /* 237368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
84083 /* 237371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84084 /* 237373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84085 /* 237377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84086 /* 237382 */ GIR_RootConstrainSelectedInstOperands,
84087 /* 237383 */ // GIR_Coverage, 12017,
84088 /* 237383 */ GIR_EraseRootFromParent_Done,
84089 /* 237384 */ // Label 5502: @237384
84090 /* 237384 */ GIM_Try, /*On fail goto*//*Label 5503*/ GIMT_Encode4(237407), // Rule ID 12013 //
84091 /* 237389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
84092 /* 237392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
84093 /* 237396 */ // (strict_fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
84094 /* 237396 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
84095 /* 237401 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84096 /* 237405 */ GIR_RootConstrainSelectedInstOperands,
84097 /* 237406 */ // GIR_Coverage, 12013,
84098 /* 237406 */ GIR_Done,
84099 /* 237407 */ // Label 5503: @237407
84100 /* 237407 */ GIM_Reject,
84101 /* 237408 */ // Label 5501: @237408
84102 /* 237408 */ GIM_Reject,
84103 /* 237409 */ // Label 5458: @237409
84104 /* 237409 */ GIM_Try, /*On fail goto*//*Label 5504*/ GIMT_Encode4(237584),
84105 /* 237414 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
84106 /* 237417 */ GIM_Try, /*On fail goto*//*Label 5505*/ GIMT_Encode4(237473), // Rule ID 2455 //
84107 /* 237422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
84108 /* 237425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
84109 /* 237429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84110 /* 237433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84111 /* 237437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84112 /* 237440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84113 /* 237444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84114 /* 237448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84115 /* 237450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84116 /* 237457 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
84117 /* 237457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
84118 /* 237460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84119 /* 237462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84120 /* 237466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84121 /* 237471 */ GIR_RootConstrainSelectedInstOperands,
84122 /* 237472 */ // GIR_Coverage, 2455,
84123 /* 237472 */ GIR_EraseRootFromParent_Done,
84124 /* 237473 */ // Label 5505: @237473
84125 /* 237473 */ GIM_Try, /*On fail goto*//*Label 5506*/ GIMT_Encode4(237529), // Rule ID 12077 //
84126 /* 237478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
84127 /* 237481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84128 /* 237485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84129 /* 237489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84130 /* 237493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84131 /* 237496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84132 /* 237500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84133 /* 237504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84134 /* 237506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84135 /* 237513 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
84136 /* 237513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
84137 /* 237516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84138 /* 237518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84139 /* 237522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84140 /* 237527 */ GIR_RootConstrainSelectedInstOperands,
84141 /* 237528 */ // GIR_Coverage, 12077,
84142 /* 237528 */ GIR_EraseRootFromParent_Done,
84143 /* 237529 */ // Label 5506: @237529
84144 /* 237529 */ GIM_Try, /*On fail goto*//*Label 5507*/ GIMT_Encode4(237556), // Rule ID 2453 //
84145 /* 237534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
84146 /* 237537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
84147 /* 237541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
84148 /* 237545 */ // (strict_fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
84149 /* 237545 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
84150 /* 237550 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84151 /* 237554 */ GIR_RootConstrainSelectedInstOperands,
84152 /* 237555 */ // GIR_Coverage, 2453,
84153 /* 237555 */ GIR_Done,
84154 /* 237556 */ // Label 5507: @237556
84155 /* 237556 */ GIM_Try, /*On fail goto*//*Label 5508*/ GIMT_Encode4(237583), // Rule ID 12073 //
84156 /* 237561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
84157 /* 237564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84158 /* 237568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84159 /* 237572 */ // (strict_fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
84160 /* 237572 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
84161 /* 237577 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84162 /* 237581 */ GIR_RootConstrainSelectedInstOperands,
84163 /* 237582 */ // GIR_Coverage, 12073,
84164 /* 237582 */ GIR_Done,
84165 /* 237583 */ // Label 5508: @237583
84166 /* 237583 */ GIM_Reject,
84167 /* 237584 */ // Label 5504: @237584
84168 /* 237584 */ GIM_Reject,
84169 /* 237585 */ // Label 5459: @237585
84170 /* 237585 */ GIM_Try, /*On fail goto*//*Label 5509*/ GIMT_Encode4(237673),
84171 /* 237590 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
84172 /* 237593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
84173 /* 237597 */ GIM_Try, /*On fail goto*//*Label 5510*/ GIMT_Encode4(237649), // Rule ID 12053 //
84174 /* 237602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
84175 /* 237605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84176 /* 237609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84177 /* 237613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84178 /* 237616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84179 /* 237620 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84180 /* 237624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84181 /* 237626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84182 /* 237633 */ // (strict_fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
84183 /* 237633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
84184 /* 237636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84185 /* 237638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84186 /* 237642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84187 /* 237647 */ GIR_RootConstrainSelectedInstOperands,
84188 /* 237648 */ // GIR_Coverage, 12053,
84189 /* 237648 */ GIR_EraseRootFromParent_Done,
84190 /* 237649 */ // Label 5510: @237649
84191 /* 237649 */ GIM_Try, /*On fail goto*//*Label 5511*/ GIMT_Encode4(237672), // Rule ID 12049 //
84192 /* 237654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
84193 /* 237657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
84194 /* 237661 */ // (strict_fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
84195 /* 237661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
84196 /* 237666 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84197 /* 237670 */ GIR_RootConstrainSelectedInstOperands,
84198 /* 237671 */ // GIR_Coverage, 12049,
84199 /* 237671 */ GIR_Done,
84200 /* 237672 */ // Label 5511: @237672
84201 /* 237672 */ GIM_Reject,
84202 /* 237673 */ // Label 5509: @237673
84203 /* 237673 */ GIM_Reject,
84204 /* 237674 */ // Label 5460: @237674
84205 /* 237674 */ GIM_Try, /*On fail goto*//*Label 5512*/ GIMT_Encode4(237762),
84206 /* 237679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
84207 /* 237682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84208 /* 237686 */ GIM_Try, /*On fail goto*//*Label 5513*/ GIMT_Encode4(237738), // Rule ID 12029 //
84209 /* 237691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
84210 /* 237694 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84211 /* 237698 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84212 /* 237702 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84213 /* 237705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84214 /* 237709 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84215 /* 237713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84216 /* 237715 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84217 /* 237722 */ // (strict_fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
84218 /* 237722 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
84219 /* 237725 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84220 /* 237727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84221 /* 237731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84222 /* 237736 */ GIR_RootConstrainSelectedInstOperands,
84223 /* 237737 */ // GIR_Coverage, 12029,
84224 /* 237737 */ GIR_EraseRootFromParent_Done,
84225 /* 237738 */ // Label 5513: @237738
84226 /* 237738 */ GIM_Try, /*On fail goto*//*Label 5514*/ GIMT_Encode4(237761), // Rule ID 12025 //
84227 /* 237743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
84228 /* 237746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
84229 /* 237750 */ // (strict_fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
84230 /* 237750 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
84231 /* 237755 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84232 /* 237759 */ GIR_RootConstrainSelectedInstOperands,
84233 /* 237760 */ // GIR_Coverage, 12025,
84234 /* 237760 */ GIR_Done,
84235 /* 237761 */ // Label 5514: @237761
84236 /* 237761 */ GIM_Reject,
84237 /* 237762 */ // Label 5512: @237762
84238 /* 237762 */ GIM_Reject,
84239 /* 237763 */ // Label 5461: @237763
84240 /* 237763 */ GIM_Try, /*On fail goto*//*Label 5515*/ GIMT_Encode4(237851),
84241 /* 237768 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
84242 /* 237771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
84243 /* 237775 */ GIM_Try, /*On fail goto*//*Label 5516*/ GIMT_Encode4(237827), // Rule ID 12041 //
84244 /* 237780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
84245 /* 237783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84246 /* 237787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84247 /* 237791 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84248 /* 237794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84249 /* 237798 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84250 /* 237802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84251 /* 237804 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84252 /* 237811 */ // (strict_fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
84253 /* 237811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
84254 /* 237814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84255 /* 237816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84256 /* 237820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84257 /* 237825 */ GIR_RootConstrainSelectedInstOperands,
84258 /* 237826 */ // GIR_Coverage, 12041,
84259 /* 237826 */ GIR_EraseRootFromParent_Done,
84260 /* 237827 */ // Label 5516: @237827
84261 /* 237827 */ GIM_Try, /*On fail goto*//*Label 5517*/ GIMT_Encode4(237850), // Rule ID 12037 //
84262 /* 237832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
84263 /* 237835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
84264 /* 237839 */ // (strict_fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
84265 /* 237839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
84266 /* 237844 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84267 /* 237848 */ GIR_RootConstrainSelectedInstOperands,
84268 /* 237849 */ // GIR_Coverage, 12037,
84269 /* 237849 */ GIR_Done,
84270 /* 237850 */ // Label 5517: @237850
84271 /* 237850 */ GIM_Reject,
84272 /* 237851 */ // Label 5515: @237851
84273 /* 237851 */ GIM_Reject,
84274 /* 237852 */ // Label 5462: @237852
84275 /* 237852 */ GIM_Try, /*On fail goto*//*Label 5518*/ GIMT_Encode4(237940),
84276 /* 237857 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
84277 /* 237860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
84278 /* 237864 */ GIM_Try, /*On fail goto*//*Label 5519*/ GIMT_Encode4(237916), // Rule ID 12005 //
84279 /* 237869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
84280 /* 237872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
84281 /* 237876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
84282 /* 237880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
84283 /* 237883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
84284 /* 237887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
84285 /* 237891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
84286 /* 237893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84287 /* 237900 */ // (strict_fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
84288 /* 237900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
84289 /* 237903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84290 /* 237905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84291 /* 237909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
84292 /* 237914 */ GIR_RootConstrainSelectedInstOperands,
84293 /* 237915 */ // GIR_Coverage, 12005,
84294 /* 237915 */ GIR_EraseRootFromParent_Done,
84295 /* 237916 */ // Label 5519: @237916
84296 /* 237916 */ GIM_Try, /*On fail goto*//*Label 5520*/ GIMT_Encode4(237939), // Rule ID 12001 //
84297 /* 237921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
84298 /* 237924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
84299 /* 237928 */ // (strict_fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
84300 /* 237928 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
84301 /* 237933 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
84302 /* 237937 */ GIR_RootConstrainSelectedInstOperands,
84303 /* 237938 */ // GIR_Coverage, 12001,
84304 /* 237938 */ GIR_Done,
84305 /* 237939 */ // Label 5520: @237939
84306 /* 237939 */ GIM_Reject,
84307 /* 237940 */ // Label 5518: @237940
84308 /* 237940 */ GIM_Reject,
84309 /* 237941 */ // Label 5463: @237941
84310 /* 237941 */ GIM_Reject,
84311 /* 237942 */ // Label 75: @237942
84312 /* 237942 */ GIM_Try, /*On fail goto*//*Label 5521*/ GIMT_Encode4(237954), // Rule ID 17061 //
84313 /* 237947 */ // (trap) => (TRAP)
84314 /* 237947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TRAP),
84315 /* 237952 */ GIR_RootConstrainSelectedInstOperands,
84316 /* 237953 */ // GIR_Coverage, 17061,
84317 /* 237953 */ GIR_Done,
84318 /* 237954 */ // Label 5521: @237954
84319 /* 237954 */ GIM_Reject,
84320 /* 237955 */ // Label 76: @237955
84321 /* 237955 */ GIM_Try, /*On fail goto*//*Label 5522*/ GIMT_Encode4(237970), // Rule ID 22391 //
84322 /* 237960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotPS),
84323 /* 237963 */ // (debugtrap) => (INT3)
84324 /* 237963 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::INT3),
84325 /* 237968 */ GIR_RootConstrainSelectedInstOperands,
84326 /* 237969 */ // GIR_Coverage, 22391,
84327 /* 237969 */ GIR_Done,
84328 /* 237970 */ // Label 5522: @237970
84329 /* 237970 */ GIM_Try, /*On fail goto*//*Label 5523*/ GIMT_Encode4(237990), // Rule ID 22392 //
84330 /* 237975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsPS),
84331 /* 237978 */ // (debugtrap) => (INT 65:{ *:[i8] })
84332 /* 237978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
84333 /* 237981 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/65,
84334 /* 237984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84335 /* 237988 */ GIR_RootConstrainSelectedInstOperands,
84336 /* 237989 */ // GIR_Coverage, 22392,
84337 /* 237989 */ GIR_EraseRootFromParent_Done,
84338 /* 237990 */ // Label 5523: @237990
84339 /* 237990 */ GIM_Reject,
84340 /* 237991 */ // Label 77: @237991
84341 /* 237991 */ GIM_Try, /*On fail goto*//*Label 5524*/ GIMT_Encode4(238006), // Rule ID 17063 //
84342 /* 237996 */ // MIs[0] kind
84343 /* 237996 */ GIM_CheckIsImm, /*MI*/0, /*Op*/0,
84344 /* 237999 */ // (ubsantrap (timm:{ *:[i32] }):$kind) => (UBSAN_UD1 (timm:{ *:[i32] }):$kind)
84345 /* 237999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::UBSAN_UD1),
84346 /* 238004 */ GIR_RootConstrainSelectedInstOperands,
84347 /* 238005 */ // GIR_Coverage, 17063,
84348 /* 238005 */ GIR_Done,
84349 /* 238006 */ // Label 5524: @238006
84350 /* 238006 */ GIM_Reject,
84351 /* 238007 */ // Label 78: @238007
84352 /* 238007 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5528*/ GIMT_Encode4(238465),
84353 /* 238018 */ /*GILLT_s32*//*Label 5525*/ GIMT_Encode4(238030),
84354 /* 238022 */ /*GILLT_s64*//*Label 5526*/ GIMT_Encode4(238175),
84355 /* 238026 */ /*GILLT_s80*//*Label 5527*/ GIMT_Encode4(238320),
84356 /* 238030 */ // Label 5525: @238030
84357 /* 238030 */ GIM_Try, /*On fail goto*//*Label 5529*/ GIMT_Encode4(238078), // Rule ID 1085 //
84358 /* 238035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
84359 /* 238038 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84360 /* 238045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84361 /* 238049 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84362 /* 238053 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84363 /* 238060 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84364 /* 238060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m32),
84365 /* 238063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84366 /* 238065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84367 /* 238069 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84368 /* 238072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84369 /* 238076 */ GIR_RootConstrainSelectedInstOperands,
84370 /* 238077 */ // GIR_Coverage, 1085,
84371 /* 238077 */ GIR_EraseRootFromParent_Done,
84372 /* 238078 */ // Label 5529: @238078
84373 /* 238078 */ GIM_Try, /*On fail goto*//*Label 5530*/ GIMT_Encode4(238126), // Rule ID 1086 //
84374 /* 238083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
84375 /* 238086 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84376 /* 238093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84377 /* 238097 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84378 /* 238101 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84379 /* 238108 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84380 /* 238108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m32),
84381 /* 238111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84382 /* 238113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84383 /* 238117 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84384 /* 238120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84385 /* 238124 */ GIR_RootConstrainSelectedInstOperands,
84386 /* 238125 */ // GIR_Coverage, 1086,
84387 /* 238125 */ GIR_EraseRootFromParent_Done,
84388 /* 238126 */ // Label 5530: @238126
84389 /* 238126 */ GIM_Try, /*On fail goto*//*Label 5531*/ GIMT_Encode4(238174), // Rule ID 1087 //
84390 /* 238131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
84391 /* 238134 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84392 /* 238141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84393 /* 238145 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84394 /* 238149 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84395 /* 238156 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84396 /* 238156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m32),
84397 /* 238159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84398 /* 238161 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84399 /* 238165 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84400 /* 238168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84401 /* 238172 */ GIR_RootConstrainSelectedInstOperands,
84402 /* 238173 */ // GIR_Coverage, 1087,
84403 /* 238173 */ GIR_EraseRootFromParent_Done,
84404 /* 238174 */ // Label 5531: @238174
84405 /* 238174 */ GIM_Reject,
84406 /* 238175 */ // Label 5526: @238175
84407 /* 238175 */ GIM_Try, /*On fail goto*//*Label 5532*/ GIMT_Encode4(238223), // Rule ID 1088 //
84408 /* 238180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
84409 /* 238183 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84410 /* 238190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84411 /* 238194 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84412 /* 238198 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84413 /* 238205 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84414 /* 238205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m64),
84415 /* 238208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84416 /* 238210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84417 /* 238214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84418 /* 238217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84419 /* 238221 */ GIR_RootConstrainSelectedInstOperands,
84420 /* 238222 */ // GIR_Coverage, 1088,
84421 /* 238222 */ GIR_EraseRootFromParent_Done,
84422 /* 238223 */ // Label 5532: @238223
84423 /* 238223 */ GIM_Try, /*On fail goto*//*Label 5533*/ GIMT_Encode4(238271), // Rule ID 1089 //
84424 /* 238228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
84425 /* 238231 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84426 /* 238238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84427 /* 238242 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84428 /* 238246 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84429 /* 238253 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84430 /* 238253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m64),
84431 /* 238256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84432 /* 238258 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84433 /* 238262 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84434 /* 238265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84435 /* 238269 */ GIR_RootConstrainSelectedInstOperands,
84436 /* 238270 */ // GIR_Coverage, 1089,
84437 /* 238270 */ GIR_EraseRootFromParent_Done,
84438 /* 238271 */ // Label 5533: @238271
84439 /* 238271 */ GIM_Try, /*On fail goto*//*Label 5534*/ GIMT_Encode4(238319), // Rule ID 1090 //
84440 /* 238276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
84441 /* 238279 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84442 /* 238286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84443 /* 238290 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84444 /* 238294 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84445 /* 238301 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84446 /* 238301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m64),
84447 /* 238304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84448 /* 238306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84449 /* 238310 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84450 /* 238313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84451 /* 238317 */ GIR_RootConstrainSelectedInstOperands,
84452 /* 238318 */ // GIR_Coverage, 1090,
84453 /* 238318 */ GIR_EraseRootFromParent_Done,
84454 /* 238319 */ // Label 5534: @238319
84455 /* 238319 */ GIM_Reject,
84456 /* 238320 */ // Label 5527: @238320
84457 /* 238320 */ GIM_Try, /*On fail goto*//*Label 5535*/ GIMT_Encode4(238368), // Rule ID 1091 //
84458 /* 238325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
84459 /* 238328 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84460 /* 238335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84461 /* 238339 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84462 /* 238343 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84463 /* 238350 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84464 /* 238350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m80),
84465 /* 238353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84466 /* 238355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84467 /* 238359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84468 /* 238362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84469 /* 238366 */ GIR_RootConstrainSelectedInstOperands,
84470 /* 238367 */ // GIR_Coverage, 1091,
84471 /* 238367 */ GIR_EraseRootFromParent_Done,
84472 /* 238368 */ // Label 5535: @238368
84473 /* 238368 */ GIM_Try, /*On fail goto*//*Label 5536*/ GIMT_Encode4(238416), // Rule ID 1092 //
84474 /* 238373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
84475 /* 238376 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84476 /* 238383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84477 /* 238387 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84478 /* 238391 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84479 /* 238398 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84480 /* 238398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m80),
84481 /* 238401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84482 /* 238403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84483 /* 238407 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84484 /* 238410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84485 /* 238414 */ GIR_RootConstrainSelectedInstOperands,
84486 /* 238415 */ // GIR_Coverage, 1092,
84487 /* 238415 */ GIR_EraseRootFromParent_Done,
84488 /* 238416 */ // Label 5536: @238416
84489 /* 238416 */ GIM_Try, /*On fail goto*//*Label 5537*/ GIMT_Encode4(238464), // Rule ID 1093 //
84490 /* 238421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
84491 /* 238424 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84492 /* 238431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84493 /* 238435 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84494 /* 238439 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84495 /* 238446 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
84496 /* 238446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m80),
84497 /* 238449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
84498 /* 238451 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
84499 /* 238455 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84500 /* 238458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84501 /* 238462 */ GIR_RootConstrainSelectedInstOperands,
84502 /* 238463 */ // GIR_Coverage, 1093,
84503 /* 238463 */ GIR_EraseRootFromParent_Done,
84504 /* 238464 */ // Label 5537: @238464
84505 /* 238464 */ GIM_Reject,
84506 /* 238465 */ // Label 5528: @238465
84507 /* 238465 */ GIM_Reject,
84508 /* 238466 */ // Label 79: @238466
84509 /* 238466 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5541*/ GIMT_Encode4(239329),
84510 /* 238477 */ /*GILLT_s32*//*Label 5538*/ GIMT_Encode4(238489),
84511 /* 238481 */ /*GILLT_s64*//*Label 5539*/ GIMT_Encode4(238769),
84512 /* 238485 */ /*GILLT_s80*//*Label 5540*/ GIMT_Encode4(239049),
84513 /* 238489 */ // Label 5538: @238489
84514 /* 238489 */ GIM_Try, /*On fail goto*//*Label 5542*/ GIMT_Encode4(238534), // Rule ID 872 //
84515 /* 238494 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84516 /* 238501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84517 /* 238505 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84518 /* 238509 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84519 /* 238516 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i16mem>> => (FP32_TO_INT16_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP32:{ *:[f32] }:$src)
84520 /* 238516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT16_IN_MEM),
84521 /* 238519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84522 /* 238523 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84523 /* 238525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84524 /* 238528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84525 /* 238532 */ GIR_RootConstrainSelectedInstOperands,
84526 /* 238533 */ // GIR_Coverage, 872,
84527 /* 238533 */ GIR_EraseRootFromParent_Done,
84528 /* 238534 */ // Label 5542: @238534
84529 /* 238534 */ GIM_Try, /*On fail goto*//*Label 5543*/ GIMT_Encode4(238579), // Rule ID 873 //
84530 /* 238539 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84531 /* 238546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84532 /* 238550 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84533 /* 238554 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84534 /* 238561 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i32mem>> => (FP32_TO_INT32_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP32:{ *:[f32] }:$src)
84535 /* 238561 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT32_IN_MEM),
84536 /* 238564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84537 /* 238568 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84538 /* 238570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84539 /* 238573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84540 /* 238577 */ GIR_RootConstrainSelectedInstOperands,
84541 /* 238578 */ // GIR_Coverage, 873,
84542 /* 238578 */ GIR_EraseRootFromParent_Done,
84543 /* 238579 */ // Label 5543: @238579
84544 /* 238579 */ GIM_Try, /*On fail goto*//*Label 5544*/ GIMT_Encode4(238624), // Rule ID 874 //
84545 /* 238584 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84546 /* 238591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84547 /* 238595 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84548 /* 238599 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84549 /* 238606 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i64mem>> => (FP32_TO_INT64_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP32:{ *:[f32] }:$src)
84550 /* 238606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT64_IN_MEM),
84551 /* 238609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84552 /* 238613 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84553 /* 238615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84554 /* 238618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84555 /* 238622 */ GIR_RootConstrainSelectedInstOperands,
84556 /* 238623 */ // GIR_Coverage, 874,
84557 /* 238623 */ GIR_EraseRootFromParent_Done,
84558 /* 238624 */ // Label 5544: @238624
84559 /* 238624 */ GIM_Try, /*On fail goto*//*Label 5545*/ GIMT_Encode4(238672), // Rule ID 1106 //
84560 /* 238629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84561 /* 238632 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84562 /* 238639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84563 /* 238643 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84564 /* 238647 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84565 /* 238654 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
84566 /* 238654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m32),
84567 /* 238657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84568 /* 238661 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84569 /* 238663 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84570 /* 238666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84571 /* 238670 */ GIR_RootConstrainSelectedInstOperands,
84572 /* 238671 */ // GIR_Coverage, 1106,
84573 /* 238671 */ GIR_EraseRootFromParent_Done,
84574 /* 238672 */ // Label 5545: @238672
84575 /* 238672 */ GIM_Try, /*On fail goto*//*Label 5546*/ GIMT_Encode4(238720), // Rule ID 1107 //
84576 /* 238677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84577 /* 238680 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84578 /* 238687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84579 /* 238691 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84580 /* 238695 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84581 /* 238702 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
84582 /* 238702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m32),
84583 /* 238705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84584 /* 238709 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84585 /* 238711 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84586 /* 238714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84587 /* 238718 */ GIR_RootConstrainSelectedInstOperands,
84588 /* 238719 */ // GIR_Coverage, 1107,
84589 /* 238719 */ GIR_EraseRootFromParent_Done,
84590 /* 238720 */ // Label 5546: @238720
84591 /* 238720 */ GIM_Try, /*On fail goto*//*Label 5547*/ GIMT_Encode4(238768), // Rule ID 1108 //
84592 /* 238725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84593 /* 238728 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84594 /* 238735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
84595 /* 238739 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84596 /* 238743 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84597 /* 238750 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
84598 /* 238750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m32),
84599 /* 238753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84600 /* 238757 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84601 /* 238759 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84602 /* 238762 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84603 /* 238766 */ GIR_RootConstrainSelectedInstOperands,
84604 /* 238767 */ // GIR_Coverage, 1108,
84605 /* 238767 */ GIR_EraseRootFromParent_Done,
84606 /* 238768 */ // Label 5547: @238768
84607 /* 238768 */ GIM_Reject,
84608 /* 238769 */ // Label 5539: @238769
84609 /* 238769 */ GIM_Try, /*On fail goto*//*Label 5548*/ GIMT_Encode4(238814), // Rule ID 875 //
84610 /* 238774 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84611 /* 238781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84612 /* 238785 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84613 /* 238789 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84614 /* 238796 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i16mem>> => (FP64_TO_INT16_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP64:{ *:[f64] }:$src)
84615 /* 238796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT16_IN_MEM),
84616 /* 238799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84617 /* 238803 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84618 /* 238805 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84619 /* 238808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84620 /* 238812 */ GIR_RootConstrainSelectedInstOperands,
84621 /* 238813 */ // GIR_Coverage, 875,
84622 /* 238813 */ GIR_EraseRootFromParent_Done,
84623 /* 238814 */ // Label 5548: @238814
84624 /* 238814 */ GIM_Try, /*On fail goto*//*Label 5549*/ GIMT_Encode4(238859), // Rule ID 876 //
84625 /* 238819 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84626 /* 238826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84627 /* 238830 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84628 /* 238834 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84629 /* 238841 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i32mem>> => (FP64_TO_INT32_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP64:{ *:[f64] }:$src)
84630 /* 238841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT32_IN_MEM),
84631 /* 238844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84632 /* 238848 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84633 /* 238850 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84634 /* 238853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84635 /* 238857 */ GIR_RootConstrainSelectedInstOperands,
84636 /* 238858 */ // GIR_Coverage, 876,
84637 /* 238858 */ GIR_EraseRootFromParent_Done,
84638 /* 238859 */ // Label 5549: @238859
84639 /* 238859 */ GIM_Try, /*On fail goto*//*Label 5550*/ GIMT_Encode4(238904), // Rule ID 877 //
84640 /* 238864 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84641 /* 238871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84642 /* 238875 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84643 /* 238879 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84644 /* 238886 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i64mem>> => (FP64_TO_INT64_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP64:{ *:[f64] }:$src)
84645 /* 238886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT64_IN_MEM),
84646 /* 238889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84647 /* 238893 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84648 /* 238895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84649 /* 238898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84650 /* 238902 */ GIR_RootConstrainSelectedInstOperands,
84651 /* 238903 */ // GIR_Coverage, 877,
84652 /* 238903 */ GIR_EraseRootFromParent_Done,
84653 /* 238904 */ // Label 5550: @238904
84654 /* 238904 */ GIM_Try, /*On fail goto*//*Label 5551*/ GIMT_Encode4(238952), // Rule ID 1109 //
84655 /* 238909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84656 /* 238912 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84657 /* 238919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84658 /* 238923 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84659 /* 238927 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84660 /* 238934 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
84661 /* 238934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m64),
84662 /* 238937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84663 /* 238941 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84664 /* 238943 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84665 /* 238946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84666 /* 238950 */ GIR_RootConstrainSelectedInstOperands,
84667 /* 238951 */ // GIR_Coverage, 1109,
84668 /* 238951 */ GIR_EraseRootFromParent_Done,
84669 /* 238952 */ // Label 5551: @238952
84670 /* 238952 */ GIM_Try, /*On fail goto*//*Label 5552*/ GIMT_Encode4(239000), // Rule ID 1110 //
84671 /* 238957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84672 /* 238960 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84673 /* 238967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84674 /* 238971 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84675 /* 238975 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84676 /* 238982 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
84677 /* 238982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m64),
84678 /* 238985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84679 /* 238989 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84680 /* 238991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84681 /* 238994 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84682 /* 238998 */ GIR_RootConstrainSelectedInstOperands,
84683 /* 238999 */ // GIR_Coverage, 1110,
84684 /* 238999 */ GIR_EraseRootFromParent_Done,
84685 /* 239000 */ // Label 5552: @239000
84686 /* 239000 */ GIM_Try, /*On fail goto*//*Label 5553*/ GIMT_Encode4(239048), // Rule ID 1111 //
84687 /* 239005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84688 /* 239008 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84689 /* 239015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
84690 /* 239019 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84691 /* 239023 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84692 /* 239030 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
84693 /* 239030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m64),
84694 /* 239033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84695 /* 239037 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84696 /* 239039 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84697 /* 239042 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84698 /* 239046 */ GIR_RootConstrainSelectedInstOperands,
84699 /* 239047 */ // GIR_Coverage, 1111,
84700 /* 239047 */ GIR_EraseRootFromParent_Done,
84701 /* 239048 */ // Label 5553: @239048
84702 /* 239048 */ GIM_Reject,
84703 /* 239049 */ // Label 5540: @239049
84704 /* 239049 */ GIM_Try, /*On fail goto*//*Label 5554*/ GIMT_Encode4(239094), // Rule ID 878 //
84705 /* 239054 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84706 /* 239061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84707 /* 239065 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84708 /* 239069 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84709 /* 239076 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i16mem>> => (FP80_TO_INT16_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP80:{ *:[f80] }:$src)
84710 /* 239076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT16_IN_MEM),
84711 /* 239079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84712 /* 239083 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84713 /* 239085 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84714 /* 239088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84715 /* 239092 */ GIR_RootConstrainSelectedInstOperands,
84716 /* 239093 */ // GIR_Coverage, 878,
84717 /* 239093 */ GIR_EraseRootFromParent_Done,
84718 /* 239094 */ // Label 5554: @239094
84719 /* 239094 */ GIM_Try, /*On fail goto*//*Label 5555*/ GIMT_Encode4(239139), // Rule ID 879 //
84720 /* 239099 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84721 /* 239106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84722 /* 239110 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84723 /* 239114 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84724 /* 239121 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i32mem>> => (FP80_TO_INT32_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP80:{ *:[f80] }:$src)
84725 /* 239121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT32_IN_MEM),
84726 /* 239124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84727 /* 239128 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84728 /* 239130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84729 /* 239133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84730 /* 239137 */ GIR_RootConstrainSelectedInstOperands,
84731 /* 239138 */ // GIR_Coverage, 879,
84732 /* 239138 */ GIR_EraseRootFromParent_Done,
84733 /* 239139 */ // Label 5555: @239139
84734 /* 239139 */ GIM_Try, /*On fail goto*//*Label 5556*/ GIMT_Encode4(239184), // Rule ID 880 //
84735 /* 239144 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84736 /* 239151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84737 /* 239155 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84738 /* 239159 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84739 /* 239166 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_X86fp_to_i64mem>> => (FP80_TO_INT64_IN_MEM:{ *:[i32] } addr:{ *:[iPTR] }:$dst, RFP80:{ *:[f80] }:$src)
84740 /* 239166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT64_IN_MEM),
84741 /* 239169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84742 /* 239173 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84743 /* 239175 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
84744 /* 239178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84745 /* 239182 */ GIR_RootConstrainSelectedInstOperands,
84746 /* 239183 */ // GIR_Coverage, 880,
84747 /* 239183 */ GIR_EraseRootFromParent_Done,
84748 /* 239184 */ // Label 5556: @239184
84749 /* 239184 */ GIM_Try, /*On fail goto*//*Label 5557*/ GIMT_Encode4(239232), // Rule ID 1112 //
84750 /* 239189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84751 /* 239192 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
84752 /* 239199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84753 /* 239203 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84754 /* 239207 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84755 /* 239214 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
84756 /* 239214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m80),
84757 /* 239217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84758 /* 239221 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84759 /* 239223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84760 /* 239226 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84761 /* 239230 */ GIR_RootConstrainSelectedInstOperands,
84762 /* 239231 */ // GIR_Coverage, 1112,
84763 /* 239231 */ GIR_EraseRootFromParent_Done,
84764 /* 239232 */ // Label 5557: @239232
84765 /* 239232 */ GIM_Try, /*On fail goto*//*Label 5558*/ GIMT_Encode4(239280), // Rule ID 1113 //
84766 /* 239237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84767 /* 239240 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
84768 /* 239247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84769 /* 239251 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84770 /* 239255 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84771 /* 239262 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
84772 /* 239262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m80),
84773 /* 239265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84774 /* 239269 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84775 /* 239271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84776 /* 239274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84777 /* 239278 */ GIR_RootConstrainSelectedInstOperands,
84778 /* 239279 */ // GIR_Coverage, 1113,
84779 /* 239279 */ GIR_EraseRootFromParent_Done,
84780 /* 239280 */ // Label 5558: @239280
84781 /* 239280 */ GIM_Try, /*On fail goto*//*Label 5559*/ GIMT_Encode4(239328), // Rule ID 1114 //
84782 /* 239285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
84783 /* 239288 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
84784 /* 239295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
84785 /* 239299 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
84786 /* 239303 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84787 /* 239310 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
84788 /* 239310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m80),
84789 /* 239313 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
84790 /* 239317 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
84791 /* 239319 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84792 /* 239322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84793 /* 239326 */ GIR_RootConstrainSelectedInstOperands,
84794 /* 239327 */ // GIR_Coverage, 1114,
84795 /* 239327 */ GIR_EraseRootFromParent_Done,
84796 /* 239328 */ // Label 5559: @239328
84797 /* 239328 */ GIM_Reject,
84798 /* 239329 */ // Label 5541: @239329
84799 /* 239329 */ GIM_Reject,
84800 /* 239330 */ // Label 80: @239330
84801 /* 239330 */ GIM_Try, /*On fail goto*//*Label 5560*/ GIMT_Encode4(239365), // Rule ID 1131 //
84802 /* 239335 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
84803 /* 239339 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84804 /* 239346 */ // (X86fp_cwd_set16 addr:{ *:[iPTR] }:$dst) => (FLDCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
84805 /* 239346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FLDCW16m),
84806 /* 239349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84807 /* 239353 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84808 /* 239356 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
84809 /* 239359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84810 /* 239363 */ GIR_RootConstrainSelectedInstOperands,
84811 /* 239364 */ // GIR_Coverage, 1131,
84812 /* 239364 */ GIR_EraseRootFromParent_Done,
84813 /* 239365 */ // Label 5560: @239365
84814 /* 239365 */ GIM_Reject,
84815 /* 239366 */ // Label 81: @239366
84816 /* 239366 */ GIM_Try, /*On fail goto*//*Label 5561*/ GIMT_Encode4(239398), // Rule ID 1130 //
84817 /* 239371 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
84818 /* 239375 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
84819 /* 239382 */ // (X86fp_cwd_get16 addr:{ *:[iPTR] }:$dst) => (FNSTCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
84820 /* 239382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FNSTCW16m),
84821 /* 239385 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
84822 /* 239389 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
84823 /* 239392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
84824 /* 239396 */ GIR_RootConstrainSelectedInstOperands,
84825 /* 239397 */ // GIR_Coverage, 1130,
84826 /* 239397 */ GIR_EraseRootFromParent_Done,
84827 /* 239398 */ // Label 5561: @239398
84828 /* 239398 */ GIM_Reject,
84829 /* 239399 */ // Label 82: @239399
84830 /* 239399 */ GIM_Reject,
84831 /* 239400 */ }; // Size: 239400 bytes
84832 return MatchTable0;
84833}
84834#undef GIMT_Encode2
84835#undef GIMT_Encode4
84836#undef GIMT_Encode8
84837
84838#endif // ifdef GET_GLOBALISEL_IMPL
84839
84840#ifdef GET_GLOBALISEL_PREDICATES_DECL
84841PredicateBitset AvailableModuleFeatures;
84842mutable PredicateBitset AvailableFunctionFeatures;
84843PredicateBitset getAvailableFeatures() const {
84844 return AvailableModuleFeatures | AvailableFunctionFeatures;
84845}
84846PredicateBitset
84847computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const;
84848PredicateBitset
84849computeAvailableFunctionFeatures(const X86Subtarget *Subtarget,
84850 const MachineFunction *MF) const;
84851void setupGeneratedPerFunctionState(MachineFunction &MF) override;
84852#endif // ifdef GET_GLOBALISEL_PREDICATES_DECL
84853#ifdef GET_GLOBALISEL_PREDICATES_INIT
84854AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
84855AvailableFunctionFeatures()
84856#endif // ifdef GET_GLOBALISEL_PREDICATES_INIT
84857